Eine Set-Code-Transaktion enthält eine authorization_list aus Tupeln [chain_id, address, nonce, y_parity, r, s]; jedes Tupel ist die Signatur des Kontoinhabers über keccak256(0x05 ‖ rlp([chain_id, address, nonce])). Bei der Verarbeitung wird der 23 Byte lange Delegierungsindikator 0xef0100 ‖ address in den Code des Kontos geschrieben, sodass Aufrufe an das Konto den Code des Ziel-Contracts im Kontext des Kontos ausführen. Mit chain_id 0 gilt die Autorisierung auf jeder Chain.
Damit erhalten bestehende Adressen Batching, gesponsertes Gas und Steuerung per Passkey oder Session-Key, ohne dass Guthaben verschoben werden muss. Zugleich entsteht ein neues Ziel für Phishing: Eine einzige signierte Autorisierung übergibt dem Ziel-Contract die volle Kontrolle über das Konto, auch auf anderen Chains, wenn chain_id 0 ist, und Speicherinhalte, die ein früherer Ziel-Contract geschrieben hat, bleiben beim Wechsel der Delegierung zurück. Der EIP-7702-Decoder zeigt, an welchen Contract eine Autorisierung delegiert.