DAPPCON 2025: Zeal Deconstructed: How to Make a Safe Feel Deconstructed - Hannes

DappCon 2025 · June 2025 · 20:13

Hannes deconstructs how the Zeal wallet makes Safe, the smart contract multisig standard, feel like a seamless part of using a wallet rather than a separate tool. Speaking at DappCon 2025, he addresses the UX challenge of embedding smart account infrastructure like Safe inside an everyday wallet experience. The talk treats smart account design as a product problem as much as a technical one for Ethereum wallets.

Speakers

Topics

From DappCon 2025, hosted by Dappcon Berlin.

Transcript

Hey everyone. Hey son. My name is Hanes and I'm one of the builders of Zeal. Uh first off, how many here have used Zeal? Can I get a show of hands? Oh, nice. Okay. Well, maybe I can recruit a couple of more faces today. Not all the hands are off yet. I'm one of the builders of Zeal. Uh most of the Zeal team are former revoluters. Um Oh, not yet. Um we spent years reinventing the front end of banking helping shift the industry from high street offices to mobile app but we realized that the user experience um had changed but the back end hadn't really and fundamentally rebelled was still a normal bank built the traditional infrastructure. So with zil we saw the opportunity to change both the front end as well as the back

end but most importantly to do it while protecting people's fundamental freedom to transact. So, that's what I'm here to talk about today. How we're building uh Zeal on top of battle tested safe contracts. Nice to be after Lucas on that one. Um and um and solving the problems for our target customer, which is the daily earning spender. Uh but to prove that this model delivers more value directly to you, we have a special offer for everyone in this room. Um which is free money, but you won't get it now. You'll get it at the end of the presentation. Uh so stick around and follow through. Uh, and this is to prove that the core to Zil's mission, which is to remove middlemen, we can pass more value back to the users. So instead of

paying for Google and Facebook ads, I'd rather pay you to use Zeal directly instead of paying Google. Um, so let's dive into how we make this possible. For those of you who haven't tried Zil yet and what it is, at its heart, Zeal is a smart wallet that acts as an orchestrator for a suite of powerful financial services. We're not trying to reinvent everything. We're reintegrating the best-in-class services into a single seamless experience. So, we're building Zeal for these earning spenders. Someone who wants their money to be earning yield when idle, but still be available instantly when they want to use it. It all starts with a smart wallet built on safe and secured pass keys, which means your wallet's protected by biometrics in your phone, not a password or a seed

face that you can lose. And we integrate directly with protocols like AB and Sky and allows you to earn passive yield on your assets. And through our integration with Nosis Pay, which maybe some of you know us for, you can also use those assets in the real world very easily via via crypto credit card, crypto debit card, and where you can see the transactions with your card. This is me buying coffee yesterday side by side while buying tokens, tokenized S&P 500. So you have your onchain and your real world actions side by side. And also with free bank transfers, we have partners like one and unblock that allows you to move money uh on off easily.

So by orchestrating these services we create a simple and powerful experience. Um but this obviously raised uh a key question how do we ensure that it's all secure and we decided to not roll our own but to build on top of safe smart smart contract. So we're building on top of the the standard vanilla safe 1.4.1 contracts the same battle tested contracts that have been securing billions of dollars in assets for years. And by using this solid foundation um we are descoping that as part of our focus so we can build and and constellation of other services around that. Um in terms of I'm implementing this when we integrated pass keys which I'll talk a bit more about. We've done that with a validator that checks your biometric

signature not as not as an external module but as a signer on the wallet and this is a security decision that allows us to not alter the core logic of the safe contracts and maintain the security but simply adding a new secure key to the front door. So by building on this trusted foundation, we minimize smart contract risk. But as we're solving this problem, we then introduce another question which is how do you secure a safe typically with private keys and seed phrases. But we have a different approach to that. So probably all of you or many of you have had anxiety of figuring out what to do with a 12word seed phrase or more or private key which is source of frustration for people in industry but even more one of the

