Versa Docs

Advanced Intent Solver

TL;DR: With session keys, you can declare certain types of intents or actions to a solver to let it perform action for you, while still able to control what this bot can do. This enables infinite possibilities.
Recently, the spotlight is firmly fixed on Intent in the Ethereum community. Paradigm has masterfully distilled Intent into an easily grasped concept:
An intent is signed a set of declarative constraints which allow a user to outsource transaction creation to a third party without relinquishing full control to the transacting party.
Previously, executing transactions was a manual ordeal, involving meticulous steps—asset bridging, quotes comparison, friction-filled paths, etc. — just to seek optimal efficiency.
Enter Intents—a game-changer. Users now only need to declare their desires.
"Purchase ETH with USDT if ETH dips below $1,500" becomes a reality. No longer must users labor over details; they simply place their order, and Intents orchestrate the magic and do all the calculations.
Intents are extremely helpful in both traditional finance and crypto fields. An intent is a goal that you declare, and an intent solver is an external party that tries to fulfill such goals. Currently, all solvers are implemented at a custodial level, meaning that you have to trust the software, such as a bot, and give them full control of your funds in order for them to execute.
In Versa, we have implemented plugins to let you delegate certain kinds of action, under a certain kind of restriction, during a certain range of time, to a certain party at a self-custodial level. We call this a session.
Using sessions, you can outsource the complexities of manually performing interactions/trades simply by declaring your goals to an external party, or what we call a program. With session, you can now have intent solvers doing any kind of thing for you: auto-invest in a token, pay your employees recurrently, or have a trading account to let the bot trade for you.
We strongly encourage you to check out our session key design. We think a combination of solvers and session keys can unlock a vast range of users, and we are happy to be in touch if you are looking to build a plugin!