DAPPCON 2024: Under the Hood Of Smart Metri: A Deep Dive Workshop - Daniel Hinders & Theo Villard

DappCon 2024 · May 2024 · 35:20

Daniel Hinders and Theo Villard lead a DappCon 2024 workshop titled Under the Hood Of Smart Metri. DappCon is an annual Berlin-based conference focused on Ethereum application development and tooling. The session carries that title's framing as a deep-dive workshop into Smart Metri's design, without detailing the specific mechanism involved.

Speakers

Topics

From DappCon 2024, hosted by Dappcon Berlin.

Transcript

hi everyone nice to see so many people here excited to be here uh my name is Daniel and I'm the product lead for our new wallet metri and this is Theo um take lead in in the metri team and uh today we will go through the wallet we're building metri and can I get it up there yes thank you uh we'll talk about the wallet we're building some of the technology we're basing it on the mission uh and uh yeah uh functionality that we have in the wallet and that we will Implement into

the wallet as well so uh let's kick it off and we'll hopefully give a little demo hopefully that works as expected it's always exciting to do live but uh I would want to start by talking about our mission uh because I think it's very fair to say that there are a lot of really good wallets out there uh it's very tough Market uh but what we think has been missing for some time in the crypto industry is to make it more accessible to to people and what we're trying to achieve with metri is really to give the Financial Freedom that self custody

enables to uh not just Crypton native but any person so really make the barrier of self- custody uh lower than what it is today uh and what we're aiming for is to give users a neobank like experience but with a onchain uh self- custody wallet where they can send receive manage their their ass asss um just as easy as they do with any Financial neobank or fintech app that they have today and we're doing this by using as much as possible of what already exists there so kind of build on top uh and

definitely Levering the nosis ecosystem as much as possible so the Metro Wallet is actually a safe wallet we deploy a safe account and that's the wallet but where we have built uh a new UI app on top of this but at its core a Metro Wallet is another safe account uh and we're also working with other no of products such noes pay circles and we'll integrate uh even more but trying to reuse ASM as possible uh to to enable uh this neobank like uh experience for a self- custo wallet and now now I'll hand over to to

Theo yeah just come here hi yeah I'm Theo so I'm part of the tech team uh building MRI um so to get a bit more technical we building metry as a progressive web app actually I was curious like how many people are using Progressive web up yeah so I think it started to exist like a few years ago and now it's getting more traction but so the idea is just to have a web app that we can install on your on the home screen of your phone and the good thing that it's not um so it's like a web app but it's going to show on your phone um uh as a full screen and it feels native actually a

friend of mine last week I was showing him the app he was like asking me how we went through the App Store review and I was like no no it's a it's a it's a web app yeah so that's why we doing Progressive web app um so it's like a app like expence but you don't go through the app stores it's uh I don't know if how many people here have tried to go through the App Store review when you're building crypto product but yeah that's um a good thing that we don't have to do and so just a web page and you can install on your on your Android phone or iPhone and yeah I guess it's also like the web we we love the web right the as a crypto people the permissionless version of the

web so we can we don't have to ask for permission to uh releas new updates and we can update also more often and also might interest some of you but we building this app as a zelt kit app so it's a quite lightweight um web app we didn't want we didn't choose like react or react native um this V kit is quite good for pwa I don't know if you used it before um and yeah so what's So Daniel mentioned we building on top of the safe um so we are part of the account abstraction uh bandwagon and um but for us what does it

mean like it means that we want to provide like web to like experience but for web three and there's a three aspects so the first one is around security safety so in web two if you lose your password as you know as it's very common uh you have the forgot for I forgot my password link uh and you can get a new one and with the save with account obstruction you can do that right because you have multiple owners uh of the save so you can replace one with a guardian or recovery system so that's one thing second one is a around fees um uh so yeah cave we on noise chain so at the moment the fees are quite uh

below 1 cent so we are sponsoring all transactions most of most of the transactions but yeah the the joke is that you know when you're using web2 product you're not paying for the AWS fees every time you posting on Instagram or whatever and so with also ACC substraction safe we can do that we have we relaying uh transactions and the last one is around batching so one transaction can actually include many transactions which is something very useful in crypto obviously because I don't know if you're swapping you want to approve the token uh allowance and then swap so yeah one batching transactions and we think that now the time actually is right I've been saying

that for five years because I was building wallets before but I think that now the time is right like to actually bring more people on chain and to have an experience that can be better than web to and one um why I can say that is because we using pasis for uh key management and we think that's that's actually way better than what's provided U um like what's was web2 but actually web two now is bringing pass keys but so what are pass Keys um it's a standard that's supported by Apple Google and it's giving uh users uh private and public keys so they can sign messages uh with the with the biometric so face ID

