Skip to content
Finance Lessons

Cross-Chain Arbitrage & Bridge MEV

The Risks Atomicity Hid

Inventory risk, bridge latency, and probabilistic finality / reorg risk — the exposure window between your two legs where the price can move against you.

12 min Updated Jun 20, 2026

On a single chain, atomicity was your bodyguard. Your flash-loan arb either executed both legs in one transaction or reverted as if nothing happened — buy and sell were welded together, settled in the same block, hedged for exactly zero seconds. You could quote profit on a snapshot of the AMM curves and that snapshot was the truth, because nothing could change between leg one and leg two. There was no “between.”

Cross-chain settlement deletes that bodyguard. As the earlier lessons established, a cross-chain arb is two independent legs on two independent ledgers, and nothing forces them to settle together. Leg one commits on chain A; leg two settles on chain B some minutes later. In that gap you are exposed — naked, directional, at the mercy of the tape. This lesson is about decomposing exactly what lives in that gap.

The unifying idea is the exposure window: the stretch of wall-clock time between when your first leg is committed and your second leg settles, during which you are not hedged. Atomicity hid three risks inside a window of length zero. Stretch the window to minutes and all three wake up. Let’s name them.

The exposure window

Before you read — take a guess

In a single-chain atomic flash-loan arb, how long are you directionally exposed between the buy leg and the sell leg?

Analogy. Atomic arb is a simultaneous swap: two people slap their cards on the table at the exact same instant, and a referee guarantees both hands flip or neither does. Cross-chain arb is a relay race in slow motion: you hand off your baton on chain A, then sprint to chain B, and only when you arrive does the trade complete. The whole time you’re running, the price is allowed to move. That run is the exposure window.

Definition. The exposure window Δt\Delta t is the elapsed time from commitment of leg one to settlement of leg two. For a cross-chain arb it decomposes cleanly into two waits:

Δt=tfinality+trelay\Delta t = t_{\text{finality}} + t_{\text{relay}}

where tfinalityt_{\text{finality}} is the time you wait for your source-chain leg to be deep enough that the bridge will trust it (confirmations), and trelayt_{\text{relay}} is the time the bridge takes to carry the message and let leg two execute on the destination.

Render the hero below and drag the sliders — the confirmations slider grows the finality wait, the bridge latency slider grows the relay, and you’ll watch both the exposure window and the illustrative price drift swell. The “atomic baseline” chip is your reminder of where this number used to live: ~0.

Cross-chain arb: the exposure windowExposure window (price can drift): 3.9 min

Finality wait (Chain A) + Bridge relay = Exposure window (price can drift)

Exposure window (price can drift)
3.9 min
Total settlement time
4.4 min
Illustrative price drift
±0.22%
Atomic single-chain arb: 12 sOne block, exposure ≈ 0 — both legs settle together or not at all.

A single-chain arb is one atomic transaction — both legs settle in the same block, so the price never gets a chance to move against you. A cross-chain arb is two transactions on two ledgers, separated by a finality wait and a bridge relay. Wait for more confirmations and you’re safer against reorgs, but the at-risk window — and the price drift that can eat your spread — grows right along with it.

The math the window reintroduces

Price doesn’t drift linearly with time — it diffuses. Under the standard random-walk model, the standard deviation of the return over a window scales with the square root of time:

σwindow=σannΔt/T\sigma_{\text{window}} = \sigma_{\text{ann}}\sqrt{\Delta t / T}

where σann\sigma_{\text{ann}} is annualized volatility, TT is one year in seconds (31,536,00031{,}536{,}000), and Δt\Delta t is the window in seconds. Let’s plug in the canonical scenario: ETH priced in USDC, chain A at $2000, chain B at $2020 — a 1% gross gap of $20/ETH. Block time ≈ 12s, so 12 confirmations ≈ 144s of finality wait; bridge relay ≈ 90s. That gives an exposure window of:

Δt=144+90=234 s4 min\Delta t = 144 + 90 = 234 \text{ s} \approx 4 \text{ min}

Crypto annualized vol runs hot — take σann=0.80\sigma_{\text{ann}} = 0.80 (80%). Then:

σwindow=0.80×234/31,536,000=0.80×0.002720.0022\sigma_{\text{window}} = 0.80 \times \sqrt{234 / 31{,}536{,}000} = 0.80 \times 0.00272 \approx 0.0022

