Versa Docs

Session key powered Intents

We have a bunch of advanced programs like DCA (dollar-cost-averaging) auto investing, and recurring transfer. We implement all the programs in a non-custodial way, and here's how we do it.
Essentially, when you create a session key, you give a part of your wallet's permission to another key. For example, if you want to perform auto investing, you can give the key permission to interact with Uniswap on a scheduled basis. You can also set up the parameters range and time range for this key, so that this key can only swap the token you set, in the amount you set, and during the period you set. We also have sanity check features like total gas limit so that this key does not drain all your fund using extremely high gas.
After setting up this session key, you can give this key to any third party to let them sign and perform for you. Currently, we run it for our users in DCA investing.
With the session key, you can basically create any programs and give them the permission you need in order for them to run. It's like an app store for automation flows. But all on a self-custodial level.