Touch ID and they don't need password anymore so you know we all we dislike passwords I think um we know why and so with pasy you don't need pass password anymore um which is which is really good and for us in crypto it means also that we don't need SE phrases anymore which is even better because sit phras is right um uh and for that we partnering with coms actually the comms team is owning this corner you can talk to them afterwards yeah friendly people um and so what they're doing for us like uh when a user is signing up on metry they get they use

they create a pass key the pass key is a public private key and com is going to deploy a safe with one owner and this owner is uh a contract that's able to verify signature from this Pass key because it would have been too easy if we could just have verify it directly but the Cur the El sorry the elliptic curve of the pasy of the pasis are different than the etherum one so we need some crypto Wizardry but um cryptography Wizardry but yeah it's it's working so basically I sign a message with my pass key I send it to the safe the safe is going to ask the the com contract if

it's valid signature and then the sign the transaction can be executed H and you see that uh during the demo if if that works um one thing you might ask is that like okay it's really really nice but um what happens if I lose my my device if I lose my pass key and that's for Daniel to answer that yeah uh yes thanks Theo uh so yeah um when it comes to yeah recovery uh there's multiple ways of making sure that you have access to your funds within metri but uh as the primary way of signing transaction in metri we

do use pass keys so that's the key that you can use natively in in the wallet um you have one pass key when you deploy and create a new wallet but on top of that you can also create additional pass keys on other devices or other password managers that you can add as an owner to the safe account that we deploy um and this could be a good way to yes like U lowering the risk of you losing your assets you can have one on your iPhone one on your uh Android device for example uh and they can typically be stored backed up uh in the cloud if you

on your device have that enabled so on keychain for Apple for example and then you can just log in from any of your Apple devices and you'll be able to sign with the same Pass key but the pass key is tied to that Apple ID so there's no way of someone like stealing your pass key and then able to use it like from some fishing or something like that uh so the pass keys in itself makes it quite quite easy for you to to to keep access to your wallet uh having them backed up and you can have them on multiple devices uh and they'll just be added on your safe as owners uh but we will in addition to this add the ability

for you to add any ethereum wallet uh as a guardian on your uh on your safe account and this will be very much just leveraging uh what's out there so again trying to reuse as much as possible from the noses ecosystem and yeah any uh open protocol that is out there uh for that matter but then you'll be able to add a any any wallet to your metri wallet uh that can do recovery uh of your uh wallet with a time delay so you would have to initiate a recovery period and when the time delay is over you can add new owners uh to the to the Metro Wallet and in that way uh get back access to to

your wallet uh and we will also use buil-in functionality from the wallet such as circles where you already building your trust network not sure of how many of you are familiar with circles and tried it before but with circles we're building this onchain social graphs graph so where you trust someone means that you can interact with them and you can pay circles peer-to-peer uh and we're also adding this uh trust element to metri so that you can do recovery uh of the contacts that you already trust as part of the cires network uh and this is uh yeah really to make sure that risk of you losing your

assets uh access to your wallet is as low uh as possible but also in the end it is a self- custody wallet there's no forgot my my password can you please reset my account um but uh this is uh a what I think is is a really good setup for uh for you to make sure that you keep uh get access uh to your assets and and your wallet with multiple options of backing it up uh both with pass and normal uh ethereum wallet addresses pleas uh yes and I did mention it before but circles is one of the core uh products and protocols that we have integrated uh

into metri so uh there are circles people around and also downstairs uh which knows the circles really well and Martin's going to do a speech on circles on Thursday I'm pretty sure it is uh so should definitely go and listen to that one it's very exciting and circles are doing some big big Updates this summer so be a lot of interesting uh exciting announcements there but with metri come back to to metry uh you can import an existing circus account if you have that so some of you might be uh familiar with nosis Garden which Martin also mentioned this morning uh and if you have a nosis garden account you can import that to

metry and what we do then is that we actually not deploying out a new safe account we're just taking an owner and adding it to the existing safe account that was deployed when you created your circus Garden account and that owner will now together with other externally uh owned account owner be yeah the two owners of your safe account and with the um this new owner you can now use your circus account within met so you can sign transactions you can add owners manage that and you can also trust and untrust uh circles contact to yeah build and manage your circles

Network next one uh and yes nosis pay uh again uh trying to use what's what's out there nosis uh in the nosis uh ecosystem uh and nois pay is a very very interesting product that's been getting quite a lot of attention uh lately uh and as you probably know it enables you to have a self custody account where you can spend with a Visa card without having a bank account in the background so you can spend at any Merchant that accepts Visa uh Visa cards uh using nosis Pay and the nosis card and uh with metri

uh you can get a mobile first kind of dashboard or at least interface uh of your nosis pay uh account uh so what what you do in metri is that you can toggle over to the nois pay Tab and from there you can connect your nois safe from nois pay uh connect that uh and then you will have that uh the balance of that account and all the transactions that you done uh on that account displayed within metri so for the first time you get like a mobile first UI of nois pay um so it's in this first version a quite lightweight

