Account Abstraction and the Future of Wallet Experiences

ProtoLayers Talks · December 2024 · 25:45

Francesco Andreoli of Consensys explores how account abstraction is changing wallet experiences and paving the way for seamless, user-centric interactions in Web3. The talk looks at what smart accounts mean for onboarding, transaction flows and recovery, and why wallets are moving away from a single externally owned key.

Speakers

Topics

From ProtoLayers Talks, hosted by ProtoLayers.

Transcript

today we'll cover everything from all the Innovation right in front of us and also you know decentralized architecture so all of that are very interesting so thank you very much for being here as well as our sponsor uh for the first speaker um we have Francisco Andreoli from the consensus we introduce us for meta math snaps um showing how we transform wet experiences features like multiactor authentication and non eterium protocol support so let's give more welcome to Francisco aw aw awesome yeah speaking with the mic you guys can hear me but uh is it awesome okay perfect awesome thank you guys uh yeah I cannot move that much

because the mic is here so I just stay here and speak but uh how are you how is everyone like you still alive or everything is starting right so let's let's get it started a bit I don't know like I did I'm doing a lot of like you know talks in general around snaps uh you probably heard a lot of like for 37 kind of General talk but this is a little bit something fresh that uh um there is one specific category called account management snaps that I really like and uh we kind of combining everything so I would like kind of talk a little bit about about this for anybody doesn't know me this is me at it dver wearing this uh fancy like costume but uh yeah it was fun uh and uh yeah for for quite a a long time I'm advocating for you know devil and

developer advocacy program and uh yeah and uh if anybody want to play like you know stuff like chess want to try to kite surf I'm always learning new things so always to kind of like chime in but apart of that I'm leaning bunch of like um developer activation not just on the metam side but also like on the Linea side and uh I'm definitely excited around snaps and all our let's say developer tooling uh um portfolio that is basically like today the biggest one are metamask DEC if you want to integrate specific spe especially for like games or for specific like use case and then delegation toolkit is one of those so if you guys are working with

let's say use case that you want to dedicate delegate specific action delegation to is something that we're working on so also like feel free to come in and I see like some Partners so already like doing that so that's great and uh and uh yeah and snaps is the third main category that been advocating for quite a long time the cool thing is that now more than ever people are building s single dedicated uh snap for specific use case and there are like a lot I can I can talk a little bit more about that so this is like kind of like a big thank you because we're recording I want to shout out also like my colleague Alex Jupiter because I literally like uh told this kind of line of thinking and uh and uh so we kind of you will see what uh what what I will

talk a about so everybody kind of like know this this is kind of like uh it's the status quo but is also like the history we started with this kind of like U uh SRP and kind of like was always like the idea what are we doing next what how we can make you know the the UI or this user experience much stronger and More in interchain kind of like usable right so between different accounts between uh uh different kind of target audience and uh there are different ways to describe that but this is how kind of like it started and uh and U this is kind of like the way that we see things going but basically like uh today you have your SRP experience specific on that and uh thanks to snaps

this kind of like extension addson that uh that extension provide today uh we can go and we can kind of like build a much more extensible uh user experience that is based on specific like U uh Journeys right so I I don't I don't know how many of you like think that you know SRP will will be there in the future I'm a big believer that you know we will delegate more actions especially for light accounts and I think we also need to have not just secure way but also like visible and transparence way we can delegate this things so how we can do that and you can actually like create this environment for everything uh is through a specific uh category of snaps called account account management snap okay um a little bit like I I just

uh introduc a little bit what are snaps how many developers uh do we have in the room so I can actually like find you okay cool um I have like three or four kind of like a live demo session but I'm not sure like we we will have time it was like a 1 hour Workshop shop yesterday but uh I think I just want to give you also like an idea what what it is mean also like account management in the snap scenario but uh Snaps are nothing else as kind of like add-ons for for the extension that we have today and they're kind of like single independent app that are automatically uh um uh like coordinating and uh uh creating actions for this extension specifically and the cool thing is that you can literally like uh install them as uh two two

clicks right you just go on your snap kind of like wh/ directory you choose like which kind of like use case you want to install depending on on whatever your either building or using and uh and uh oh thanks for for increasing that uh there are different kind of like category that we were speaking about obviously like today we're going more on on the account management snap but uh I don't know like if you use for example the Solana uh snap or like the starw now basically like with two clicks you basically had an on evm compatibility to metamask and a lot of people did the Sol snap like six months ago because they wanted to be eligible for more air drops but obviously they're different like use case so everything that is known evm compatible and there is even the BTC

snap meaning you can do BTC native transaction adding like the the BTC snap on your Essen is actually quite powerful but there are also like different like use case think about for for gamers you have some snaps doing that transaction automatic signs and uh and there are different ways also like for for privacy I really like the did one so is leveraging verax for example One Snap and basically it's building automatic public attestation uh on top of like your transaction that actually quite quite cool and for uh for gaming uh there is also like some on on the machine notification um that that basically adding this snap is automatically

triggering some specific event and notifying you of what what is happening so today there are like 50 officials now being build uh but there are like I don't know how many like for the past like four years people have been building snap using flask is the canary version of of of metamask so everything that is happening on the developer side you can also like developer environment specific you can use this uh it's basically the uh Pink Fox and uh and uh yeah so we are advocating a lot during Hons too the cool thing is that so the extension today um I mean is working with specific like wallet API there is a full list but if you also like want to interact

with your Tex stack with specific external API this is basically like the idea also behinds now because every snap is kind of like an independent app and can work with any uh any API and interact with any API out there and it's kind of like a container containerized action trigger um yeah that's basically what I just I just say right so it's fully isolated and the cool thing is that you really see and it's fully transparen in terms of like actions and and uh specific like transaction this is basic basically what is happening with the wallet guard snap for example the moment that you're installing the snap you really uh you're seeing also like how it's interacted and also like you can see not just you know source code

specific but also like where the snap is hosted and the specific like uh outdoor information and also like the the accesses here for example you can even see like you know access the internet so uh important also to understand that will answer a lot of question that people are having all the time is that there is no way that extension Is AO triggering some specific actions uh because the snaps is injecting Z file so that's actually totally like untrue so all the permission that snap is asking to the extension are clarified here and uh and they're they're super and and any time you can also revoke access of the snap so in in the setting you have specific like Snap setting and you can also revoke access if if you if you

don't care about the snap anymore uh so so like three main things Al like to kind of like mention so it's it's a full self custodial so meaning like when you have your snap is kind of like activated and you can basically do whatever you want for example if you have your BTC snap installed you can actually do like onchain um BTC transaction specific without installing this snap every time um they are basically like life in your wallet and also like important as I mentioned before you can install dis install revoke access give access uh all the time while you're like running specific use case I will not talk a little bit about the history but basically like everything started because uh you know like the the question was how we can get

non evm compatible um support for uh for metamask that was at cosmocon I think like three three years ago or something and that's kind of like how everything started and then he kind of like extended in other like use case like privacy use case the ID use case and uh and account management is one big part because people want to see light wallet want to see delegation of specific like options and um and uh and yeah so um I will not like demo I have some actually like some uh demos that I can show later but if today you're going into the uh the directory in the account management snap you have three main snaps one is silent chart I don't know if you guys

are working already or used before either silent shart safeone or capsule capsule is probably the biggest NPC wallet uh out there out of the those three um sub snap but basically you can interact doing kind of like a count recovery uh but is on kind of like their Tex stock and the cool thing is that those guys fully transparently building a snap also allowing uh users on the exential to install for example the capsule snap and automatically create a light NPC wallet that has fully a recovery for example through mobile capsule is also working on on mobile recovery and you're literally leveraging uh other text stack in in for for the benefit of the specific

extension um how kind of like everything's work in the background just to give you like a little bit an idea so on the left you see when you're creating a snap so you have your users uh Your da is basically like your your uh you're invoking the daap that automatically is connecting to your extension and uh this snap is uh registering the account through a new API they're not just new we launch this during EC they're basically called keying API and Al like if you guys are hacking or they will have be hacking like we also like having some some bounties around hearings but basically the snap is evoking those API is creating the account the cool thing is that on the right side you will see when is this the snap is installed what is basically happening right so the D basically every time that you are

submitting a request is directly speaking and interacting with the extension only and in the background this is always what will happen that the snap is uh both submitting the request and responding directly back to the extension through the KY API so it's kind of like a fully auto siloed request method meaning like the users is not interacting with this snap anymore outside installing it at the beginning um I I I mean I have a bunch of like Tour on the dogs but the cool thing is that uh we have a costume evm like account that you can play with while you're doing an account management uh uh uh scenario and also like we have also like a template snap for you you to

