EIP-7702 requires your app to control the delegation target. It is not supported for external wallets (MetaMask, Coinbase, etc.) since those wallets do not allow delegating to an arbitrary contract. For external wallet users, use a plain EOA or create a separate smart account.
When to use EIP-7702
- Your users have an embedded wallet (Privy, Dynamic, etc.) with existing assets
- You want smart account features — session keys, gas sponsorship, modules — without migrating funds
- You need the account address to stay the same as the EOA
Limitations
- No key rotation: the EOA is always the root owner. If it’s lost or compromised, the account is unrecoverable.
- No multisig: the EOA acts as a root key that overrides any other owner.
- Embedded wallets only: not supported for external wallets.
Send an intent
Sending a transaction with an EIP-7702 account requires two additional signing steps compared to a standard smart account.Create the account
Pass the EOA as both the owner and the
eoa field. The presence of eoa tells the SDK to use the EIP-7702 flow.Sign the initialisation data
This signature authorises the smart account setup on the EOA. It only needs to be signed once — cache it and reuse it on subsequent transactions.
The init signature is valid cross-chain, so you can cache it and reuse it. Always provide it when preparing a transaction — the account may need to be initialised on any of the source or target chains.
Prepare the transaction
Pass
eip7702InitSignature when preparing. The SDK includes it in the transaction so the account is initialised on any chain it hasn’t been set up on yet.Sign the transaction and authorisation
Sign both the transaction payload and the EIP-7702 authorisation.
Next steps
EOA (plain)
Use a plain EOA with intents, no delegation required.
Create a smart account
Start fresh with a full smart account: modules, session keys, gas sponsorship.