biggest barriers for adoption for people outside the industry. So our solution is to replace them entirely with pass keys the secure biometric based standard that's built into your phone among other devices. U but this creates a fundamental technical challenge because past keys they used the cryptographic curve called SCP 256R1 uh but Ethereum was built on to understand a different type of curve which is SCP 256 K1 and so they speak different mathematical language now the common solution here is to use a u use a centralized server to translate the signature u but that creates a centralized dependency so we said no let's not do that let's focus on we're here for decentralization so in in order to avoid this centralized point of failure we decided to solve this problem

onchain. So we built a pasy validation contract which is essentially an onchain verifier for this curve. Uh and this contract teaches the blockchain how to understand pasy signatures. So your biometric signature is verified directly on chain with no central dependency making it more secure decentralized like network itself. So this helps us use the smart contracts um without worrying about the private keys that otherwise would be continue to be the big problem. But there's another issue then how do we ensure that we have the same address across all networks. So um how do we solve this address fragmentation? We do this by deploying the wallet uh deterministically and we do this with uh a single bundle transaction when you use your wallet the

first time. Uh in one operation we construct the entire AR account architecture um from ground up. We deploy this personal pass key validator contract that I mentioned uh which is a contract which basically is your onchain identity. Um it's built to just verify signatures from your specific pass key nothing else. We use that address um on the granular validator as the uniques create to salt to then deploy the safe smart wallet which makes us have this deterministic address creation on all the on all the chains where you use this uh this account. And finally um we configure this as a uh multisig from the very beginning where we in addition to the pass key validator you also have a secondary uh local private key which is um created one per device that you

install your wallet on. So the pass key valid content basically becomes your high security root owner controlled by biometrics and then these locally stored private keys allows you to act with the speed of a of a traditional private key. Um but uh but still doing it within the context of a of a smart wallet. Uh pass key signatures are generally more expensive to validate on chain. Uh so that's why the having a local private key as part of the multisig setup allows you to operate it faster and cheaper. So this kind of architecture of both gives us the the best of both worlds.

So then you might ask, okay, if Zeal disappears tomorrow, what happens to my assets? Well, um we um um well, your funds are safe. Nothing happens because Zeal, we think of ourselves as kind of a convenience layer on top of these different services. We're not a custodian. We don't have access to your keys or your assets. Um your your wallet is the standard safe, so you have full control. You can go to app.safe.global interface. Um and you can connect to that with one of your signers and you can interact with a smart world there even if Zil is not around. Um so what happens if you lose a device?

Well this is where the the one out mod 6 setup uh becomes valid. Let's say you lose your phone which holds your session key or your local store private key. You get a new phone and you sign into your Apple or Google account with your pass key which is this root key. It syncs automatically your your wallet onto this new device. But also works the other way. So if you happen to lose access to your Apple or Google account with your with your pass key, then your device or an exported session key can be used to control your wallet still. So there are different ways that you can you can make this work depending on on what you have to have access to. The bottom line is that the wallet is yours. It's designed for the resiliency with multiple onchain recovery paths that don't rely on on

zeal and on us. Um, so that's the kind of fundamental um, uh, the fundamentals that this wallet is built on in terms of safe contracts and and pass keys. But let's talk about some of the features and the stuff that you can do on top of this. Um, so problem here, people have money that's idle, doesn't generate yield, and then they have money that they money that they spend, and they have money that they do earn yield with separated from that typical bank accounts, right? You have your current account and your savings account. Um, we have a solution that allows you to combine these two in a very smooth UX. We call the feature recharge, but basically it works through the these couple of steps. So, imagine it's a Friday night. Your your your wallet has a balance of 3,000 euro. You

have 2.8K in Ava earning 3% 3.6% APY and you have your your card, you have 200 euro. You you tap your noises pay card at the cashier and then four things happen in this flow at the same time. So, and for the for the user here, you just I pay and it works. But what happens then is the tokens get pulled from a card safe. The merchants get their money and then when the tokens get pulled from a card safe at the same time a cow swap order is created to move money from a in this case over to the card safe to ensure that you continue to have money accessible to spend with your card. This way you can maximize your your yield while still being able to continue spending by having these two integrated in very smooth flow.