So a 1-sigma move over your 4-minute window is about ±0.22% of price — roughly 0.0022×20000.0022 \times 2000, i.e. ±$4.4 on a $2000 ETH. Set that against your 1% gap ($20): one sigma is about a fifth of your edge. That sounds comfortable until you remember that a 2-sigma move (±$8.8) is routine and a 3-sigma move (~±$13.2) is a Tuesday in crypto — and an adverse 3-sigma move eats two-thirds of the gap. The edge that looked like a sure thing is actually a thin cushion against a fat-tailed coin flip.

The deep point: atomic arb’s exposure window is ~0, so σwindow0\sigma_{\text{window}} \approx 0 — risk-free in the model. Cross-chain arb’s window is minutes, and because risk scales with Δt\sqrt{\Delta t}, you can’t make it vanish by being clever; you can only trade it down by waiting less, which (we’ll see) conflicts with waiting enough for safety.

Warning:

Pitfall: treating the gap as locked-in profit

The 1% gap is what you’d capture if both legs settled now. They don’t. The number you actually realize is the gap minus whatever the price did during the window. Quoting the snapshot gap as profit is like quoting a stock’s price as your sale proceeds before you’ve placed the sell order — technically a number, just not your number.

Fill in the square-root-of-time scaling and what it implies.

Choose the correct option for each blank and check.

Price drift over a window scales with the of elapsed time, so doubling the exposure window multiplies the 1-sigma drift by about . With ~80% annual vol, a ~4-minute window gives a 1-sigma move near of price.

When it matters

The exposure window dominates your risk whenever the gap is thin relative to volatility and the window is long. A fat 3% gap on a low-vol pair with a 30-second window barely cares about drift; a 0.4% gap on volatile ETH with a 6-minute window is mostly a volatility bet wearing an arbitrage costume. Always size the window against the gap before you size the trade.

Inventory risk

Before you read — take a guess

You buy 100 ETH on chain A at $2000, planning to sell on chain B at $2020. While the bridge relays, what is your actual market position?

Analogy. You agree to buy a house for $2000k and flip it to a waiting buyer for $2020k — $20k locked in, supposedly. But you have to close on the purchase before the resale paperwork clears, and the housing market moves while the lawyers shuffle documents. For those weeks you simply own a house, fully exposed to the market, regardless of your tidy flip plan. Inventory risk is owning the thing in the gap.

Definition. Inventory risk is the price risk of the asset you are holding between legs. After leg one, you have a real, settled position — long the asset you bought (or short the asset you sold and can’t yet offset). Until the offsetting leg settles, that position is naked directional exposure. Its P&L per unit of adverse move is the full position size, not some hedged fraction.

Worked example

Buy 100 ETH on A at $2000 (cost $200,000), intending to sell on B at $2020 for $202,000 — a gross edge of $2,000. Now suppose ETH drifts down 0.5% during the window. The price you’ll actually sell at on B tracks the market, so it slides too:

Outcome on the held 100 ETHArithmeticResult
Adverse drift on inventory0.005×100×2000-0.005 \times 100 \times 2000−$1,000
Gross arb edge (gap)0.01×100×20000.01 \times 100 \times 2000+$2,000
Net (drift eats half)200010002000 - 1000+$1,000

A 0.5% adverse move erased half your edge. Push the adverse move to 1% and the loss on inventory is 0.01×100×2000=-0.01 \times 100 \times 2000 = −$2,000, which exactly cancels the gap — you did all that work for zero. Any drift past 1% and the “arbitrage” is a loss. Note the asymmetry: the gap is fixed at $2,000, but the inventory loss scales without limit as the move grows.

Warning:

Pitfall: 'it's arbitrage, so it's market-neutral'

Market-neutrality is a property of simultaneous legs. It is only true when both legs settle together — which on one chain they do, and across chains they emphatically don’t. For the minutes your second leg is in transit you hold a pure directional position. Calling that “market-neutral” is calling a half-built bridge “a bridge.”

Match each phase of the cross-chain arb to the position you actually hold.

Pick a term, then click its definition.

When it matters

Inventory risk scales with position size × adverse move, so it bites hardest when you’re pushing size to make a thin gap worth the gas. Doubling your ETH to double the $2,000 edge also doubles the dollar loss from any drift — the risk grows in lockstep with the reward, which is precisely why blindly scaling up a thin cross-chain gap is a trap.

Latency risk

Before you read — take a guess

You spot a 1% gap and fire leg one. Your bridge takes 8 minutes to let leg two land. What's the dominant risk SPECIFIC to that delay (beyond price drift)?

Analogy. You see a great fare on a flight and start a slow checkout that takes ten minutes to process. Two things can go wrong: the airline reprices the seat (the gap reverts), or someone else grabs the last seat first (a competitor closes it). Either way, the deal you saw isn’t the deal you get. Latency risk is the price of being slow in a race where the prize disappears.

