Skip to main content

Can't finalize a withdrawal

Some withdrawals made outside Superbridge can't be finalized to a smart account or smart contract. Here's why, and how to finalize safely.

If the Finalize step says Can't finalize to a smart account, switch your wallet back to a standard account and then finalize. If it says Recipient can't receive this withdrawal, contact support.

Don't finalize one of these withdrawals in another app. If it fails, you'll lose the funds. The withdrawal will be marked as finalized even though nothing is delivered, so it can't be tried again, and Superbridge can't recover the funds.

Why this happens

This only affects OP Stack withdrawals that were started in another app. Instead of using the chain's standard bridge, that app sent a low-level message that carries a small amount of extra data. When the withdrawal is finalized on the settlement chain, that data is sent to the recipient address as a contract call.

A standard wallet ignores the call and receives the funds. A smart account or smart contract wallet tries to run it, and the call fails. The bridge doesn't revert in that case: it marks the withdrawal as finalized anyway, so it can never be tried again.

Superbridge checks the recipient before it builds the Finalize transaction, and disables the step if the call would fail. Withdrawals started in Superbridge don't carry this extra data, so they aren't affected.

If your wallet is a smart account

Many wallets can upgrade a standard account into a smart account, using EIP-7702. Your address stays the same, but on chain it now behaves like a smart contract, so this withdrawal can't be delivered to it.

The upgrade can be undone:

  1. In your wallet, switch the account on the settlement chain back to a standard account. In MetaMask, follow Switch to or revert from a smart account. Other wallets have a similar setting.

  2. Open the withdrawal in Activity. The Finalize step is available again once the change has gone through.

  3. Select Finalize and confirm the transaction in your wallet.

Once the withdrawal is finalized, you can switch back to a smart account.

If the recipient is a smart contract

A smart contract recipient, such as a Safe, can't be switched back to a standard account, so this withdrawal can't be finalized to it safely. Contact us with the withdrawal's transaction hash. What to include

Did this answer your question?