DappCon 2023: DeFi Intents Overview; From A Solver - Connor Howe
DappCon 2023 · September 2023 · 14:59
Explores deFi Intents Overview; From A Solver.
Speakers
Topics
From DappCon 2023, hosted by Dappcon Berlin.
Transcript
okay okay you can see it there so today's topic is Define inent from a solver for those who aren't familiar with Eno Finance we are a solver for cop the ogs of intents and Eno also offers one unified API to interact with defi ranging from lending borrowing vaults LPS swapping and so forth this is also compatible with EAS and so smart accounts what are intents intents are a very abstract term generally implying your intentions what you like to do and this involves many different parts so we like to focus on defi in particular
there's many different challenges within defi as of today that intents can help along this path number one is ux flow number two is how 4337 bundlers are actually broken for defi and users are unaware of opportunities within dii let's take a very basic scenario of a very basic DFI flow I'm a user I have y token and I want to enter into X BP position first of all I need to know about beefy second of all I need to know all of the protocols that are required to be able to enter this Bey Vault I'll First Step I'll go to Unis swap I'll approve my tokens and then I'll swap into the underlying tokens of the
balancer vault I'll then go to balancer interface approve my tokens deposit my tokens into balancer third step I'll then approve my balancer LP onto Aura deposit my tokens into Aura fourth step finally get to my end destination where I already knew where I wanted to get to I need to finally approve my tokens in Bey and then finally deposit into Bey this is what success looks like within our current industry of defi four different interfaces eight different transactions for a very simple def flow this scales to tremendously bad user experience the more def actions you do and a case of entering two beefy vaults lending an a borrowing an a
hedging your position on iort with fix Shield doing perps all within one transaction take you a couple of hours probably get a couple of gray hairs and many different user experience Journeys oh one other solution you could say okay maybe user experience is bad why can't we just bat all these transactions together into one using 4 237 bundling techniques I would go to beefy I would go to Unis swap set one again approve add my approval into the queue and then I would assume that I would be able to swap into the underlying tokens as before but as my approval is selling the queue the state has not been updated on chain so user blocked sure all these
interfaces do RPC requests to the chain to get the most updated state to present to the user so like toggle availability of using a swap and and so forth or the Reliance subgraphs for this sure you can hack around this we done it back in January you can do RPC hijack requests so you can allow the user going through their whole flow anything they want to submit you submit it to Fork you actually run it on the fork he's take into account of the percentage of the assets used inside of there you uh work out the percentages of tokens coming out of function call one into function call two allowing the user going through through this whole flow to then submit it as well it's pretty hacky
it's not very nice or which makes even more sense you just Fork every single subgraph and run every single subgraph for every single D5 protocol you can see this really doesn't scale for user experience in this scenario again where we started was first entering a basic D5 Vault uh a beefy Vault now with intents we can abstract all of this complexity of user experience away you can simply go to an interface like C Swap and state your intent I have y token and I want to go into X BV Vault whenever you State this intent this will go into Network this will be uh picked up by solvers and
whoever can fulfill this intent with the best amount out will then be able to submit the order what solvers do underneath it could be anything the user ultimately doesn't care all the user cares about is getting this desired outcome so solver may do onchain routing they may use their own float they' be plugging into market makers they may do some me they may do some Arbitrage they may do whatever they would like to do as long as they fulfill the desired order which increases order efficiency of this whole ecosystem uh matter of 10 x 100x intents really are only being
spoken about for execution but I see personally that there's many different layers of intents and I don't think they're being given enough discussion around for me there's four there's the interface maybe this pointer works yeah there we go okay well you see it anyway so interface interpretation layer data layer and finally the execution layer the interfaces can be as simply as swapping from token a to token B it could be a multi swap or it could be a project similar to Lang wallet that will allow you to I think that's increaseing phun allow you to kind of go voice to text and then text to action and you can
also put in different parameters such as if eth reaches this uh price then buy these tokens so similar to automation there's many different types of interfaces that can do these text actions so you can have like show me the best apy for usdc the user doesn't care what protocols are underneath they only care about making money get me a stable coin that I can cash out through coinbase and sell 10 e sell all positions have exposure to a particular protocol so if a protocol in defi gets hacked pretty sure everyone's aware then most of the ecosystem is just rushan dolls so if one protocol gets hacked then many get affected by this over time you could even set different criterias
on these interfaces do 10x leverage long on for 200k if USC deegs to 85 cents this was a great trade by the way then you have the interpretation layer you first of all kind of need to understand what the user is asking and to understand what what they are asking you need to know what they've previously done and what their kind of intentions were based upon the the outcome that they actually wanted so you can use different language models different AI tools for this and to be able to do this you get to the stage of prediction models and this gets a bit scary since everything is fully on chain
of everything that you've ever done and you've stated what your intentions were and you selected what actions were your true intentions you are categorizing yourself as a human being and if you start let's say scanning your irises and having an identifier Associated to your full onchain data this can be used against you so this has been known within the web web 2 ecosystem for 10 12 15 years where these recommendation engines are able to determine from your previous actions what the future of you is going to do before you even know so they were able to deter back in 2012 of a teenager
she didn't even know that she was pregnant but based upon her actions and her intentions of looking at different products and so forth then they were able to kind of send her an email say congratulations on your new baby she didn't even know she was pregnant if you want to have a look into this highly recommend uh a great book called data and Goliath the more data you start associating to your financial transactions and your intentions to again and Iris is very problematic right now in the solver ecosystem generally speaking it's only tokenized positions so certain D5 Protocols are tokenized some are not so for example landing on Avy is tokenized
borrowing an ay is not tokenized you do get a token at the end but the state of your borrow in your liquidation ratio is associated to the address and uh interacting with it however Avi does have kind of delegations you can delegate this borrow to somebody else and so forth but there are protocols that do not allow you to do this so in this case for example liity they do not have delegations so I personally see the ecosystem of solvers also evolving more into smart accounts in particular with a safe ecosystem and with that by stating your intentions that are tokenized and state changes then you can do all of these bundles and outcomes within one transaction where Eno kind of plays into
all of this so Eno you can Envision as a one unified API to interact with all of defi so we are a middle layer that abstracts all of the complexity away if you want to interact with def5 so instead of building your own manual Integrations you can simply just plug into our API for this without Endo you're looking to time to market for every single D5 protocol for plus weeks writing custom indexers writing custom metadata services and you're also paying hundreds of thousands of dollars on audits with inso you plug into one API you get hundreds of D5 protocols out of the box d as of today on Def Lama is 2,99 protocols most likely onchain there's probably 10,000 15,000 and our
view of this ecosystem will be propelling into hundreds of thousands of dii applications on a daily basis we have all the execution side and also all the metadata so we have projects such as langu that using this data to build their own interpretation layer to build their interface to then translate into an intent of execution this is kind of what our architecture looks like you will call our API with all of the actions you want to execute whether this is an LP borrowing lending and then you will get the best order of routing and you'll get the call data back everything is simulated so we run it on tangerly and we also built our
own open source simulator cuz we were getting throttled so if you want to use this feel free to just use it here's the uh get repo for the simulator spin out it's a resting Point built in rust on top of Foundry thanks so short talk but I want to give some uh time for questions and we have a booth so if you have any more questions there feel free to come and talk to us and we're also doing a workshop on Wednesday of building a dii telegram bot using the NSO API thank you thank you Connor uh that was quite interesting of course I agree with you
one of the biggest challenges when you want to use something in defi is the number of steps you have to take and I myself have dropped out multiple times uh before executing the transaction so now uh we have some time for questions anybody yes Hi H hello I'd like to know uh for the simulation h i I don't know if you mention it but where do you get data from and how do you process it before simulation in what regards so like the address of the protocol you're interacting with the function signatures yes yes and what's I mean the data source itself do you make quy to of
graph to make the analysis or how do you manage all that um so let's say uh Factory addresses of new vaults or new protocols that get deployed we have custom indexers for this the metadata service we collect it from many different sources as well such as subgraph defi Lama Nano uh many about six seven different sources for the metadata the simulations aren't really related to this the simulations are purely to validate the the function signatures are being called the relationships of the contracts and also all the addresses are function correctly by doing these simulations it's even more important since we're encoding all these calls offchain to put on chain
it's a similar architecture as universal router Universal router is kind of a middle layer to interact with all of their pools and off chains the logic for all the graphing and so forth and our simulations are to validate that it does pass correctly what contracts have been called the amount out the amount in any failures and so forth and you will only get call data back if it passes you um it seems like you're trying to capture like the whole vertical stack of the defi experience um on your road map
uh have you guys been paying attention to the idea of like running your own ethereum nodes and perhaps giving some sort of like special like maybe like me bonuses to the users of Enzo so if you guys get a big treasury you could start you know offering like me incentives and s disincentivizing Everyone Else yeah if if they're kind of wanting M protection I'd highly recommend to go to cow swap um this has it out the box and we silver so we don't need to manage that part of the stack um we do run kind of some of our own nod um for faster throughput of indexing and so forth depending upon liquidity of dexes but if you want me protection C guy I want like addition I want you to give
me I'm yeah I mean we we are exploring this to a certain degree um yeah maybe we'll write a research piece and publicize it yeah thank you any further questions anyone all right so Connor that was a pleasure