Definition. Latency risk is the risk that the time to settle leg two is long enough that the opportunity changes character before you capture it — the gap reverts, or a competing arbitrageur (racing the same public gap) closes it first. Unlike inventory risk, which is about price moving against your held position, latency risk is about the opportunity structure itself decaying during the wait. Bridges are the slow link: a fast liquidity-network bridge clears in seconds-to-minutes, while canonical or optimistic bridges can take minutes-to-hours.

Bridge latencies and capture probability

Bridge typeTypical leg-two latencyWhat it does to capture
Fast liquidity network (e.g. relayer-fronted)seconds → ~2 minHigh capture: short race, gap often survives
Canonical / native rollup bridge (deposits)minutes → ~20 minLower capture: long enough that gaps frequently revert
Optimistic bridge (challenge window)hours (often ~7-day max on withdrawals)Near-zero for arb: the gap is long dead before funds clear

The intuition in numbers: suppose a given 1% gap historically persists for an average of ~3 minutes before competition closes it. A 30-second bridge captures it almost always; a 4-minute bridge captures it maybe half the time; an optimistic bridge with an hours-long window captures it essentially never. Your expected profit is the gap times the probability the gap is still alive when leg two lands — and that probability falls steeply with latency.

Warning:

Pitfall: quoting profit on the gap you SAW

The gap on your screen is the gap now. The only gap that pays you is the gap that survives the latency. Build your P&L on the expected surviving gap — gap × P(still open when leg two settles) — not the snapshot. A 1% gap behind a 20-minute bridge might have an expected surviving value closer to 0.1%.

Sort each consequence by which risk it primarily belongs to.

Place each item in the right group.

  • Your unhedged long loses money on an adverse tick
  • Position size × adverse move determines the loss
  • The gap reverts to zero during a 15-minute bridge wait
  • Optimistic bridge's hours-long window makes capture ~impossible
  • A rival arb closes the same gap before your leg two lands
  • ETH drops 0.6% while your held position waits to be offset

When it matters

Latency risk dominates for fast-mean-reverting gaps and crowded routes. A structural, slow-moving mispricing tolerates a slow bridge; a fleeting micro-gap on a heavily-watched pair is a foot race you’ll lose the moment your bridge is slower than the field’s. Match the bridge speed to the gap’s half-life, or don’t take the trade.

Probabilistic finality & reorg risk

Before you read — take a guess

You act on chain B after just ONE confirmation of your source leg on chain A, and chain A then reorgs that block away. What's your situation?

Analogy. Probabilistic finality is ink that’s still wet. On chains where recent blocks can be reorged (reorganized — replaced by a competing chain segment), the last few blocks aren’t truly settled; they can be peeled off and rewritten. Acting on the destination before the source is dry is like shipping a signed contract before the other party’s signature has actually set — if their ink smears away, you’ve shipped against nothing.

Definition. Reorg risk is the risk that the source-chain block containing leg one gets reorged away after you’ve already acted on the destination, leaving you with a one-legged (naked) position. Confirmations are your defense: each additional block buried on top of yours lowers the probability it can be reorged. Ethereum reaches full economic finality only after 2 epochs (12.8 minutes); acting on a single confirmation is acting on something that is statistically likely but absolutely not final.

The cruel trade-off: confirmations buy safety against reorgs but cost time, and time is the exposure window. More confirmations → lower reorg probability → but a longer window → more price drift. You cannot minimize both at once. This is exactly the tension the timeline island makes physical — drag the confirmations slider up and watch reorg-safety improve while the exposure window (and the drift readout) gets worse.

Worked example: confirmations vs. drift

Block ≈ 12s, 80% annual vol, 90s bridge relay held fixed. Compare confirmation depths:

ConfirmationsFinality waitWindow Δt\Delta t1-sigma driftReorg safety
112s102s0.80102/31,536,0000.14%0.80\sqrt{102/31{,}536{,}000} \approx 0.14\%Poor — single-block reorgs happen
12144s234s0.22%\approx 0.22\%Strong vs short reorgs
64 (~finality)768s858s0.80858/31,536,0000.42%0.80\sqrt{858/31{,}536{,}000} \approx 0.42\%Near-final, reorg ~negligible

Going from 1 to 64 confirmations cuts reorg risk dramatically but triples the expected drift cost (0.14% → 0.42%) — which against a 1% gap is the difference between a comfortable cushion and a coin-flip. The “right” depth is wherever the marginal reorg risk you remove stops being worth the marginal drift you add.

