Troubleshooting: Bridge funds using the Arbitrum Bridge
How do I move assets between One and Nova?
Both Arbitrum One and Arbitrum Nova run as layers on top of Ethereum. Thus, you can always move assets between the two chains in two steps by going "through" Ethereum. In other words: withdraw your assets from Arbitrum One to Ethereum and then deposit them onto Nova, or conversely, withdraw your assets from Nova on to Ethreum and then deposit them on to Arbitrum One. These steps can all be done at https://bridge.arbitrum.io/.
What fees do I have to pay when bridging funds from L1 to L2?
When bridging over tokens from L1 to L2, you will have to sign one or two transactions with their corresponding fees:
- If you are bridging a token for the first time, you'll sign one approval transaction.
- In all cases, you'll sign a deposit transaction that will send your tokens to the Bridge.
Keep in mind that the approval transaction needs to be executed at least once per token and wallet. This means that if you bridge the same token from the same wallet again, you probably won't have to pay for that transaction. However, if you bridge the same token from a different wallet, you will have to pay for that transaction again.
In any case, the bridge and your wallet will guide you through the process, showing the transaction(s) that you need to sign in order to have your tokens bridged to Arbitrum.
How long does it take before I receive my funds when I initiate withdrawal from Arbitrum chains (One and Nova)?
Using the official Arbitrum Bridge, the process will typically take roughly one week. However, some users opt to use third party fast bridges, which often bypass this delay (remember that third party bridges are created by third parties, so please DYOR!).
There's some variability in the exact wall-clock time of the dispute window, plus there's some expected additional "padding" time on both ends (no more than about an hour, typically).
The variability of the dispute window comes from the slight variance of block times. Arbitrum One's dispute window is 45818 blocks; this converts to ~1 week assuming 13.2 seconds per block, which was the average block time when Ethereum used Proof of Work (with the switch to Proof of Stake, average block times are about 12 seconds).
The "padding on both ends" involves three events that have to occur between a client receiving their transaction receipt from a Sequencer and their L2-to-L1 message being executable. After getting their receipt,
- The Sequencer posts their transaction in a batch (usually within a few minutes, though the Sequencer will wait a bit longer if the L1 is congested). Then,
- A validator includes their transaction in an RBlock (usually within the hour). Then, after the ~week long dispute window passes, the RBlock is confirmable, and
- Somebody (anybody) confirms the RBlock on L1 (usually within ~15 minutes).
Additionally, in the rare and unlikely event of a dispute, this delay period will be extended for the dispute to resolve.
Is there a way to cancel a withdrawal from Arbitrum?
There is no way to cancel a withdrawal that has been already initiated. However, you can claim your funds on L1 and deposit them again on L2 once the withdrawal period is past.
Can I use a smart contract wallet in the bridge?
Support for Smart Contract Wallets is currently limited to token depositing and withdrawal. Keep in mind that when withdrawing funds, you won't be able to claim them on L1 using the bridge (unless you also control that address on L1). In that case, you can use the cross-chain dashboard to claim your funds on L1.
ETH deposits and withdrawals using a Smart Contract Wallet are currently not supported, but will soon be available.
How can I claim withdrawn funds if I don't control on L1 the address that initiated the transaction on L2?
Once the withdrawal period is past, you can use the cross-chain dashboard to execute the message on L1. Paste the transaction hash that initiated the withdrawal on L2, and follow the process described in the dashboard.