Une transaction set-code porte une authorization_list de tuples [chain_id, address, nonce, y_parity, r, s] ; chacun est la signature, par le propriétaire du compte, de keccak256(0x05 ‖ rlp([chain_id, address, nonce])). Son traitement écrit l’indicateur de délégation de 23 octets 0xef0100 ‖ address dans le code du compte, si bien que les appels au compte exécutent le code du contrat délégué dans le contexte du compte. Un chain_id de 0 rend l’autorisation valide sur toutes les chaînes.
Cela apporte le regroupement d’appels (batching), le gaz sponsorisé et le contrôle par clé d’accès ou par clé de session à des adresses existantes, sans déplacer de fonds. Cela crée aussi une nouvelle cible d’hameçonnage : une seule autorisation signée confie le contrôle total du compte au contrat délégué, y compris sur d’autres chaînes si chain_id vaut 0, et le stockage écrit par un délégué précédent subsiste quand la délégation change. Le décodeur EIP-7702 montre vers quoi une autorisation délègue.