Operation lifecycle
Delegation is asynchronous. When you create a delegation, the API returns an operation ID immediately while the transaction is submitted and confirmed onchain. You poll the operation until it reachesCOMPLETED, at which point the account is ready to send user operations.
| Status | Meaning |
|---|---|
PENDING | The delegation operation has been created but not yet submitted to the network. |
SUBMITTED | The delegation transaction has been submitted to the network. |
COMPLETED | The delegation is active. The account can now submit user operations. |
FAILED | The delegation failed. |
Create an EIP-7702 delegation
- React
- Node (TypeScript)
- Python
useCreateEvmEip7702Delegation creates the delegation and automatically polls until it reaches a terminal state.Poll for completion
After creating a delegation, poll for its status to know when the account is ready to send user operations.- React
- Node (TypeScript)
- Python
useCreateEvmEip7702Delegation polls automatically. For standalone polling, use useWaitForEvmEip7702Delegation:useGetEvmEip7702DelegationOperation:Use the delegated account
Once delegation is complete, the EOA has full smart account capabilities. Send user operations the same way as with ERC-4337 smart accounts.- React
- Node (TypeScript)
- Python
After delegation completes, use
useSendUserOperation with the user’s EOA address. No extra setup needed.Supported networks
Mainnets
Arbitrum, Base, Ethereum, Optimism, PolygonDelegation transactions are sponsored by Coinbase. No ETH required. Pair with the CDP Paymaster on Base, or any ERC-7677-compatible paymaster on other networks, for gasless user operations.
Testnets
Base Sepolia, Ethereum SepoliaThe EOA must hold ETH to pay for the delegation transaction. Use the CDP Faucet to fund accounts before delegating.