integration where you track that wallet uh but we will add more functionality there so you can have sign in with ethereum and where you can then read more uh uh more more data from noses pay when you authenticated uh so read like Merchant names and um do uh transaction from the nosis pay uh account uh but already now you can see the balance you can see transactions uh and you can top up your your nosis pay card uh from the metri wallet so it's uh yeah it's an easy way of of managing your nosis pay card already and we will add even even more functionality there

in in the future to make it a uh first uh uh an even yeah better integrated product into into metri and then uh what's what's next for for metri so there's a lot of great ideas out there and I've been talking to people downstairs having all kind of ideas of what to what to do uh next uh but we definitely have some uh uh some very good contenders where we will uh uh add functionality to metry and a first one that uh is pretty obvious to us is to add genome to metri because going back to to the first slide there is what

what we're trying to do is to really make this technology accessible to to everyone uh and make the user experience as smooth as possible more web tool like experiences and onchain addresses they are not the easiest to to read and to follow uh so adding a genome uh functionality where you can get your uhg um address um is definitely something that we want to add and we want to integrate it into the wallet so that you easily can register uh a g uh domain and you can also manage that within the wallet you can send to that address you can share it to to others so that is

something that we will make sure to have nicely integrated into the wallet uh on top of that we will also uh look at getting an easy way for people to access yields so we have an S die integration that we definitely want to do uh where a user should be able to uh convert their xti to S and if you're familiar with s that's a interest yielding token that is getting the yield from the uh the bridged asset from uh from ethereum so this is a it's a very good yield I'm not sure what the latest is but it's a

it's a very good yield way better than you get from most other uh trfi Saving Solutions uh and this is the yield that you can then get and then easily swap back uh back and forth uh with the the cow protocol uh as well that we want to integrate and there there are two ways of getting XA you can convert it or you can deposit osit it but um we we want to start by doing the deposit one but then also enable uh cow protocol uh because uh we do want to make it as easy as possible for people to move between different uh different tokens uh and cow protocol enables that with their SDK so

we can integrate that natively into into the wallet uh so that will make it easier for yeah to swap and also if you want to top up and fund your nosis pay account you can easily do that via cow swap where you can set the deposit uh address to either metri wallet or to the nosis pay account and you could then top up in EUR e or GBP if you have uh a GBP account uh and in that way make the interaction between nosis pay and metri uh even better and now I'm going to show maybe some of

you have already tried this but let's see if I can show what it looks like is that big enough can you see that uh let's do this so I'll do it all the way from the beginning so this is not running yeah maybe we jinxed

this yep it's gone uh is it slow Wi-Fi [Music] or okay yeah okay now this works at least yeah so this is just the the start screen uh where you on board uh you could either create a brand new wallet here you can import a circles Garden account if you have that and you have your 24 words uh you can import that or you can log in or import a already created metri account so I'll go ahead with this one and I'm

going to use my keychain Pass key so they're logging in with my Biometrics and here it is so this is my my metri wallet uh and uh as I mentioned before and the as well when we create a metri wallet we deploy a safe so this is actually the safe account that uh was deployed when my wallet was created uh standard QR code uh you can use to share it and these are the the

tokens we support uh and we try to keep it quite narrow focus on payments so it's most mostly stable coins but also yeah uh circles uh that you can uh manage within metri uh I'll remove this uh and here I can uh mint circles so circles is a Ubi where you get about 24 uh circles every day uh so now I have some circles that I haven't minted in a while uh I can then mint circles I sign again with the pass key and there's a

new transaction coming up here and uh the dashboard yeah it's pretty like straightforward uh dashboard uh but again where we're really trying to keep it as simple as possible uh and keeping it similar to like what you could expect to see from like a Neo Bank like revolute or something uh so this is um yeah how how we built it and the design that uh that we're using um and I was also going to show how you can okay I didn't have any oh yeah that's because I swapped

sorry uh yeah messed up um but uh as I said you can add your noses pay card so I'll do that uh you swap over to the noses pay uh tab you could either initiate to get a card if you don't have one or you can connect an existing one so now I just need to get my wallet address for my nosis save my save for the nosis pay I paste that one in there it validates because you can only add no this card saves here and I connect this one and there it

is so this is yeah a tracked wallet within metri so to speak so I haven't imported my seed phrase or or anything here uh but I can still see see my balance uh and uh some onchain information uh here uh not the card number CVC code or anything like that uh that requires a proper loging so that's functionality that will be added uh and here I can see all the transactions uh done on on the safe account and uh this is a card purchase uh I made earlier and uh we can identify card payments because

