Blog Post

You bridged ETH to Arbitrum. The IRS sees a sale.

Same token, same owner, different chain. Still a taxable event.

📅 March 4, 2026

You moved 1 ETH from Ethereum to Arbitrum. Same token, same amount, same you. But on-chain, you sent ETH to a bridge contract on Ethereum and received ETH on Arbitrum from a different contract. Two transactions, two chains, and depending on how you report it, a taxable disposal.

How bridges actually work

When you bridge ETH from Ethereum to Arbitrum using the Arbitrum Bridge, your ETH doesn't teleport. You deposit into a smart contract on Ethereum. That contract locks the ETH. A corresponding contract on Arbitrum releases or mints an equivalent amount to your address. From your perspective, one smooth UX action. On-chain, two discrete events with no explicit link between them in the transaction data.

The IRS hasn't issued specific guidance on bridge transactions. That silence creates real ambiguity. A lock-and-mint bridge, where your L1 asset gets locked and a synthetic representation gets minted on L2, has two plausible tax interpretations. One: it's a non-taxable transfer, like moving crypto between wallets you control. Two: it's a disposal of the L1 asset and a new acquisition of the L2 asset.

If the IRS treats it as a disposal, the math gets painful fast. Say you bought 1 ETH at $1,200 back in 2021. You bridge when ETH is at $3,500 in 2024. That's a $2,300 gain on paper, on an asset you still hold, on a move you probably didn't think of as a sale.

Burn-and-mint bridges are harder to argue as non-taxable. With lock-and-mint, you can make the case that your original ETH still exists, just locked. With burn-and-mint, the L1 token is destroyed and a new token is created on L2. That looks more like an exchange than a transfer.

The cost basis problem doesn't disappear even if you take the optimistic position. Even if you correctly treat a bridge as a non-taxable transfer, the original cost basis has to follow the asset to the new chain. If your tax software doesn't match the deposit on L1 with the receipt on L2, you get zero cost basis on the Arbitrum side. Every subsequent trade on that chain shows inflated gains. I've seen accounts where this created tens of thousands in phantom income from a single unmatched bridge.

This matters beyond the bridge itself. If you swapped ETH for ARB on Camelot after bridging, and your ETH showed zero basis on Arbitrum, that swap overstates your gain by whatever you originally paid for the ETH. Stack a year of trading on top of a mismatched bridge and the error compounds into something that's genuinely hard to unwind at tax time.

Where it breaks in practice

Most people who bridged in 2023 and 2024 don't remember doing it explicitly. The app abstracted it away. Rabby or MetaMask showed a confirmation, the gas went out, tokens appeared on the other side. The transaction shows up in their wallet history as a contract interaction with an address they don't recognize. Nothing says "bridge."

Tax software that can't identify bridge contracts treats outgoing ETH as a sale and incoming ETH as a new purchase at current market price. The L1 deposit generates a capital gain. The L2 receipt gets a fresh cost basis at the day's price. Both records are wrong, and they compound every trade that follows.

The situation gets worse with multiple bridges. Bridge ETH to Arbitrum, bridge some back to Ethereum, bridge USDC to Base. Each leg looks like a sale and a buy. By the time you file, the software shows four or five phantom disposals generating thousands in gains on assets you never sold. Reconciling that manually, matching on-chain events across three blockchains by amount and approximate timestamp, takes hours if you have the data and is impossible if the bridge explorer data is stale.

How it should work

Bridge detection should be automatic. Good software identifies known bridge contracts, matches the deposit on L1 with the corresponding receipt on L2, carries the original cost basis to the new chain, and doesn't generate a taxable event for lock-and-mint transfers. Moonscape does this across all major bridges, including Arbitrum Bridge, Optimism Gateway, and Base Bridge, so your basis follows your asset correctly regardless of which chain you move to.

The matching problem is solvable. It requires knowing the bridge contract addresses, correlating deposit and withdrawal events across chains by amount and timing, and applying the correct tax treatment based on bridge type. None of this is something a person should be doing manually in a spreadsheet.

You didn't sell anything. You moved your own money. But if your records don't prove that, the IRS sees a sale.