So another problem um that we um have keep running into like a lot of different chains, different assets on different chains. Um if you ask a Revolute user, you know, is your account on Amazon WS AWS or or G Google Cloud Platform or Max the Azour, they'll just look at you with a weird face, right? They don't know and they shouldn't have to care. They also shouldn't have to care the difference between Optimism Arbitum, Polygon, no chain or whatever. they just want to be able to use their assets when they want to do something, right? So, our solution is to move away from telling the system how to do something and instead looking for the intents, right? So, instead of of getting users to bridge assets over first and then swapping tokens to do it, say I just want to deposit 50 into my no

pay card, then the user should be able to do that with assets from different networks and in one in one click in one go. Um, and so this is this is what you can do now. you can deposit into your card into AB or Sky from a lot of different networks with a lot of different assets. Um, it's funny even though we have this feature, a lot of people still are in the old world of I have to bridge the asset over and then do the swap and then I can deposit and then we like no you can actually do this with one transaction. They're like oh okay. Um, but that's not what normies when people come in who aren't encrypted already that's not how they think. They don't think I'm going to bridge between different chains, right? They just want to put the money into the card and and

that's the type of UX that we're building for. So we work with um with intent platforms like swaps.io KO integrated also with with bungee for some of the building stuff. Um there's all kind of tightly coupled inside the the products. You can you can do things with with less friction. Um but for all this to work flawlessly um then the the the underlying transaction infrastructure has to work solidly. So let's talk a bit about that and some of the problems there. Transactions are complex. So gas if you have onboarded money in crypto right gas what's that? uh we subsidize all transactions on those chains. So you really don't have to think about it. Um if you are on other networks because this is a smart wallet, right? This is a safe account. Uh you can pay for gas

with a bunch of other tokens, all the major stable coins for example, and a bunch of other tokens as well. So if you have any asset in your wallet, you can generally make that transaction. Um so you don't really have to think that much about gas. Um many confirmations, but when you're a smart wallet, you can bundle those, right? So you have fewer things you need to read through and confirm and you can make it much more simpler for a user. Um we have played around with different u um relay we've worked with different relayer infrastructure there's still a lot of fragmentation in 4337 right no consistent approach there we hope there will be a public fee market to provide a better UX friend users um right now every provider has its own type of approach right so it's not that standardized even though there's a

standard behind it uh and we still see uh errors with RPCs and outages um with well if not all providers um that aren't comparable what we wouldn't expect from a web two environment, right? Where we target like less than 10 basis point of of of errors. So there's still room to move forward to to kill the error ratios across the board, not just us but generally in the industry I think. So the okay let's say we have these transactions working um but u fees right people are very fees sensitive not if they're going to do 100x on a memecoin right if you're going to make 100x you're fine to pay 3%

fees to on-ramp and and off-ramp because you rich anyway right but if you're looking at daily finance and you're spending 3% to on-ramp to earn 3% in a year that immediately defeats the purpose So if you want to build a daily finance solution, which is what we're building with Zeal, you need to make sure that you can move money in and out of the account as easily and as cheaply as a normal bank transfer. Um, so we have free on and off ramping with with Monerium and Unblock inside Zal to make this money be able to flow uh easily and smoothly.

So let's say we have a we have a working product with free and reliable transactions. We get then get a flood of new users. Next problem arises um how do we find the signal in what can be the noise? U we've had our fair share of airdrop hunters mass installs mass churn low long-term attention and it's easy to drown in in that noise and not find the signal. We're building for earning spenders. So we're building for people who who use their wallet in their in their daily life and still want to earn money. Um and these users have much higher attention and they also give us feedback that's extremely valuable towards our mission. So this is our our target customer with Zeal.

Um so we're now attracting and getting more and more earning spenders on board um that are looking for reliable daily finance solutions, not just speculative stuff. Uh and working hard to to build trust and engagement with these users and listen a lot to them. If you have zeal, there's a little chat button up in the top right corner on most screens. If you click that, then I get notification and I'm I'm your that's chat with me. Do that via that button. And I love to chat with you. So, if you have anything you're wondering about or any requests or whatever, please talk to me. I I love doing notifications at 2 a.m. and talking. I that's not a joke. I I really do. So, give that feedback loop so we can keep on building a better product for you. Um and and your daily finance

