About Intents

What are intents?

An intent can be defined abstractly as a user’s expression of their desired end state, with minimum transition constraints. Mathematically, an intent is a request for a function f: S x S -> EVM -> EVM, where S is a function S: EVM -> Bool that represents constraints on the state of the world. In this construction, users supply constraint on the started and ending state of the blockchain.

Fulfillment of an intent--finding a transition function--requires solvers to produce a block which satisfies the users constraints. Given the difficulty of finding solutions, optimal intent fulfillment depends on a competitive solver market.

In practice, an intent is supplied by a user through an application interface. The intent gets sent to a p2p intent mempool which solvers are watching. Solvers construct potential solutions to subsets of the intents. The solutions compete in an auction which scores based on the advantage over the price preferences. The resulting solution is then built as a block to be validated and finalized.

Transaction centric vs intent-centric DeFi

The status quo in DeFi involves on-chain interaction with decentralized applications. This places a lot of responsibility on users to understand and manage interactions with these applications to obtain the best execution. Users must understand the underlying protocols and processes and interact with various layers, such as wallets and interfaces.

As an example, when users want to execute a token swap against a liquidity pool, they need to determine their price or choose which LP has the best price and on which network, connect their wallet to the network, possibly bridge funds, and set gas fees to obtain optimal execution. In short, users are responsible for constructing an execution path with transaction-based interactions.

Intent-centric DeFi focuses on simplifying the user experience by allowing users to specify their intent without thinking about optimal execution. This shift aims to make DeFi more accessible, efficient, and user-friendly. Users specify their intent (e.g., "I want to swap token A for token B at the best rate") rather than interacting with each step manually. The system automates the execution of the user's intent through smart contracts and other mechanisms while reducing the number of interactions and approvals needed from the user.

Intent-centric dApps also experience a shift. The need for on-chain logic, such as pricing through liquidity pools and dependence on on-chain oracles for execution, is reduced. By building on an intent-centric platform, applications will experience a reduction in complexity. The simplest of applications can use intents directly from the front-end, potentially requiring no on-chain development. More complex applications need to develop state transitions as intents are fulfilled.

Last updated