What is Intent Fulfillment?
Intent fulfillment is the process by which solvers execute user intents on destination chains. Solvers:- Monitor published intents across chains
- Evaluate profitability based on rewards vs. execution costs
- Provide required tokens/assets on the destination chain
- Execute the intent’s calls on the destination chain
- Prove fulfillment to claim rewards on the source chain
Fulfillment Contract
TheInbox contract (contracts/Inbox.sol) handles intent fulfillment on destination chains.
Key Functions
Inbox.sol
Fulfillment Process
Here’s a complete guide to fulfilling intents as a solver.1
Monitor Published Intents
Listen for Filter for intents on chains you support:
IntentPublished events on source chains:2
Evaluate Profitability
Calculate if the intent is worth executing:
3
Verify Intent is Funded
Check that the reward vault has sufficient funds:
4
Approve Required Tokens
The Portal needs approval to pull tokens for execution:
5
Fulfill the Intent
Execute the intent on the destination chain:
Complete Fulfillment Example
Here’s a complete Solidity example of fulfilling a token transfer intent:Fulfill and Prove in One Transaction
For faster reward claiming, usefulfillAndProve to combine fulfillment and proof initiation:
Real-World Examples
Example 1: Simple Token Transfer
Example 2: DeFi Interaction
Example 3: Cross-Chain Swap
Handling Fulfillment Results
Thefulfill function returns execution results for each call:
Claimant Identifiers
Theclaimant parameter is a cross-VM compatible identifier:
- EVM Addresses
- Solana Addresses
- Other VMs
For EVM chains, convert your address to bytes32:
Intent Validation
The Portal validates intents before execution:Inbox.sol
- Intent hasn’t expired
- Intent is for the correct portal
- Intent hash is valid
- Intent hasn’t been fulfilled already
- Claimant is valid
Gas Optimization Tips
Error Handling
Common errors and their solutions:Next Steps
After fulfilling an intent, you need to prove the fulfillment to claim rewards:Proving Intents
Learn how to prove fulfillment and claim your rewards
Creating Intents
Understand the user perspective of creating intents
ERC-7683 Integration
Use the standardized interface for fulfillment