Signing on Behalf of Users Without Their Private Keys I Wyatt Barnes
ETHGlobal·Sun, Nov 9, 2025, 12:00 AM
Wyatt (Lit Protocol) presents Vincent, a non-custodial framework that lets apps sign on behalf of users without ever holding their private keys. It’s built on Lit’s decentralized key management network: user keys are Programmable Key Pairs (PKPs) sharded across Lit nodes and used via threshold signatures inside trusted execution environments (TEEs). Lit also provides threshold encryption and Lit Actions (JavaScript run inside TEEs) so you can combine programmable signing, secure decryption, and arbitrary Web2/Web3 logic. Users authenticate with something familiar (email, Google, Discord, passkeys, etc.); the auth is bound to their PKP, and signatures are produced by the network—not by the app. Vincent turns that capability into scoped delegation. Users grant a Vincent app specific Abilities (e.g., swap on Uniswap, deposit/withdraw on Morpho, bridge via deBridge) optionally constrained by user-defined Policies (daily spend caps, token allowlists, allocation limits). Delegation is recorded on-chain and can be revoked anytime; apps never see the private key. Each app/user pair gets an isolated agent wallet, so funds and permissions don’t bleed across apps. With this setup, anything that requires a signature can be safely automated—yield rotation, cross-chain rebalancing, scheduled tasks, agentic/A.I. workflows—triggered by on/off-chain events while the user is offline. 00:09 Intro, team, agenda 01:27 Lit Protocol overview: PKPs, TEEs, threshold crypto 03:30 Access control + encryption; Lit Actions (JS in TEEs) 05:44 Network stats & resources 06:33 What is Vincent? Non-custodial, scoped, revocable delegation 08:30 Use cases: yield optimization, cross-chain rebalancing, automation 10:33 Live demo: Vincent Yield (Morpho vault maximizer) 11:39 Consent flow: auth → grant Abilities → on-chain delegation 14:00 Agent wallet per app; deposit & activate strategy 15:36 Abilities & Policies (guardrails like spend limits/allowlists) 18:25 Abilities are JS, composable, can decrypt secrets, call SDKs 19:40 App architectures: — Cross-chain portfolio rebalancer (Uniswap/Jupiter + bridging) — Automated yield farming (Morpho/Lido/GMX) — Agentic Polymarket bettor 23:53 Resources: starter app (DCA), ability/policy kit, docs, Discord 25:40 Q&A: starter kit learning curve; pointers to videos, office hours _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 💻 ETHOnline 2025 This workshop is specifically for ETHOnline 2025, a 21-day hackathon held October 10 - 31, 2025, bringing together the most skilled web3 developers, designers and product builders from all around the globe for a weekend-long adventure to advance the Ethereum ecosystem! _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ✅ Follow Lit Protocol X: https://x.com/LitProtocol ✅ Follow ETHGlobal X: https://x.com/ETHGlobal Warpcast: https://warpcast.com/ethglobal Website: https://ethglobal.com YouTube: https://www.youtube.com/c/ETHGlobal _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Are you interested in Ethereum development and entrepreneurship?_ 👉 Sign up for the next ETHGlobal event: https://ethglobal.com/events 🎁 Get exclusive access and perks with ETHGlobal Plus! https://ethglobal.com/plus 📣 Want us to throw an event in your city? Tell us where! https://ethglobal.com/city
Transcript
[Music] Hey everybody, thank you for the intro, Pascal. Um, my colleague Andrew is here as well. Uh, he'll be helping throughout the presentation and in the Q&A. Uh, but yeah, I'm Wyatt. Um, like I said, Andrew is here.
We're from Lit Protocol. Uh, we're developers and like Devril. Uh we work specifically right now on the Vincent project which is what we're going to be covering today. Uh let me just start sharing my presentation. Perfect.
Okay. Uh so yes uh building secure autonomous delegation platforms is kind of what we're f focusing on today with our product Vincent. Um just to start off our agenda, we're going to be covering a little bit about what is lit just to get you the background since that's kind of the basis of what forms Vincent. Uh then we are going to get into Vincent and kind of like what uh it unlocks in terms of like capabilities. Um we're going to cover Vincent apps which is yeah just the applications that are built using the Vincent uh framework.
Uh Vincent abilities is what powers these apps. Uh, and then we're going to cover some like highle overview of a couple different app ideas just to kind of give you an understanding of like how you could like compose events and app using these abilities to be able to provide some sort of service. Uh, and then at the end uh I have a QR code with some resources um like documentation our Twitter and our YouTube and stuff like that. Uh, and then as well as we'll open it up for Q&A. Uh, so yeah to start off what is lip protocol?
uh high level definition is we're decentralized key management network. Uh and what that means is we offer programmable signing using decentralized keys. So we have something called PKPS uh which stands for programmable key pairs. Um and it's basically just private keys that are decentralized uh amongst a bunch of different lit nodes. And so down here we kind of have like a diagram of like what uh a lit node is composed of.
Uh so we have like the networking module. So it like talks to the other lit lit nodes. Uh everything exists inside of a TE a trusted execution environment and that's like sealed hard. It's a black box. We can't see what goes into it.
The node operators themselves can't see what's going on inside of that. Uh and so through that we can trust whatever's executing there is supposed to be. It can't be tampered with and everything. uh and each lit node has its own key share and it's the summation of at least twothirds of the signatures from each node's key share that forms the basis of these decentralized private keys. Um uh along with the key share we also offer threshold encryption and access control and so key uh and then it's again through 2/3 summation of all of the signatures of these key shares from each lit nodes that'll actually get you the decryption key for a specific uh set of content uh that you've encrypted with lit network.
And so when you encrypt information with lit uh you provide these access control conditions which basically uh define under what conditions this information can be decrypted and we take the hash of your access control as well as the data and that forms the identity of your encrypted information. And it's the signature of that um hash that identity hash uh that acts as the decryption key. And so once twothirds of the lit nodes have signed uh that hash, you get the decryption key to be able to decrypt that information. Um and like I said previously, uh we offer decentralized compute uh through these trusted execution environments. Uh and so we have something called lit actions.
Uh and these lit actions are basically just JavaScript scripts uh that run inside of the TE of the lit nodes. And so the idea being that uh you can kind of execute things like smart contracts. Uh but instead of smart contracts being limited to whatever blockchain they're deployed on, uh this is all written in JavaScript. And so you can make use of JavaScript SDKs and libraries. You can reach out to web 2 and web 3 APIs.
Uh you can kind of just do whatever. It's it's operating inside of a Dino execution environment. Um so your options are are kind of like limitless. Uh and all like I said these lit actions execute inside of a TE. And so the idea is you can bring in you can pair in the encryption to be able to like decrypt information only within a specific lit action under the uh specific conditions you defined by your access controls.
Then you can also hook up the PKPS to do programmable signing. So you can have like some sort of um PKP that is uh created using various different authentication methods from your user. And so that means Google ooth, discord oath, email, phone number, pass keys, uh even like custom authentication that you can write yourself. Uh you can give your users like basically any way to prove their identity. And then you associate that identity with its own PKP, its own programmable key pair.
And then uh the users provide their O material when they whenever they want to sign with these PKPS. And so this can be done in and outside of a lit action. And so these lit actions is kind of just like the glue uh between these PKPS and these encryption to offer like more uh I guess like app- like smart contract like um yeah applications. Uh so moving on uh we have here on this QR link uh this will come up later at the end with the resources but this links to our Dune dashboard. Uh and so this just kind of covers some of the stats for the lit network.
We have uh this top number over here is the assets under decentralized management. Uh and so this is assets that are secured by our PKPS across uh all EVM chains and Salana. Uh this is like the number of cumulative encryption operations that have happened on our network, the number of signatures, the number of um accounts, the number of wallets that have been created. This is our transaction volume. Uh, and then this is just broken down uh the assets under decentralized management of perch chain.
Uh, like I said, if you scan this QR code, uh, it'll take you to um, I forgot what it's called, a link tree of uh, a couple different resources and one of them is this AUD dune dashboard which you can click on. Uh, next up is what is Vincent? Um, so at a high level, it's a non-custodial framework that lets users delegate scope signing authority to Vincent apps. And so that means that Vincent apps can offer some sort of service. Uh, basically it's going to say like if you delegate me access uh to these Vincent abilities, which we'll get into in a second, uh I'll be able to perform this service for you on your behalf.
And when you delegate, you're doing that on chain. uh you're not handing over your private keys as a Vincent user. And so the Vincent delegation platform basically allows these Vincent apps to sign transactions on your behalf to be able to execute things on chain. Um without you having to be in the loop, without you having to click the button to say, "Yeah, I'm signing this." Uh you don't even have to be online.
All of this can be automated and it doesn't even have to be a human that is making these transactions uh on chain on your behalf. that could totally be an AI or some sort of agent um that's being offered by the the Vincent app service. And so the non-custodial part is that you never have to hand over the private key at any point in time. You can revoke delegation to these Vincent apps and the Vincent apps have there's nothing else that they can do with your account once you revoke that uh delegation on chain. It's not like they have your private key somewhere stored where they can like make transactions and rug you or whatnot.
Uh and then the scope signing is specifically that you Vincent apps have specific Vincent abilities. Uh and these abilities are what you are uh delegating execution on your behalf to the Vincent apps. So it's only these abilities the Vincent apps can execute uh on your behalf. Uh and again once you kind of like revoke the delegation on chain uh those Vincent apps are like no longer executable by the instant Vincent app on your behalf. Um and these Vincent apps can do things like yield optimization.
Uh we'll kind of like dive a little bit more into that later but uh that's across chain that's across protocols. It can just basically interact with like any protocol that the the Vincent app has like uh integrated. uh we do cross it could do crosschain token rebalancing. So it's the same thing if you want to have a specific allocation of your portfolio on on any EVM L2 or L1 or Salana or Bitcoin these Vincent apps uh can execute abilities that talk to each specific chain including like bridging protocols. Uh the Vincent apps are really great for automated and scheduled transactions.
Um and so that would kind of power these like token rebalancing and these yield optimization options. Uh and the really nice thing about this is kind of like here at the tagline, anything that requires a signature can be safely automated. Uh and so the idea is that these Vincent apps are running, you know, some sort of server/service uh that can operate and execute these abilities on your behalf on some sort of automated schedule uh or like based off of some sort of trigger whether that be from web 2 or web 3 or some sort of like sentiment analysis or anything like that. And there can be a completely human out of the loop operation of uh the execution of these events and abilities. So these this token rebalancing this yields optimization is all event driven.
It doesn't have to be someone on the computer looking at things and clicking a button. All this is happening behind the scenes and it can be safely automated because as mentioned before the Vincent apps can only execute the abilities that you give it access to. uh and I believe we'll dive a little bit into it in the next slide, but these Vincent abilities also have policies which are userdefined uh rules um guard rails that basically say how these Vincent apps can be defined or uh executed. Uh and then lastly, as I kind of mentioned, AIS and agents can interact with various D5 protocols using these Vincent abilities uh just to be able to power whatever service that the Vincent app is offering. Uh here we're actually going to go into a demo of Vincent Yield which is a Vincent app that we have built uh as the Vincent team.
Uh this app interacts it had it uses the Morpho ability to be able to interact with the Morpho vaults to basically find the highest yield vault and automatically uh deposit your funds into it. And so it's basically a yield maximizer specifically for morpho vaults. Um, and so, uh, this, uh, website is available at yield.havincent.ai.
It's also linked in that link tree QR code that I showed earlier and I will show later as well. So, don't worry about trying to figure out how to navigate here. Uh, that resource will be available to you. Um, so what we see here is this is the Vincent uh consent screen. So, this is what Vincent users will see when they navigate to your Vincent apps.
uh like yeah Vincent consent endpoint essentially. So this is them basically signing up to your Vincent app. Um and so you can see our title Vincent yield agent uh intelligently auto rotates your stable coins to get the top yield on Morpho. Um and so here we're just going to simply connect with Vincent. And these are the various different off methods.
And so what's happening is lit is going to generate a PKP for you under the hood. that program will keep pair. Uh, and one of these off methods is is how you're basically going to sign into your wallet. So, we're just simply going to put our email. Um, and then we're going to submit that email.
Uh, and then offscreen I'm going to get the authentication code when it comes in. And so, this just simply sent an email. uh with this login code just to verify that I actually own this email. Uh and then what that's going to do is either fetch an existing Vincent wallet, which I shouldn't have, uh and or create a new one, uh which it should have done in this case. And so after we've signed into Vincent uh and we've authenticated and we have our Vincent wallet for us, uh it's going to prompt us to grant permissions to this Vincent app, this Vincent yield app that we've created.
And so here it lists the various Vincent abilities that are required for this Vincent app to perform its service for us. So see here you can see uh that it's asking for the Morpho. And so this is the ability to be able to deposit, withdraw or redeem, redeem on our behalf for using Morpho vaults. And so we can obviously decline and then nothing happens. It's just kind of the end of the execution path.
The Vincent app can't do anything with our wallet. We've just declined complete access to it. Otherwise, we click grant permissions. And this is going to go through the consent flow of authorizing the Vincent app with its specific Vincibil, Vincent abilities on chain. Um, and just commit all that information on chain.
Um, and then give notify the app that it has permission to be able to execute on our behalf now. And so what we see now is just simply it's it's prompting us to deposit 50 USDC to get started with um our Vincent yield. Uh, and so we'll just copy this address and then once again offscreen I'm going to transfer uh the funds. Uh, and so I'm just simply transferring 50 USDC on base uh to the wallet that is displayed on screen. Uh, and that wallet that's displayed on screen is my uh, agent wallet specifically created for this Vincent app.
Uh, and so each Vincent app when a user signs up gets its own agent wallet minted for that user. Um, and so each agent wallet per app is like siloed. It's it's other Vincent apps can't uh access uh the funds from other agent wallets that were created for other Vincent apps. Uh and so we'll refresh here. We can see that it deposited the money and then we just simp simply activate the Yieldy.
Uh and so the Vincent yield agent is essentially going to start investing uh this 51 USDC into various morpho vaults uh whichever has the highest yield to kind of give us this 381 38.51 APY which if you open up is currently the highest morpho vault is offering 8 and a half% and then we're adding our own lit protocol points as like ana on top of that. Uh and so this is uh a Vincent app specifically this is a Vincent yield app which is available for any one of you guys to start using. Um as you can see we have a total deposits of about 500k USDC already invested in this app from various users. Um and yeah uh that's that's the uh Vincent app.
Uh so going back to this slide uh so I touched on it briefly but what is a Vincent app? Um okay. Yeah. Uh the it's essentially offering non-custodial services. Uh they can perform both on and off chain actions using these Vincent abilities.
And the idea is that all this is being done on behalf of Vincent users. We kind of already covered all of this, but uh they're composed of one or more Vincent abilities. So you can have several abilities uh to be able to perform the service. you can put everything into a single ability to be able to be a little bit more atomic. Um, it's just kind of like Lego blocks that build up the Vincent app.
Uh, and these Vincent abilities are uh optionally governed by user spec specified Vincent policies. And so what these policies are uh are essentially guard rails that the are integrated with the ability. So a good one is for the unis swap ability that we've created. You can have a policy that can set like the spinning limit, the daily spinning limit. And so it'll convert whenever the Vincent ability gets executed by a Vincent delegate.
So that's like the um the person authorized to execute the Vincent abilities on your behalf. Uh it'll convert whatever they're trying to swap into USD USD amount. Uh, and then it'll check with an onchain contract to say this this delegate is attempting to spend x amount of USD. Has this crossed over the limit that's been specified by the user? If it hasn't, it gives the green light and and the Vincent ability execution can continue.
If it does violate the policy that the user has set, it simply just blocks that transaction and the delegate is not allowed to execute that ability. And so these Vincent policies are an additional layer of security for the Vincent users to be able to say yes and uh yes I agree that you can execute this unis swap ability on behalf however under these specific policies uh under these specific like limits that I can set um these policies are uh like completely like they're they're programmed using lit actions as well the same as the abilities. So you can customize these to like whatever makes sense for for your application. Um, again, as mentioned previously, uh, each agent wallet uh is specific to a Vincent app. Uh, so they're kind of like siloed.
Uh, again, Vincent apps can't interact with agent wallets that remitted on behalf of users uh for other agent wallets. Uh, and then these uh apps can be automated or triggered using on or offchain events. Uh, and then going into the abilities, uh, they are the building blocks. Um they enable secure permission actions like swap, staking and crosschain transfers. Uh these abilities are using lit actions that are in JavaScript.
So you can interact with various JavaScript SDKs like the unis swap SDK for example um to be able to interact with the unis swap protocol without having to like you know create the transaction yourself and send an RPC request. You can you know use the nicities of uh various SDKs to build these uh abilities. um they all all are executed inside of the trusted execution environments inside of the lit nodes. So you can read private data from your own web 2 database. Um you can decrypt information to be able to decide whether or not this ability should be executed or whether this user has permissions to execute this ability to interact with some sort of like web two service or something.
Uh you can decrypt API keys. Um basically whatever whatever you need uh can probably be done inside of these lit actions. Uh and you get the benefit that because it's having inside of a TE the node operator and anybody else can't see what's happening inside of the the uh execution of that ability. Uh abilities are meant to be composable. Uh so they can be written as like very uh minimal like I'm just going to call unis swap or they can be uh a little bit more advanced and interact with several different D5 protocols all at once to try to find like the best price or the best quote or something.
Uh and lastly as mentioned before they uh support Vincent policies and so this allows the the visit user to define restrictions on how these abilities can be executed. Uh next we're going to go into just some kind of like high level architecture of various ideas for Vincent apps. Um for this idea of a crosschain portfolio rebalancer uh the idea is that this is the Vincent app. These gray squares are the abilities that would be used by this Vincent app and then the blue are like the potential policies that the Vincent users could enable for each one of these abilities. And so for a portfolio rebalancer, you know, that's like cross EVM uh in Salana, we'd want a unis swap ability and a Jupyter ability to be able to do the swaps, the token swaps, as well as a Dbridge ability to be able to transfer, you know, like USDC from an EVM chain to Salana if that's what we needed to be able to, you know, balance your portfolio.
And so these blue squares are the policies. And so for a unis swap ability, it would make sense to have like a daily spinning limit or for both of these because they're doing swaps on your behalf, it kind of makes sense that they'd have the same policies of a daily spinning limit, a token allow list. So like what specific tokens are you permitting this Vincent app to be able to swap? So you can kind of like allow list, you know, popular tokens or like the top 100, you know, tokens that are supported by unis swap, for example. Uh or like specifically deny, you know, various meme tokens that you just don't want to touch.
you think they're too volatile for whatever reason. Uh and then allocation percentage. This could be like a share policy that basically defines um the percentage uh that the that you want on each EVM chain or on the Salana chain. Uh and then each one of these abilities would be able to tap into that allocation percentage policy and be able to check if I make this swap right now does this violate the percentage allocation that I've been given for this specific L2 or for Salana for example. Uh and then similarly for the debridgeability uh a daily spinning limit or this would be more like a daily bridging limit as well as like the token allows list of what tokens can be bridged.
So you can restrict it to say like I only want USDC to be able to be bridged across so that way I don't lose too much uh during the bridging process. And so these uh are the lit actions uh that would be executed by the lit nodes uh whenever the app delegatees want to execute them on behalf of the Vincent user. And so this down here is just kind of representative of some off-chain service that the app is using to be able to power the logic of this app. And so this app service would be like a server that's you know fetching the balances moni monitoring the portfolio and triging actually executing the abilities whenever like you know the the price of one token starts to get high and you want to be able to sell some of that off and like transfer it to like Salana to kind of like do the rebalancing as well as like tracking the transaction statuses and handling retries. So if a swap fails, if a bridge fails, automatically being able to reconcile that and um continue providing the service.
Uh I am kind of running out of time. So I'm going to try to speedrun these. Another idea is automated yield farming. Uh so similarly, it's just a morpho ability across you know morpho vaults, lido ability for, you know, staking and GMX for like future trading. Uh the idea is that like the app would be able to look at all of these different protocols and figure out what's going to offer you the biggest uh you know return on your investment and it's the app service that's basically making that decision.
And so this is kind of like the core of what the Vincent app is offering is they have a straight uh strategy protocol that they're using to like determine which of this is going to give you the highest yield. They're fetching the balances. They're figuring out the reward rates, looking at TVL, uh, and then ultimately they're executing which of these abilities to be able to like move your funds around to maximize that yield farming. Uh, and then lastly, you know, Gentic Poly Market bet app. Um, that's basically just interacting with Poly Market and making bets on your behalf.
um app service is looking for you know signals on various like models that it's using looking at news feeds so various web two websites looking at the actual markets the pricing of tokens to kind of like inform that decision of whether or not I should place this bet on behalf of the user of course trying to maximize you know profit and minimize the loss. Um yeah uh so that kind of concludes the presentation. Uh this QR code if you scan it will bring you to our link tree. It's got uh I believe yeah I can click it. Okay.
So scanning that QR code will bring you here and I'll flash that QR code up one more time if we're concluding. Uh but we have our Vincent starter app template. So this kind of just gives you everything you need to be able to run a dollar cost averaging Vincent app. So it basically just invests in a coin on behalf of the user. the user just deposits to USDC and then we'll automatically invest um we'll automatically buy rack Bitcoin on some interval that the user sets.
Uh we have our ability ability and policy starter kit and so this will help you get started with making your own abilities. Uh we of course have the Vincent docs which kind of like dive deeper into each one of these concepts uh as well as some other resources. Our Vincent dashboard is is what I've showed you previously. This is where you can log in uh and either sign up to the Vincent Yield app or you can create your own app um and register which abilities connect to it and all of that jazz. Uh our documentation goes into how to create the app.
Uh so please look into that um if you have questions. And then lastly, we have like a lit protocol docs as well as that Dune dashboard that I showed previously. Up here we have our Discord. Um, please join this if you have any questions or reach out to us on the ETH global discord and our lit protocol channel. Uh, then we have our Twitter, our YouTube and our GitHub as well if you want to take a look at those.
Uh, and let me just flash that QR code one more time. This will bring you to our lit tree uh link tree. Uh, but yeah, that concludes the presentation. Uh, now would be the time for questions.
Amazing. So, everybody should be able to unmute yourself and ask questions. And there's also one big question in the chat that you might want to pick up first.
Yes, let me look. Uh we're making a health guardian for the a protocol such that users health factor is always good and we will be using pith network as an oracle service. We will be further extending projects for multiple D5 protocols and maybe some more uh features. My main question is that when we are using the Vincent starter app provided by lit, it's not really easy to work with as a beginner and feels overwhelming. Uh can you suggest us something how we can work further and integrate stuff like for example the a protocol?
Uh yeah so we have a YouTube video um should be on our docs. Vincenti I'm trying to get the link for you guys. Uh, sorry, I'm waiting for YouTube to load. Uh, okay. So, this link that I'm dropping in chat, uh, and yeah, thank you, Andrew.
Um, this kind of walks through the Vincent starter app uh and kind of explains uh like how how it works under the hood. Um, we are working to try to make our documentation better. Uh, but Phil, please reach out to us on our in the ETH global discord and we'll be able to help you out more specifically and kind of like break down uh how you could implement the Alve protocol and the pith for the Oracle service. Um, yeah. So kind of the advice is is to check out that video to to kind of understand conceptually about how the starter app kit is working.
Uh and then please reach out to us on discord and we can further dive into the topics and answer question. Uh and then we'll use those learnings to kind of like help update the documentation. But um yeah uh our a protocol uh will look pretty similar to the unis swap ability uh that we've created uh which you can find on our documentation the docs.heavenincent Hey Vincent AI, if you go under ability developers, um it'll be linked there. Uniswap, let me also uh yeah, but actually just please reach to us out to us on the ETH global discord and I will be able to to respond with those links for you.
Uh and then we can also hop on uh we're doing dev hours uh tomorrow, Thursday, as well as Friday. I'll post the times in the ETH Global Discord. uh and so we can connect there and we can dive deeper into uh how you could build this architecturally. Uh it's a little bit too much to kind of dive into right now, but uh yeah, just please connect with us on on the discord and yeah, we'll dive deeper into them. [Music]
Automatic transcript — names and jargon may be misspelled.