build with so um we saw we spoke actually with someone before that build like a template templatized simple hearing um snap but it's nothing else as a uh template snap that you can actually like take and for it from here um and uh build and leveraging with their with their technology okay there are different like kind of like allow list criterias uh but obviously those are the main one right it's fully self custodial you can actually like uh uh I mean go through an audit that's that's later but at the beginning you're just sying with our uh with our team and automatically you will uh you will push like a first version there will be some iteration and um and uh and yeah it's very tricky like when

you're speaking about private Key Management especially for the account management snap because we really like want to be sure that we are pushing things on the allow list that uh uh that are stronghold like uh for uh for for users uh okay and one thing also like you know flask does not enforce like allow list that that because basically that's all on the developer extension uh okay uh the reason I also love this talk and this is are kind of like a new slide is you know we're speaking about account action 437 7702 uh support but the cool thing is that account management snap already supporting 437 from the start what does it mean that basically you can Implement all the specific workflow that are uh

supported by these two eips and I give you like an example this is the um the B economy snap so basically it's an account management snap develop independently by by economy and uh I I love these guys by the way especially on the on the SDK side but basically what you can do here is creating new light accounts for other users they are not managing srps so it's actually super strong and I want to show you like a small um a small demo but basically what is happening here is that you're connecting Direct so now what we're doing is that we're installing the uh this snap on on Local Host you see I basically push connect you see all the B economy smart account request that are

doing so add don't control accounts the internet so manage data display dialoges window metamask so what you're doing here is that you're installing this snap you're looking what is happening always remember that there are different versions this is obviously like the I think three months ago like version but basically what is happening here is you are continuing and automatically what the by economy account struction snap is creating a light account in uh in the background and basically that's what you see is a snap account with specific like zero Zer Matic right now and uh uh you have basically a new account delegated from the main extension on on top of this uh on top of this Central today so

basically with this account you can sign transaction uh do specific things you can also like setting up specific recovery Cree you can also like do um Auto uh Auto uh payments for gas fee for example for those light accounts so it's actually very very cool because you could build like now a dep interacting with the light account that is fully um that is fully kind of like independent so the users will not pay for any uh gas fee out to sign specific like smart contract or uh can also like Define some specific Guardians for like social recovery for example these are some of the methods basically you can build sign message by

Guardian uh now for example we on boarding the guardian in uh through through the the light account uh you can set up uh set up recovery and deploy an account um and uh so there are different kind of like things you can approve token um pay Master that's what I basically mentioned that uh basically you pay the gas fee specific for the the light account and uh and then the other the other thing is uh um yeah that's basically an example so now we install this snap through flask that's basically the Curr version of metamask is developer uh version uh and we're now doing a swap with the light account in Unis swap so we're defining the account uh we are swapping directly and automatically

like the uh the gas fee being paid are coming from the main account and as you can see there was no specifically like signning but that's basically like the demo and uh I think it's super useful because this is something that uh um right now you can do with let's say specific like light wallets but in literally like two second we are able to create a second account that doesn't uh that doesn't require specific option because justnap is basically taking care it's some sort of kind of like a AI agent for for for the account specific so that's one example on the account uh manager M category um yeah so there is a full like 437 kind of like uh uh breakdown on uh

in the dog for the account management snap supporting 437 uh we have also like a cool template snap called 437 account snap that you can actually take forkit and and build on top of it so basically what you saw here on the bomy side this is something that they acing also like on the background uh I put links here and for anybody that want also the presentation I can I can send you over like to to send to your um uh Tech Team uh also like I put here some of the the dogs that we were working on they I think like they're the most useful uh this is kind of like an intro around uh you know beyond kind of like srps and where kind of account management uh flow is is going um we have here like a a

feature around costume medm accounts that you want to basically create an account management snap this like for nonm accounts and this is the nonm accounts kind of like snap that I show you on the 437 support um and then this is like just the the the snaps allow list categorized for the account management it's basically the screenshot that I show you before um so like let's um uh I think we are over but uh these are kind of like the key takeaways around uh like that you want to take home on this beautiful Sunday and thanks for like you know coming like for for for a talk and not and not being out but uh first main take is obviously like as I mention Snaps are fully siloed you

basically can interact with other and external API that are basically dealed by uh by by let's say other other technology um here this SS interesting like current API and metam ensal support all kind of fa type extension and evm uas what does it mean also like you can interact with uh not just external uh API but also like they support different uh uh standards there not just extension based and um and also like uh what we saw here is that account management snap are also like compatible with 437 API in flask uh and uh similar for what you see in the wallet API directory on on The Mamas docs we have now also like a a

