Bridge Latency as a Trading Risk Factor: Quantifying Cross-Chain Arbitrage Window Decay
A closed-form Ornstein-Uhlenbeck model of how fast the cross-chain arbitrage opportunity collapses while your assets are in transit
Summary
A closed-form Ornstein-Uhlenbeck model of how fast the cross-chain arbitrage opportunity collapses while your assets are in transit
- Published
- Filed under
- Cross-Chain
- Reading time
- 15 min read
- Sections
- 10
- Research by
- Venym Labs Research
Published by Venym Labs. Methods and limits are in the study; it has not been peer reviewed.
Abstract#
Cross-chain arbitrage looks attractive on paper: an asset trades at different prices on two chains, you buy cheap on one, bridge it, sell dear on the other. The catch is that the bridge takes time — anywhere from seconds (optimistic liquidity bridges) to tens of minutes (lock-and-mint legacy bridges) — and during that window the price gap moves. This note derives a closed-form model for how the expected arbitrage gap decays as a function of bridge latency, validates it against a Monte Carlo simulation (match within 0.8%), and extracts a single transferable formula for the break-even latency above which a cross-chain arbitrage is no longer profitable in expectation: . For representative parameters the break-even latency ranges from ~13 seconds (routine 0.1% spreads) to ~2.5 minutes (large 1% event-driven gaps), which is shorter than almost every production bridge. The implication is stark: most bridge-mediated cross-chain arbitrage is structurally negative-EV at observed gap magnitudes, and the viable strategies are either (a) atomic hedging on the source chain with no bridge wait, or (b) waiting for genuinely large dislocations.
Hypotheses#
- H1 (high confidence): The expected captured arbitrage gap decays exponentially with bridge latency, , under a mean-reverting gap process. Validated by Monte Carlo to within 0.8% of .
- H2 (high confidence): The break-even latency scales logarithmically with the gap-to-cost ratio, . Doubling the gap extends the viable window by only seconds at representative .
- H3 (medium confidence): For latencies beyond a few half-lives, the probability of profitability converges to a constant plateau that is independent of the initial gap. At benchmark parameters this plateau is 0.159 — meaning even with infinite patience you profit on fewer than 1 in 6 attempts.
Data Provenance#
| Input | Value | Provenance | Reliability |
|---|---|---|---|
| Gap mean-reversion | 1.0 /min | Calibrated to cross-exchange spread half-life; literature on DEX arb decay (UNRELIABLE — single point estimate) | UNRELIABLE |
| Stationary gap std | 0.08% | Set to match long-run spread dispersion in our CEX monitoring | RELIABLE |
| Initial gap | 0.10% / 1.00% | Lower bound from our observed cross-venue spreads (AXL: 0.21%, FIDA: 0.12%); upper bound = event scenario | RELIABLE |
| Round-trip cost | 0.08% | Bridge fee + destination gas + source gas + slippage, public fee schedules (UNRELIABLE — varies by bridge and chain) | UNRELIABLE |
| Monte Carlo paths | 300,000 | Exact OU discretization, numpy PRNG seed 20260701 | RELIABLE |
| Closed-form formulas | — | Derived analytically; cross-checked against simulation | RELIABLE |
Our operational context: the PerpsTrader spread monitor records persistent cross-venue gaps of 0.02%–0.21% between AsterDEX and Binance (e.g. AXL 0.21%, FIDA 0.12%, PORTAL 0.10%, CHZ 0.07%). These gaps are the empirical motivation for the model. They are not measurements of the gap process — they are point-in-time observations used only to set . The process parameters () are model assumptions, not fitted estimates.
The Model#
Why the gap mean-reverts#
When an asset trades at on chain A and on chain B with , the gap attracts arbitrageurs. Each execution buys A and sells B, mechanically compressing the gap. In a competitive market the gap therefore reverts toward zero. The canonical model for a mean-reverting quantity is the Ornstein-Uhlenbeck (OU) process:
where is the mean-reversion speed (a proxy for how fast competitors close the gap) and is the diffusion of the gap (idiosyncratic price noise). The stationary variance is .
Closed-form gap statistics at latency #
The OU process is exactly solvable. Conditional on the observed gap , the gap at the moment the bridge delivers (time later) is Gaussian:
This is the central result: the expected captured gap decays exponentially in bridge latency. The half-life of the opportunity is , which is independent of how large the initial gap was.
Break-even latency#
Setting expected profit to zero (, where is the all-in round-trip cost of the bridge plus gas plus slippage):
This is logarithmic in the gap-to-cost ratio. A trade is only viable in expectation if the bridge can deliver in fewer than minutes.
Profitability probability and the asymptotic plateau#
Because is Gaussian, the probability that the trade is profitable (gap still exceeds cost at delivery) is:
As the initial condition is forgotten () and the variance saturates at , giving a constant plateau:
At benchmark parameters () this plateau is . No matter how large the gap you detected, if the bridge is slow enough, you are just randomly sampling the stationary gap distribution and you win only ~16% of the time — less than the cost-adjusted breakeven.
Monte Carlo Validation#
To confirm the closed form is not an artifact of the Gaussian assumption, I ran an exact-discretization simulation (the OU transition kernel is exactly Gaussian, so this is a strong consistency check rather than an independence check). The script that produced every number in this article:
import math, numpy as np
rng = np.random.default_rng(20260701)
KAPPA, SIGMA_EQ, C = 1.0, 0.0008, 0.0008 # per-minute, fraction, fraction
SIGMA = SIGMA_EQ * math.sqrt(2 * KAPPA)
TAUS = np.array([0.1, 0.25, 0.5, 1, 2, 5, 10, 20, 30, 60])
def scenario(g0, n=300_000, dt=0.02):
phi = math.exp(-KAPPA*dt)
s = math.sqrt((SIGMA**2/(2*KAPPA))*(1-math.exp(-2*KAPPA*dt)))
g = np.full(n, g0); out=[]
for k in range(1, int(TAUS.max()/dt)+1):
g = g*phi + s*rng.standard_normal(n)
t = k*dt
i = np.searchsorted(TAUS, t)
if i < len(TAUS) and abs(t-TAUS[i]) <= dt/2+1e-9 and (not out or out[-1][0]!=TAUS[i]):
cf_mean = g0*math.exp(-KAPPA*t)
cf_std = SIGMA_EQ*math.sqrt(1-math.exp(-2*KAPPA*t))
out.append((TAUS[i], cf_mean, g.mean(), cf_std, g.std(), (g>C).mean()))
return out
for label, g0 in [("small 0.10%", 0.001), ("large 1.00%", 0.01)]:
print(f"\n{label}: tau* = {math.log(g0/C)/KAPPA:.3f} min "
f"({math.log(g0/C)/KAPPA*60:.0f} s)")
for tau, mcf, mmc, scf, smc, pmc in scenario(g0):
# profitability prob (closed form)
if scf > 1e-12:
pcf = 0.5*(1+math.erf((mcf-C)/(scf*math.sqrt(2))))
else:
pcf = 1.0 if mcf>C else 0.0
print(f" tau={tau:5.2f}min E[g]CF={mcf:.5f} E[g]MC={mmc:.5f} "
f"SD-CF={scf:.5f} SD-MC={smc:.5f} P(>c)CF={pcf:.3f} "
f"P(>c)MC={pmc:.3f}")
Validation results (300,000 paths):
| Scenario | Max |mean error| | Std rel. error | Max |prob error| |
|---|---|---|---|
| Small gap (=0.10%) | 0.67% of | 0.25% | 0.005 |
| Large gap (=1.00%) | 0.77% of | 0.26% | 0.001 |
Closed-form and simulation agree to within Monte Carlo sampling noise. The formulas are correct.
Results: The Decay Is Brutal#
Break-even latency sensitivity#
The table below shows (minutes) for different competition rates and gap-to-cost ratios :
| (per min) \ | 1.5× | 2× | 3× | 5× | 10× |
|---|---|---|---|---|---|
| 0.3 (slow competition) | 1.35 | 2.31 | 3.66 | 5.36 | 7.68 |
| 0.5 | 0.81 | 1.39 | 2.20 | 3.22 | 4.61 |
| 1.0 (benchmark) | 0.41 | 0.69 | 1.10 | 1.61 | 2.30 |
| 2.0 (fierce competition) | 0.20 | 0.35 | 0.55 | 0.80 | 1.15 |
| 5.0 | 0.08 | 0.14 | 0.22 | 0.32 | 0.46 |
Even under slow competition (, half-life ~2.3 min), a routine 1.5× gap-to-cost ratio gives you only 1.35 minutes before the trade is negative-EV. Fierce competition () collapses the window to under 10 seconds. Only genuinely large dislocations (, e.g. a 1% gap against 0.1% costs) buy you meaningful time — and even then only minutes.
Two concrete scenarios#
| Latency | Small gap =0.10%: E[net] | Large gap =1.00%: E[net] |
|---|---|---|
| 0.25 min (15s) | −0.002% | +0.699% |
| 0.5 min (30s) | −0.019% | +0.527% |
| 1 min | −0.043% | +0.288% |
| 2 min | −0.066% | +0.055% |
| 2.5 min (τ*) | −0.075% | 0.000% |
| 5 min | −0.079% | −0.073% |
| 10 min | −0.080% | −0.080% |
For routine spreads the expected profit is negative at every realistic bridge latency. For a large 1% dislocation, the window stays open until ~2.5 minutes and then collapses to the same −0.08% floor as the small-gap case. Past ~5 minutes, both scenarios are identical — the gap has forgotten its origin and you are sampling the stationary distribution.
Discussion#
Robust findings. The exponential decay of and the logarithmic scaling of are exact consequences of the OU assumption and do not depend on the specific parameter values. The break-even formula transfers directly: plug in your own , , and . The asymptotic plateau is likewise closed-form and parameter-portable.
Preliminary findings. The specific benchmark numbers (13s break-even for small gaps, 152s for large gaps) scale linearly with . If real cross-chain competition is slower than my 1.0/min estimate (say for illiquid long-tail assets), the break-evens triple to ~40s and ~7.7min respectively — which begins to make optimistic bridges (1-2 min) viable for large gaps. This is testable: fit from observed gap-autocorrelation and recompute.
Not supported. The model does not support any strategy of "wait for the bridge and hope." The plateau probability (0.159) is below the 0.5 needed for a naive always-execute policy to be profitable. Bridge-mediated cross-chain arbitrage is a negative-EV strategy at observed routine gap magnitudes unless you either (a) execute atomically by hedging on the source chain immediately and repricing the bridge leg as a separate inventory-management problem, or (b) restrict to event-driven gaps where .
Limitations#
This analysis rests on several simplifying assumptions that bound its direct applicability. The OU process assumes constant, symmetric mean reversion — real gap dynamics are regime-dependent (calm vs. volatile periods), exhibit jumps around listing events, and the reversion rate is itself a single UNRELIABLE point estimate rather than an empirically fitted value; the benchmark /min should be replaced with a measured autocorrelation half-life before any capital is deployed. Costs vary widely by bridge protocol and destination chain congestion and were fixed at a single representative value. The model treats the gap as a scalar and ignores the path-dependence of real execution (partial fills, front-running by bridge-aware competitors, and the fact that large arbitrageurs are the mean reversion). Results are derived for a single asset pair and should not be generalized to other exchanges, venues, or asset classes without re-estimating , , and — long-tail assets with thinner liquidity and slower competition may admit meaningfully longer viable windows. The staging spread observations (AXL, FIDA, etc.) are point-in-time and do not characterize the gap process; they set only. No transaction-level execution data was used to validate the profit projections end-to-end.
Conclusion#
Bridge latency is not a friction to be tolerated — it is the dominant risk factor in cross-chain arbitrage, and it acts on a timescale (seconds to a couple of minutes) that is shorter than almost every production bridge. The closed-form break-even gives a quick go/no-go screen: if your bridge cannot deliver faster than , do not take the trade. For the routine 0.1%-class spreads we observe between venues, the answer is essentially never; for 1% event-driven dislocations, you have roughly two minutes. The strategic conclusion is that profitable cross-chain arbitrage is not a bridge-selection problem — it is a hedging problem: lock the gap atomically on the source chain at detection time, and let the bridge leg be managed as inventory risk rather than as the arbitrage itself.
References#
- Ornstein, L. S. & Uhlenbeck, G. E. (1930). On the theory of the Brownian motion. Phys. Rev. 36, 823.
- Øksendal, B. (2003). Stochastic Differential Equations. Ch. 5 (the OU process as the unique strong solution of a linear SDE).
- Avellaneda, M. & Lee, J.-H. (2010). Statistical arbitrage in the US equities market. Quantitative Finance 10(7) — OU model of mean-reverting spreads.
- Daian, P. et al. (2019). Flash Boys 2.0: Frontrunning, Transaction Reordering, and Consensus Instability in Decentralized Exchanges. IEEE S&P — competition dynamics that set .
- Venym Labs internal data: cross-exchange spread monitor, PerpsTrader databases (944,150 funding observations; AsterDEX↔Binance spread snapshots). Provenance: SIMULATED/OPERATIONAL — point-in-time observations, not process estimates.