Concepts
EIP-7702 in plain words
Why an ordinary wallet can borrow a smart contract for one transaction.
Normal wallets (EOAs) can only sign transactions. Contracts can run logic, but they cannot sign for themselves. EIP-7702 gives an EOA a bridge: it can sign a note saying "for this account, run the code of that contract". The note is called an authorization.
Authorization list
A type-4 transaction carries a list of authorizations. Anyone can submit it, including a sponsor who is not one of the signers. The chain applies each valid authorization before the transaction's main call runs.
The marker
After an authorization is applied, the wallet's code is 23 bytes: 0xef0100 followed by the implementation address. When something calls the wallet, the chain loads the implementation's code and runs it in the wallet's context. The wallet's address, balance and storage stay its own.
Authorization nonce
An authorization is only valid if its nonce equals the signer's current account nonce. A fresh wallet has nonce 0. Applying an authorization increases that nonce by one, so the same authorization cannot be applied twice.
Live on this chain
Robinhood Chain runs Arbitrum Nitro v3.12. We checked that a call to a wallet carrying the marker runs the implementation, and that eth_call and eth_estimateGas accept an authorization list.
Taking it back
An authorization to the zero address clears the marker and returns the wallet to an ordinary wallet. The CLI command revoke does this.
EIP-7702 does not add guardians. Anyone who has a wallet key can still do anything with that wallet. Octo only removes the need for a gas balance and the need to send one transaction per wallet.