fully like snaps dedicated docs uh page with all the API list that you can interact with and uh and yeah and then uh you know let's all together all the Sr kind of like a uh experience that we want to kind of like uh push more more user to especially on the light account kind of use case these are two kind of QR code one is for the users out there uh showing like you know what this allow list and this directory of snaps look like and what you can do so this is not just for account management snaps but it's also like for other snaps and uh and this is also like uh just to show that if you guys are are building I saw already some some people having like specific snaps being build we have a

full dedicated kind of like learning uh guides workshops and support for uh for dedicated individual contributor but also like startups they want to leverage their uh technology to build snaps on top of it uh yeah so thanks so much and uh yeah let me know if you guys have any questions thank you very much Fisco big Applause to you uh we still have one to two minutes so if there's anything you would like to add on for free or we can open the floor for the eay for shop one yeah no feel free to ask question I just also want to say like check it out I'm excited about stuff like metamask DEC that is allowing basically simless like onboarding directly without going through like specific uh uh specific like logins and it's also mobile

friendly meaning with mobile you can scan QR code and automatically doing the the DS login and the other things I'm very excited about is delegation toolkit we have our colleague here like Shaka is is building a lot of like cool stuff around ation tool kit and apps so basically this in allowing you to delegate and Trigger specific options and uh and delegation to is nothing else as an SDK you can actually take and uh uh and leverage for for either delegation account delegating account but also like triggering specific um options like uh you know could be gas fee uh payments everything that you want to do with light accounts right even account recovery or delegating account recovery to some other accounts so these kind of like two main things and if you

look at the developer let's say developer umbrella around metamask you have basically like snaps you have metamask SDK and then delegation tool kit so those are the three main things and obviously like there are different like products under the the same cons of any questions yes uh so last time I checked the snaps the user experience like the user interface uh it was not I was not able to edit the user experience like the UI part of the snaps is it now open for the experience as well yeah so now basically you probably saw the snaps when we had a lot of like um uh when me check here when we're still on flask right so basically like as a developer

installing this snap so there was no kind of like open was still in open Beta right so basically today if you're going on snaps. you literally see um all the snap being listed now they're like 50 50 plus and there are a mix of like category that I just show you right they are from like account management is one is a small one but super relevant that that's why like I want to this talk but also like the inability Snaps are something that is uh that are super interesting and now inability snap is nothing else there's no DVM snaps right so you have the cosmos um uh Team the most the biggest one are the Solana the Stark net uh but there are also like different one where you see non compatible but basically what you will do is for example for the Solana snap you just go

installs you can always see like in fully transparency where the code exhausted uh where the repo where the authors you can contact them directly and also like see in specific like um uh specific like um descriptions but basically what you're doing is you're opening and taking directly like uh taking directly like auction directly with uh with I already have installed and uh yeah I can show you also like what what you will see this is my flask so it's like uh remember your password but basically what you're seeing here is you are going in settings you have all the snaps now the movie that was the flask update but also like you see all the snaps being installed

and you can actually like see okay soana snap is uh has been like you know uh where is the origin what's the version what is doing and the current permissions and the cool thing is that what I was speaking about is that you can revoke permission you can disconnect the snap and right now for example on flask if I want to do specific like you know Solana transaction on on on mainnet I can just do it from the extension without going in in other environments um but the big difference now I just did it on flask but I mean this naap is uh there all the snaps that you see in the allow list they you're able to install them in the main extension so they're on uh they're directly on on on the main on the main extension and uh make sure

always check these are the main uh allow list now so it's and we launch this uh uh now it's almost like one year I think a little bit more than one year birthday because we laun that at permissionless so it's uh it's been growing quite quite well and uh we see very specific use case they're in tacting kind of like specific Journey For example you have always the I don't know the air dropper that just want to have the specific non evm compatible snap being styled to check other like airdrops you have like a person that care more about for example privacy and uh or even like security and this you should definitely check out like this the security snaps security snaps is super Especial like

there is the wallet guard snap the and really like also like there there couple of those the Brock snap but basically before your signing is's doing an extra checkin on the transaction that you're doing so if the contracts were interacting with malicious contract and is doing like cross check with directly with either the block fence or the wallet guard libraries so it's extra points before you're interacting but uh and it's kind of like you know flagging you out but a lot of people don't don't want this for example that's why kind of like is the beauty of different like use case scenario okay thank you very much yeah that's all right I will say that is um very interesting additional Point as well and thank you very much for your question so um once again Francisco from

consensus biger Applause to him yeah