they're always done to one specific uh safe account uh so we know when it's a card payment and when it's a uh other type of transaction done on the on the safe account um and here I can also show the owners setup so if I go to wallet owners this is where I will'll see in yes here so for this account uh you can see that there are four owners so starting with this externally owned owner so this is actually a the original circles owner of

the account when I created this as part of circles Garden um then I have another Pass Key here that was created yeah 3rd of May it was done on Android device uh and then I have one pass key here that was created uh 7th of May it was done from Safari iOS and mobile uh and then one that was created yesterday yesterday and the one I'm uh I'm using using now uh also created on Safari iOS and from here I can uh yeah manage the owner so I can remove owners which requires an on onchain uh signature uh can also add new owner so

if I have another device I want to add as an owner I can scan this create a pass key uh and then send a request uh which can be picked up and signed from one of the existing owners uh then yes going back here so yeah that's uh pretty much what uh we wanted to go through uh with the metre and also the the demo uh so continue over here to answer hopefully some some questions and yeah maybe before we try that we

want to mention as well that we're hiring and growing the team so we're hiring for a senior web3 software engineer so if you know anyone please please let us know and uh again here's the the QR code if you want to try it out yourself and you haven't done so uh but uh yeah uh happy to answer any questions anyone might have hello yeah thank you for the for the presentation you mentioned that uh uh when you create the wallet you have the ability to import an existing circles account you have like a different experience if it's an existing cires account or if it's created from MRI is it the same yeah it it's very very similar like

from a user perspective if you import your nosis garden account you will have to provide a 24 seed phrase so that we can do the transaction or sign from the externally owned account uh so you need to provide uh the seed phrase but after that it's very similar you create a pass key uh on the device and then we deploy not a new safe account because that's already there but we deploy the new owner of the safe account uh and then from within metri afterwards you can sign transactions from or by using that pass key that was created during the the on boarding okay but in terms of

security Etc it's the same for both options you wouldn't recommend like for example I just created a circle Garden account this morning I don't have any friends at the moment so I'm wondering if I should like create a new one on matri or just keep using it yeah you should import the the one you have yeah cuz it's supposed to be your identity so yeah okay if you don't want to make Martin mad yeah okay makes sense thank you very much thanks for the uh presentation and the demo uh very nice obviously I love the uh pasy experience it's amazing but I have a technical question regarding the pasy elliptic curve stuff right so one

of the primary reasons a lot of Cur uh blockchains like ethereum blockchain did the 256 K1 curve was there was the hesitation of like some kind of NSA uh back door for the uh the standard p256 curve that Pas keys and stuff are using but now to make ux easy if we switch over to just using that curve do you think there is a security issue over here kind of want to give it back to there actually I actually don't yeah I know about this thing but uh I I have I don't like yeah I don't know what to answer to that but yeah it's like the entire web is based

on that so anyway yeah kind we have to accept it I guess that's why we moved away from we trying to move away from but okay anyway thank you thank you thank you for killing the [Laughter] vibe joking it's a good good Val Point Val Point yeah I do have one I have a cires garden account I just import right now and so the circles are still there CRC there thank you and uh but I saw that you have this mint new CRC button which

I don't have is there a admin privilege thing or uh I actually like twofold answer so you will see that button when you have uh kind of a day worth of circles to Mint so now for example if I go back into my wallet I won't see that button for another 23 hours and 50 minutes because we don't want people to like mint every every other minute uh but then I do know that cirle account the version one of circle accounts they can go uh stale or like they can freeze if you're not active uh and it could be that your account then is stale and will have to

be yeah brought back to life which isn't possible right now but it will be with the version two of circles which is uh coming out in uh yeah two months or something like that so your account is probably you can still use your your circles that you have but the mint functionality isn't there until we migrate to version two uh and the circles team can talk all about that and the new functionality that will be in there but it could be that your account is is stale and that's why you don't have the the mint button yeah just another easy question so I also just imported my circles

accounts and I have a manium account also but obviously that's a different safe is it is there a way to connect it now or is uh yeah so monum account is is separate uh have some monum guys here so they can so help you out no but monium account is is separate uh for monium you have more like a traditional like trfy account or an iban that's an onchain iban so you can send money to that one it will be minted to any address that you want uh right now there's no connectivity between metri and monium but we will definitely add that so very soon you

will be able to set your metri account as your metri or monium wallet so when you deposit money to your onch iban the money will be minted to your metri account so it will be just as smooth as like monum is today but with other wallets but directly into metri instead and integrated into the UI there any other questions did we cover it all uh I think we

covered it all uh but uh yeah thanks everyone for for listening and in coming and uh yeah we are downstairs there have a booth and uh uh we will be here uh the whole conference so just come by and say hi and uh yeah please try it out there's yeah we'll be hang around here and we have most of the the metri team here as well so if you have any questions or feedback or anything uh yeah we'll hang around and uh happy to answer any questions or yeah feedback so yeah thanks very much thank you