dogekaki.com

What Happens When an Arbitrum Retryable Ticket Fails After 7 Days?

When an Arbitrum retryable ticket fails after 7 days, the funds you deposited on Layer 1 (Ethereum) become redeemable back to your L1 address, but only if you take a specific action. The ticket itself expires and cannot be executed on Arbitrum. You do not lose the money permanently, but it will not automatically return to you.

The 7-Day Window

A retryable ticket is a mechanism that lets you send a transaction from Ethereum to Arbitrum, funding it with ETH on L1 so the L2 side can execute later. The ticket includes a "timeout" period of roughly 7 days (168 hours) from the moment it is created on L1. During this window, anyone - typically the sender, but technically any address - can call the ticket's redeem() function on L1 to trigger the corresponding L2 transaction. If no one redeems it within 7 days, the ticket expires.

What expiry actually means

After the timeout passes:

This is not a bug. It is by design: the timeout prevents tickets from remaining open forever, which would create a security or state-bloat risk.

How to recover your funds

To get your ETH back, you must call the withdrawFromTimeout() function on the L1 bridge contract. This function is available only after the 7-day window has fully elapsed. You do not need to do anything on L2; the entire recovery happens on Ethereum.

Steps to recover

  1. Verify the ticket has expired. Check the ticket's creation timestamp on Arbiscan or Etherscan. Compare it to the current block timestamp. The 7-day period is measured in seconds (604,800 seconds). If less time has passed, you cannot call the function yet.

  2. Find the bridge contract address. The official Arbitrum L1 bridge contract address is 0x8315177aB297bA92A06054cE80a67Ed4DBd7ed3a (Arbitrum One). Confirm the current address from the Arbitrum documentation before using it.

  3. Call withdrawFromTimeout(). You will need to provide the ticket's unique ID (the ticketId). This is a 32-byte value derived from the original L1 transaction. You can find it in the transaction logs of the bridge contract when you created the ticket. The function will return the ETH to your L1 address that submitted the ticket. There is no additional fee beyond the Ethereum gas cost for the transaction.

  4. Wait for the L1 transaction to confirm. Once the Ethereum transaction is mined, the ETH appears in your L1 wallet.

Common reasons a retryable ticket fails

Tickets usually fail because the L2 side of the transaction requires more gas than the amount included in the ticket. When you create a retryable ticket, you specify a maxGas parameter for the L2 execution. If the actual gas used on Arbitrum exceeds this limit, the L2 transaction reverts. The ticket can then be retried (by calling redeem() with a higher gas limit) before the 7-day window closes. If no one retries it, it expires.

Other causes include:

What you cannot do

After 7 days, you cannot:

Practical Advice

If you create a retryable ticket, monitor it. Use Arbiscan to check its status. If the L2 side fails and you still want the funds on Arbitrum, call redeem() with a higher maxGas before the deadline. If you miss the window, you can always recover the ETH on L1 and try again with a new ticket.

The 7-day timeout is generous but not infinite. Treat it as a deadline you must act before, not a safety net you can ignore.

Not financial advice. dogekaki.com publishes market data and general information about digital assets. Crypto assets are volatile and you can lose everything you put in. Nothing here is a recommendation to buy, sell or hold, and we make no price predictions.

Prices are sourced from third parties and may be delayed or wrong. Verify anything you intend to act on against a primary source.

Back to arbitrum