use cases. Um so, then of course we had this product featured on real world use cases and real world people uh and using your crypto. um when you touch the real world and and and real finance then compliance becomes a big question um how do you handle that and so zeal we are uh we're a pure play software provider right so we don't store any personal enter information we don't even know the names of our users unless you tell me in the chat then I will know it but we don't store names we don't store IP addresses or or those things right so we're we're like a just a wallet but made out of bytes and bits instead of leather um and we work closely because this is very important because we enable our users to

connect with licensed financial use cases, work very closely with partners who hold these various licenses that handle the various uh the compliance questions. Um and we're connecting the users with those partners for those financial use cases, right? But our focus is to be a self-custodial wallet, a piece of software that you can use as a as an interface with many different both regulated financial services as well as decentralized finance services. So the road ahead today we're launching or uh a special activation program. We actually started rolling it out a couple of days ago, but today we're launching a a turbo version for you guys. Um and next up after that is a referral program to empower zealots to recruit more

zealots. And then a very focus for us on on real world utility to increase utility on chain assets and then geographic expansion and bringing zeal and their services to more markets. Um the the future billing is one where you can earn and while you spend uh and I want you to join us. If you don't have Zeal already, please take out your phones and scan the QR code. It will let you download Zeal with a special activation campaign code enabled. We have a special offer for everyone here. The first 100 people who register with this link and spend €50 with their card will receive a $40 euro reward. Um even if you're not in the first 100, you will still get a reward, but it'll be five instead. So first come, first serve.

Um, and this will allow you to experience the combination of your card together with earning. So, you'll get reward into a or sky or rap stick e and you can then spend it with your card. So, you can get this this flow of money where you can both earn and spend at the same time. Uh, thank you for your time and attention. We're super excited to break down the barriers between the onchain and off-chain world. Make this thing just be finance world where things work. Um, welcome to Zeal. [Applause] That was great. So, we've also got time for one question this time.

Yeah, thank you very much for the nice wallet. I use it mainly for for the Knosus pay card and all the other nice features I don't use because when I'm on mobile I don't have a sheet where to tren where to write down all my transactions that must be uh tax relevant and that's just convenience for me that I do just other transactions only on a PC and not on the mobile wallet although I would like to do but not if uh if there's no documentation which I might keep on with this information and also I would like to know is it possible to use a um private RPC with me wallet? Can you change that in the app? Um so a couple things there.

First uh yeah that's great feedback. Thank you so much for for letting us know that. Um we have heard that from some other people as well that they want to have uh a more detailed account statement which is a pretty standard feature from most uh web two banks right so we'll build that um especially comes around a lot of requests around tax season um when when that question comes up we started by building your cumulative earnings so you can see that now how much you've earned so far in your earning accounts um but we'll build a more more dedicated account statement feature where you can see it and you can reconcile with your with wherever you are uh keeping track of your finances so um so that's coming we're not building it right now but we hear you. We will build it. Thank you for the feedback. Um

the uh what's your second question? RPC RPC custom RPC. So yeah, we you actually can use that in in on a desktop. So Zeal is a mobile app but also a browser extension and in the browser extension work version you can add in your custom RPC doesn't work with smart wallet. So I talked a lot before about uh building built on safe contracts, but you can import your private key, your seed phrase, uh your hard wallet, you connect your treasure, your ledger. So you can use all your normal type of things and and if you do that on the PC, you can use customer PCs. Um uh not not on mobile.

Yeah. Um yeah, we we we've we have that on desktop. uh we we if it's an event for it, yeah, we'll we'll we'll build it. Um so, thank you for the feedback and we'll we might add that to to mobile. It's difficult with the smart wallet. Do you use a smart wallet by the way or no private key? Do you know if you use a smart wallet? Okay. Okay. All right. I'll see you in the chat.