Intent Lifecycle
Last updated
Last updated
In practice, an intent is an authenticated structured message that describes a desired state outcome, specified by a conjunction of constraints on the pre and post-execution state.
Creation: The user creates an intent at the application level, specifying the action to be fulfilled.
Signing: The user signs the intent, which is added to the Specular intent pool.
Intent monitoring: A solver monitors the intent pool and attempts to solve the intent through multiple mechanisms.
Solving: The solver fulfills the intent and places it into a transaction bundle that is sequenced.
Verification: Specular verifies the correctness of the intent by checking the state of the blockchain.
Example:
The user wants to swap 1 ETH for 3000 USDC. This would be specified as a data struct:
The user would then sign the intent, using EIP-712, to guarantee integrity and authenticity. This intent is registered and propagated through the intentpool. Solvers see this and will construct--if possible to satisfy--a solution:
This transaction bundle/block is then proposed as (part of) the next block, which is then validated through validator consensus: