Source:
StartaleGroup/scs-aa-sdk.What EIP-7702 does, in one diagram
The address is unchanged. What changes is the code at that address: a 23-byte delegation indicator (0xef0100 || implementation) that tells the EVM to execute the implementation’s code whenever the address is called. To revert, the user signs a new authorization that points at the zero address.
Why use it
Prerequisites
- A signer for the EOA you want to upgrade (private key, wallet client, EIP-1193 provider, or ethers wallet).
- The Startale account
implementationAddress(see Contracts and audits). - The bundler and paymaster URLs from the SCS Portal.
Path A: automatic authorization (recommended)
When you passeip7702Account to toStartaleSmartAccount, the SDK signs the authorization for you on the next UserOperation. This is the cleanest integration: the user signs once, the delegation is applied as part of the same UserOp, and you keep using the same StartaleAccountClient afterwards.
Path B: manual authorization
If you need to inspect or persist the authorization yourself (for example, to store it server-side), sign it explicitly with a viemWalletClient and pass the result as eip7702Auth.
Use Path B when you want to:
- Prepare authorizations server-side and ship them to the client.
- Sign once with a hardware-backed wallet and reuse the result.
- Inspect the structure of the authorization before submitting it.
Send a UserOperation
After either path, the client behaves like any other Startale account client:Inspect and revert
The smart account exposes EIP-7702 helpers directly:Caveats
- The authorization is chain-specific unless you set
chainId = 0. Use a fresh authorization per chain in normal flows. - Delegating bumps the EOA’s nonce, just like any other transaction.
- Reverting (
unDelegate) also bumps the nonce.
Next steps
Smart account setup
Wire the EIP-7702 client into a React provider.
Sponsored paymaster
Sponsor the upgrade UserOp itself.
Smart sessions
Issue session keys for the upgraded EOA.
Contracts and audits
Look up the implementation address per network.