Intents

Intents

Execute blockchain transactions with simple english commands

The problem Intents solves

Blockchain Transactions have a high barrier of entry - it is not very easy to execute transactions.

With Intent based architectures - dapps and wallets can integrate our sdk, and allow users to define a command -

I want to swap 10 USDC for the maximum price of DAI


OR

Send 0.01 eth to vitalik.eth

Our api, decodes the command, figures out the category of transactions, and then extracts necessary values such as prices, tokens involved, protocols required etc. This data is then used to compute the blockchain transaction object - which can then be directly signed by eoa's, smart contract wallets and mpcs.

With intents, users no longer have to visit different dapp sites, or know the intricacies of different protocols - they can just define what they want to accomplish - and our intent solver will construct a transaction based on that.

Challenges I ran into

Aws Deployments

With the new next 13 architecture, I wasnt able to run all the pages along with the nginx config of amazon linux & had problems configuring a self signed ssl certificate as well, so had to change that to get a static folder at build time, and then used ubuntu instead of aws linux to generate the ssl certificate.

ENS Resolvers

In our sdk, we detect if an ens address is used, and subsequently obtain the wallet address associated with it. We used other services like infura, alchemy and even the native ethers js resolver, but the average resolution time regardless of the service was around 3-4 s.

To tackle this - we built a dune sql query to create a csv of all ens addresses and their wallets, with redis pipe we pushed all of this to t2 micro cache, and built a small express server to query the key value pair. This reduced the ens resolutin time to approx 200-300 ms, almost 10x faster than the regular available services. (We're soon planning to open source this service)

Discussion