TRIANGULAR FX · CROSS RATES
Triangular arbitrage calculator
Enter three currencies and a fee: get the per-leg breakdown of the A→B→C→A loop and a cross-source scan of real divergences.
Triangular arbitrage analyser
LIVE · 2026-11-05| Leg | Rate | Best source | You get |
|---|---|---|---|
| USD → EUR | 0.890950 | C | 8,909.50 EUR |
| EUR → CNY | 7.5103 | A | 66,912.89 CNY |
| CNY → USD | 0.149961 | C | 9,884.56 USD |
Simulated on routed quotes: 1 USD → EUR = 0.888026 · 1 EUR → CNY = 7.5103 · 1 CNY → USD = 0.149940
SCAN
Cross-source arbitrage scan
Fix a base currency; every mainstream two-hop loop is ranked by net return after fees. Only positive paths are shown.
| # | Path | Leg sources | Loop product | Net product | Net return |
|---|---|---|---|---|---|
| 1 | USD → AFN → ANG → USD | B/A/B | 1.023355 | 1.00808117 | ▲ 0.81% |
| 2 | USD → ANG → AFN → USD | A/B/A | 1.023355 | 1.00808117 | ▲ 0.81% |
| 3 | USD → JPY → AFN → USD | C/B/A | 1.020915 | 1.00567792 | ▲ 0.57% |
| 4 | USD → RUB → AFN → USD | A/B/A | 1.019192 | 1.00397996 | ▲ 0.40% |
| 5 | USD → AFN → RUB → USD | B/A/B | 1.019192 | 1.00397996 | ▲ 0.40% |
| 6 | USD → CHF → AFN → USD | C/B/A | 1.019017 | 1.00380812 | ▲ 0.38% |
| 7 | USD → AFN → PHP → USD | B/A/C | 1.018748 | 1.00354310 | ▲ 0.35% |
| 8 | USD → AFN → IDR → USD | B/A/C | 1.018616 | 1.00341347 | ▲ 0.34% |
| 9 | USD → PHP → AFN → USD | A/B/A | 1.018327 | 1.00312854 | ▲ 0.31% |
| 10 | USD → IDR → AFN → USD | A/B/A | 1.017997 | 1.00280330 | ▲ 0.28% |
| 11 | USD → AFN → AMD → USD | B/A/B | 1.017651 | 1.00246292 | ▲ 0.25% |
| 12 | USD → AMD → AFN → USD | A/B/A | 1.017651 | 1.00246292 | ▲ 0.25% |
Tip: the closer your fee is to real transaction costs, the more honest the verdict.
HOW IT WORKS
How triangular FX math works
A triangular (cross) rate between two currencies is implied through a third. With R(A→B), R(B→C), R(C→A) as the pairwise rates, the loop A→B→C→A multiplies capital as:
A product above 1 means the loop returns more than you started with; below 1 means a loss. Every trade has a cost, so the tool deducts your fee in bps per leg and only marks paths that stay positive after costs.
The honest part: any single source is internally consistent, so the product is always exactly 1. Real divergence lives between data sources — CalcFX routes each leg to the best published quote, so the scan reflects genuine cross-source gaps instead of mathematical noise.
⚠️ Risk notice
Mid-market rates differ from the rates banks actually give you; retail FX adds 0.5%–3% in spreads and fees. This data is for comparison and research, not investment advice. Always re-check with a live platform before executing.
Which currencies does the scan cover?
The scan uses the 40 most liquid currencies in the current snapshot (USD, EUR, CNY, JPY, GBP, HKD, CHF, AUD, CAD …). The manual calculator supports all 200+ codes including BTC and ETH.
What fee setting should I use?
1 bp = 0.01%. Bank FX spreads commonly run 30–150 bps; FX brokers can be 1–5 bps. Start at 50 bps, then match your channel. The engine reports the break-even fee — above it, no path can win.
The calculator says “no profit” — does arbitrage really not exist?
For individuals, opportunities evaporate fast and get eaten by fees, so this is normal. The value here: at ultra-low fees (1–5 bps) you can see the real cross-source divergence ranking — which source is dearest, which path is cheapest.
How large are divergences between the three sources?
Typically 0.01%–0.3% for major pairs; larger for exotics and crypto. Pair detail pages show all source quotes: bigger divergence, bigger theoretical triangle space.
Convert first, hunt arbitrage second
Converter and triangular tool share the same live data.