Warning:

Pitfall: confusing 'confirmed' with 'final'

One confirmation means included, not settled. On probabilistic-finality chains, a handful of recent blocks can always be rewritten; bridges that act on a not-yet-final source message can later have that message reversed, leaving you holding the one-legged bag. Treat finality as a time cost you must pay, not a checkbox that’s instantly true.

Info:

Make it concrete on the island

Scroll back to the timeline and set confirmations to 1, then to 64. Watch the exposure window and drift readouts move together — every block of reorg safety you add is paid for in drift. That single slider is the whole reorg-vs-window trade-off in one drag.

When it matters

Reorg risk matters most on chains with weak or slow finality and when the source leg is the one you commit first. On a fast-finality destination you can be aggressive about acting; on a probabilistic source you must wait out confirmations — and that wait, not the bridge, is often the bigger slice of your exposure window for volatile assets.

Putting it together: the risk-adjusted gap

Before you read — take a guess

Which inequality must hold for a cross-chain arb to be worth doing?

Analogy. This is the cost-stack mindset from the on-chain arb course, with new floors added to the building. There, your gross gap had to clear gas + slippage + fees. Here the window stacks two more floors on top: expected adverse drift and a tail allowance for the rare reorg/hack catastrophe. You only profit if the gap is taller than the whole stack.

The inequality. Let gg be the gross gap (as a fraction of price), ff the bridge fee, dd the expected adverse drift cost, and τ\tau a tail allowance. The trade clears only if:

g>f+d+τg > f + d + \tau

Worked decision

Take the canonical 1% gap and stack the costs:

ComponentValueNote
Gross gap gg+1.00%The $20 on $2000
Bridge fee ff−0.05%Typical fast-bridge route fee
Expected drift cost dd−0.22%The 1-sigma window drift from section 1
Tail allowance τ\tau−0.30%Reorg/hack buffer (foreshadows Lesson 5)
Net edge+0.43%1.000.050.220.301.00 - 0.05 - 0.22 - 0.30

Thin but positive — $0.43 of edge per $100, before you’ve even priced the gas on both chains. Now run a 0.3% gap through the same stack:

0.30%0.05%0.22%0.30%=0.27%0.30\% - 0.05\% - 0.22\% - 0.30\% = -0.27\%

Negative. The 0.3% gap looked like free money on the screen and is a guaranteed loser once the window’s costs are honest. The lesson: cross-chain arb has a much higher minimum viable gap than atomic arb, because atomicity used to zero out dd and shrink τ\tau — and the bigger your bridge latency and confirmation depth, the higher that minimum climbs.

Tip:

The mental model

Atomic arb: profit if gap > gas + slippage + fees. Cross-chain arb: profit if gap > fees + expected drift + tail allowance (+ gas on both chains). The two new terms are the rent atomicity used to pay for you. Everything in this lesson is an accounting of that rent.

Complete the risk-adjusted decision.

Choose the correct option for each blank and check.

A 1% gap nets about after a 0.05% fee, 0.22% expected drift, and 0.30% tail allowance — thin but positive. The same stack turns a gap , because its minimum viable gap sits above 0.3%.

When it matters

Always — this inequality is the gatekeeper for every cross-chain arb. The terms shift with the route (fee), the asset’s volatility and your window (drift), and the chains’ finality and bridge security (tail), but the discipline is constant: never take a trade whose gap doesn’t clear the full stack with room to spare. The thinner the gap, the more ruthlessly you must price dd and τ\tau.

Recap

Big picture

The risks atomicity hid

  • The risks atomicity hid
    • Exposure window
      • Δt = finality wait + bridge relay
      • Atomic: ~0; cross-chain: minutes
      • Drift scales with √time
    • Inventory risk
      • Hold the asset between legs
      • Unhedged directional position
      • Loss = size × adverse move
    • Latency risk
      • Bridge slow → gap may revert
      • Competitors close it first
      • Price the surviving gap, not the seen gap
    • Finality / reorg risk
      • Source reorg → one-legged position
      • Confirmations buy safety, cost time
      • ETH full finality ≈ 12.8 min
    • Risk-adjusted gap
      • g > fee + drift + tail allowance
      • Cost-stack mindset from on-chain arb
      • High minimum viable gap
Atomicity made the exposure window zero. Stretch it to minutes and three risks wake up — and the gap must clear them all.

The risks atomicity hid — recap

Question 1 of 80 correct

The exposure window Δt is best decomposed as:

Check your answer to continue.

Mark lesson as complete