Dashboard · VantagePlanned

L2 Bridge Flows: Net Deposits from Ethereum by Chain

Which layer 2s are gaining or losing assets through their canonical bridges with Ethereum?

Deposits from Ethereum and withdrawals back through each layer 2's canonical bridge, by chain and token, with the net flow per day.

ShareEmail itvoltfincrypto.com/apps/l2-bridge-flows
Blueprint

What the dashboard will show.

The dashboard as it will open in Vantage. Each figure is named here and arrives with its receipt; until its data is published, its place stays empty.

  • Layer 2
  • Period
  • Asset

All layer 2s

Net canonical bridge flows for every covered layer 2.

Net ETH flow, period

ETH

ETH deposited into covered canonical bridges minus ETH withdrawals finalized from them over the selected period.

Figurebridge_flows_dailyAwaiting data

Net stablecoin flow, period

USD

Stablecoins deposited minus stablecoin withdrawals finalized across covered canonical bridges over the selected period.

Figurebridge_flows_dailyAwaiting data

Largest net inflow

The layer 2 with the largest net inflow over the selected period, with the amount and its share of all deposits.

Figurebridge_flows_dailyAwaiting data

Withdrawals pending

USD

Value of withdrawals started on covered layer 2s and not yet finalized on Ethereum at the latest read.

Figurebridge_flows_dailyAwaiting data

Net flow by layer 2

USD

Each layer 2's deposits minus finalized withdrawals over the selected period, with ETH and stablecoins shown apart.

Bar chartbridge_flows_dailyAwaiting data

One layer 2

Deposits and withdrawals for the chosen layer 2, by token and day.

Deposits, period

USD

Value deposited through the chosen layer 2's canonical bridge over the selected period.

Figurebridge_flows_dailyAwaiting data

Withdrawals finalized, period

USD

Value released from the chosen layer 2's canonical bridge by finalized withdrawals over the selected period.

Figurebridge_flows_dailyAwaiting data

Deposits by token

USD

The chosen layer 2's deposits over the selected period, split by token.

Donutbridge_flows_dailyAwaiting data

Deposits and withdrawals by day

USD

Daily deposits and finalized withdrawals for the chosen layer 2, with the net flow drawn as a line.

Stacked barsbridge_flows_dailyAwaiting data

Layer 2
Every covered layer 2
Period
Last week, month, quarter or year
Asset
ETH, stablecoins or every covered token
About

What it answers, and for whom.

Every rollup has a canonical bridge: contracts on Ethereum that lock what users deposit and release it when a withdrawal is proven. This dashboard counts the deposits going in and the withdrawals coming out of each covered layer 2's canonical bridge each day, for ETH, stablecoins and other major tokens. It then shows the net flow, chain by chain.

Net flows show where capital is moving between Ethereum and its layer 2s, which balances alone hide: a chain can hold a steady total while large deposits and withdrawals cancel out. Withdrawals are counted when they are finalized on Ethereum, the moment assets actually leave the bridge, and those still waiting are shown apart.

Only canonical bridges are counted. Assets that reach a layer 2 through third-party bridges, intent networks or burn-and-mint routes such as Circle's CCTP for native USDC never touch the canonical escrow, so the dashboard lists them as outside its scope rather than mixing them in.

Method

How it will be measured.

Every figure will be read at a block, kept with its source and its exact read, and open a receipt anyone can re-check.

How receipts work →
  1. Deposits are read from each bridge's own events on Ethereum: on OP Stack chains, TransactionDeposited and the standard bridge's deposit events; on Arbitrum, MessageDelivered and gateway DepositInitiated; on ZK rollups, their bridges' deposit events.
  2. Withdrawals are counted when finalized on Ethereum: WithdrawalFinalized on OP Stack portals, OutBoxTransactionExecuted on Arbitrum and the finalization events of each ZK rollup's bridge.
  3. Amounts are exact token amounts from the events, valued at oracle prices at the block of each transfer; ETH, stablecoins and other tokens are kept in separate series.
  4. Withdrawals started on a layer 2 but not yet finalized are shown as pending, so a burst of exits shows before the assets leave the bridge.
  5. Every daily figure names the Ethereum block range it was summed over and the bridge contracts read.

The data it needs

Read from chain state and history

  • bridge_flows_dailyTo buildBridge deposits and withdrawalsDeposits into and withdrawals out of canonical and major third-party bridges by chain, token and day, plus escrow balances at day end.
  • native_prices_dailyTo buildOracle prices by dayReference prices of major assets read from on-chain oracle feeds (Chainlink latestRoundData) at each day's last block, with each round's update time.
  • OptimismPortal TransactionDeposited and WithdrawalFinalized events on Ethereum for OP Stack chains
  • L1StandardBridge deposit and withdrawal-finalized events for ETH and ERC-20 tokens
  • Arbitrum Bridge MessageDelivered, gateway DepositInitiated and Outbox OutBoxTransactionExecuted events
  • Deposit and withdrawal-finalization events of the ZKsync, Linea and Scroll bridges on Ethereum
  • Withdrawal initiation events on each layer 2, for withdrawals still pending
  • Chainlink price feeds at the block of each transfer
Questions

Questions people ask.

What is a canonical bridge?

A rollup's own bridge, whose contracts on Ethereum hold deposited assets and release them only when the rollup's proof system confirms a withdrawal. Assets in it are secured by the rollup itself, unlike tokens brought in by a third-party bridge.

Why are withdrawals counted when they are finalized?

On optimistic rollups a withdrawal waits about a week between being started on the layer 2 and being released on Ethereum. Counting it at finalization matches the moment the assets leave the bridge, and withdrawals still waiting are shown as pending.

Why are USDC flows missing for some chains?

Native USDC moves between chains through Circle's CCTP, which burns it on one chain and mints it on another, so it never passes through a canonical bridge. Those transfers are outside this dashboard's scope and are labelled as such.

Does a net outflow mean a layer 2 is shrinking?

Not necessarily. Assets can leave through third-party bridges or exchanges, and value can be created on the layer 2 itself. Net canonical flows show one route in and out; the L2 TVL dashboard shows the full balance by source.

Canonical bridge
A rollup's own bridge contracts on Ethereum, which hold deposits and release them only on withdrawals its proof system confirms.
Net flow
Deposits minus finalized withdrawals over a period, for one bridge and token.
Pending withdrawal
A withdrawal started on a layer 2 that has not yet been finalized on Ethereum.

Build L2 Bridge Flows: Net Deposits from Ethereum by Chain on verified data.

Start free in Voltfin Studio: boards, tables and reports where every number opens its receipt. Tell us which data you need first and we will build it next.