You initiated an EIP-7702 authorization, your wallet showed "failed," but gas was indeed deducted. You hesitate: does this authorization count or not?

A leading global cryptocurrency platform,suitable for both beginners and experienced traders.
New user benefit: 20% off trading fees upon registration!!
As long as you see the 0xef0100 prefix appear at your address on-chain, the delegation has taken effect. A failed transaction does not affect the delegation status — this is how EIP-7702 was deliberately designed.
First Look at the Error Result: Gas Was Deducted, Transaction Status Shows "Failed"
When you check this transaction on Etherscan, the status bar shows "Fail" (in red). But the transaction details show gas was deducted, and the address's Code field has changed to 0xef0100 + a string of addresses.
This means the delegation has already been written on-chain. A failed transaction only means something went wrong with the subsequent execution logic (for example, the receiving contract lacks a receive() function). It does not mean the delegation did not take effect.
Restoring the Error Path: Why "Failed" Does Not Mean "Not Effective"
EIP-7702 separates delegation setup and transaction execution into two distinct stages. The official specification states clearly: when authorization processing fails, the delegation setup will not be rolled back.
The underlying logic is this: when an authorization tuple is processed, it first sets the delegation (writing 0xef0100 || address into the account's Code field), then continues to execute the transaction's actual logic. If the actual transaction logic fails (for example, the contract execution reverts), the delegation has already been written on-chain — the state machine only rolls back the "subsequent execution" part and will not erase the delegation that has already been written.
Therefore, the "transaction failed" you see happens after the delegation has taken effect. What you should worry about is not "whether it took effect," but "who have I authorized?"
Comparison of Correct and Incorrect Approaches
| Approach | Explanation |
|---|---|
| Incorrect approach | Seeing "failed" and assuming the delegation did not take effect, then initiating another authorization transaction. |
| Correct approach | 1. Go directly to Etherscan and check your address to see whether the Code field shows the 0xef0100 prefix. 2. If it does, do not authorize again. First confirm who the delegated address is. 3. If the delegated address is safe, the delegation has taken effect regardless of whether the transaction status is successful or failed. |
How to Verify Whether the Delegation Has Actually Taken Effect
Confirm the delegation status through on-chain data, rather than relying on the "success/failure" prompt from your wallet.
The steps are as follows:
Open Etherscan and enter your wallet address.
On the transaction details page or address details page, find the "Code" or "More Info" section.
If the Code field shows a string starting with 0xef0100 (usually 0xef0100 + a 20-byte address), the delegation has taken effect.
Check the delegation target address: the 20 bytes after 0xef0100 are the delegated contract address.
Completion standard: you can confirm the content of the Code field. If it is 0xef0100 + an address, the delegation has taken effect. If the Code field is empty, the delegation has not taken effect.

A leading global cryptocurrency platform,suitable for both beginners and experienced traders.
New user benefit: 20% off trading fees upon registration!!
A Broader Troubleshooting Checklist
| Item to check | Correct interpretation |
|---|---|
| Transaction status "Fail" | May be a subsequent execution failure; does not mean the delegation did not take effect |
| Address Code field has 0xef0100 prefix | The delegation definitely took effect |
| Address Code field is empty | The delegation has not taken effect; you need to initiate authorization again |
| Wallet shows "failed" | Check the Code field first; do not authorize again |
Risk reminder: if you delegate to a malicious contract, the delegation still takes effect even if the transaction shows "failed" in your wallet. An attacker can already use your delegation to move assets. Therefore, the key is not whether the transaction succeeded or failed, but who you authorized.


