Home / Crypto & Blockchain / Trading & Investment / Triangular Arbitrage Profit

Formula & Calculator

Triangular Arbitrage Profit

Triangular arbitrage exploits price differences between three trading pairs on the same exchange. For example, you might trade USD → BTC → ETH → USD and end up with more USD than you started with. This formula calculates the profit: (rate A→B times rate B→C times rate C→A minus 1) times 100. If the result is positive, there is an arbitrage opportunity. It is a sophisticated strategy used by professional traders and bots.

Crypto Trading Arbitrage
VORZEP · ARBITRAGE TOOLS

Triangular Arbitrage Calculator

Solve the three-leg arbitrage identity Profit = ( R_AB · R_BC · R_CA − 1 ) × 100 for any of its four variables — the cycle profit, and each of the three leg rates — with step-by-step math, a live three-pair cycle schematic, fee and slippage drag analysis, compounding-over-cycles projection, and a notional-based dollar P&L breakdown.

Profit (%) = ( RAB · RBC · RCA − 1 ) · 100
Solve for
Leg A → B Rate (RAB) The multiplicative rate for converting one unit of currency A into currency B on the first leg of the cycle. If you are trading BTC → ETH, the rate is the number of ETH you receive per BTC. This is the executable rate after fees — if the order book quotes a mid price and you are crossing the spread, use the taker rate, not the mid. The three rates are multiplied together, so they must all be expressed in the same "units of next currency per unit of current currency" convention.
B per A
Leg rate must be greater than zero.
= 1.005000 = +0.5000% gain on this leg
Leg B → C Rate (RBC) The multiplicative rate for converting one unit of currency B into currency C on the second leg. Continuing the BTC → ETH → USDT example, this is the number of USDT you receive per ETH. The three legs must form a closed cycle: A → B → C → A. If you are missing one of the three pairs, there is no triangular arb — you need all three markets to be tradable, which is why liquid exchange pairs matter.
C per B
Leg rate must be greater than zero.
= 1.005000 = +0.5000% gain on this leg
Leg C → A Rate (RCA) The multiplicative rate for converting one unit of currency C back into currency A, closing the cycle. In the BTC → ETH → USDT → BTC example, this is the number of BTC you receive per USDT — which is normally a very small number around 0.0000156, not 1.0. The product of all three rates around a fair cycle should be exactly 1.0; any deviation is the arbitrage opportunity. A product above 1.0 means profit; below 1.0 means you would lose money on the round trip. Do not confuse the rate with the price — USDT/BTC as a price quote of 64,000 becomes a rate of 1/64,000 ≈ 0.0000156 when expressed as BTC per USDT.
A per C
Leg rate must be greater than zero.
= 1.000100 = +0.0100% gain on this leg
Cycle Profit (π) The gross percentage return of one complete A → B → C → A cycle, before fees and slippage are deducted. Positive means the product of the three rates exceeds 1.0 and the cycle is profitable; negative means you would lose money on the round trip. In practice, observable triangular arbitrage opportunities on liquid venues are tiny — typically 0.01% to 0.30% before fees — and disappear within a block or two as bots compete. A profit above 1% usually means you have found either a genuine dislocated market, a stale quote, or an error in the rate direction. The three-leg fee drag on a typical exchange (0.10% per trade) is about 0.30%, so most apparent opportunities are consumed by fees before they are profitable.
%
Cycle profit must be a number (it may be negative).
= 1.0200% = round-trip 1.010200× = 102 bps
Fee & slippage drag per cycle HELPER
% per leg
% per leg
×
%

Each leg of a triangular cycle pays its own fee, so the total cost is roughly 3 × (fee + slippage). On a 0.10% taker fee and 0.02% slippage, that is 0.36% per cycle. A gross profit below 0.36% is not a trade — it is a donation. The net profit figure applies the compounded fee and slippage drag to the gross cycle product: net = gross × (1 − fee − slip)³ − 1. Real taker fees on tier-1 exchanges run 0.02% to 0.10%; maker rebates can turn the fee into a small credit, which is why market-making triangular bots can profit on 0.05% opportunities that a taker cannot touch.

Gross +1.0200% → fees 0.3000% + slippage 0.0600% → net +0.6591% per cycle.
Notional & dollar P&L HELPER
USD
cycles/day
USD
USD/day
USD/mo
USD/yr

This projection assumes the same net profit rate applies to every cycle and that the capital is fully recycled each time. In practice, opportunities are not continuous — you find a mispricing, execute, and wait for the next one. Real triangular arbitrage strategies typically run 20 to 200 cycles per day on liquid pairs, with capital rotated between opportunities. The projection here answers a different question: if this rate held for every cycle, what would the annual P&L look like? It is a ceiling, not a forecast.

$10,000 at +0.6591% net → $65.91/cycle · $3,295.50/day · $98,865/mo · $1.20M/yr.
Compounding over N cycles HELPER
cycles
%
USD
×

Reinvesting profits compounds the return geometrically: final = principal × (1 + net/100)N. At a net 0.6591% per cycle, 1,000 cycles multiply the capital by about 7.1×. The compounding assumption is generous — in reality, larger capital sizes reduce the available opportunity set, because the same mispricing can absorb less of your order. A strategy that earns 0.66% per cycle on $10,000 cannot earn 0.66% per cycle on $10,000,000 — the market moves before you finish executing. Use this projection to understand the shape of compounding, not as a target.

1,000 cycles at +0.6591% net → 712.00% compounded growth · $10,000 → $81,200.00.
Target profit — rate required HELPER
% / cycle
% / cycle
×
% per leg

To achieve a target net profit, the gross cycle product must be large enough to overcome three legs of fee and slippage: gross = (1 + target) ÷ (1 − fee − slip)³ − 1. The equal-gain-per-leg figure shows what each leg would have to contribute if the opportunity were spread evenly around the cycle — the cube root of the gross product. In practice, opportunities are rarely balanced: one leg carries most of the dislocation, and the other two are at or near fair value.

Target +0.5000% net → gross +0.8609% required → product 1.008609× → 0.2868% per leg.
Liquidity & execution feasibility HELPER
USD
%
× depth
seconds

Triangular arbitrage lives or dies on execution speed and depth. A $10,000 order against a $50,000 top-of-book is 20% of visible liquidity — feasible, but it will move the price and eat into the profit. The rule of thumb is to keep each leg under 5% of top-of-book depth to minimise impact, which caps the practical size of a single cycle at around 5% of the smallest leg's depth. On centralised exchanges with co-located matching engines, all three legs can execute in a few milliseconds. On-chain, the three swaps happen in a single atomic transaction, and competition is a gas auction — the winning bot pays the highest priority fee.

$10,000 against $50,000 depth → 20.00% of top-of-book · execution time ~0.05s · feasible but size-limited.
CYCLE PROFIT
1.0200 %
1.0050 × 1.0050 × 1.0001 = 1.010200× · +1.02% per cycle
PROFITABLE — CYCLE PRODUCT ABOVE 1.0
π = ( RAB · RBC · RCA − 1 ) · 100
−1%loss 0%break-even 0.3%fee threshold 1%rare 5%suspicious
+1.02% — PROFITABLE band
Net after costs +0.66%
Cycle product 1.0102×
Avg gain / leg +0.34%
Step-by-step solution
Cycle product vs. third leg rate
Current RAB · RBC Half the first two legs Double the first two legs
Compounded growth over cycles
Net rate per cycle Half the net rate Double the net rate
Sensitivity
Companion arbitrage metrics
Triangular cycle — live schematic
TRIANGULAR ARBITRAGE · PRODUCT OF THREE LEG RATES AROUND A CLOSED CYCLE A BTC B ETH C USDT R_AB 1.0050 R_BC 1.0050 R_CA 1.0001 CYCLE PRODUCT 1.010200× π = ( 1.0050 × 1.0050 × 1.0001 − 1 ) × 100 = +1.0200% CYCLE PROFIT BAND — −5% LOSS TO +10% PROFIT (log-sign scale) −5% −0.3% 0% +0.5% +3% +10% +1.02% LEG-BY-LEG DRAG — WHAT EACH LEG COSTS LEG A→B leg net +0.4800% LEG B→C leg net +0.4800% LEG C→A leg net −0.0099%
Leg A → B rate — the first conversion in the cycle Leg B → C rate — the second conversion Leg C → A rate — closing the cycle back to A
What the triangular arbitrage relation really measures
πcycle profit %
=
( RAB · RBC · RCAproduct of three rates
−
1 )net of the starting unit
·
100to express as %

Arbitrage is a fair-value identity, not a forecast

On a perfectly efficient market, the product of the three rates around a closed cycle would be exactly 1.0. Buy 1 BTC worth of ETH, sell that ETH for USDT, sell that USDT back for BTC, and you would end up with exactly 1 BTC — no more, no less. That is the no-arbitrage condition, and it is the mathematical statement that all three pairwise markets agree on the same relative values. The entire point of the cycle is that this identity is violated in practice: prices on three separate order books move independently, latency differs, and the product drifts above or below 1.0. The arbitrage exists because the identity is temporarily broken, and it closes when a bot trades it back to 1.0.

Speed is the entire edge, and it is measured in milliseconds

On liquid centralised exchanges, a visible triangular dislocation of 0.10% typically lives for 200 milliseconds to a few seconds before competition closes it. Professional arb desks co-locate their servers in the same data centre as the matching engine, use FIX or WebSocket feeds with sub-millisecond latency, and pre-sign all three transactions so that only the final gas payment is variable. A retail trader clicking through a UI cannot compete with this — the opportunity is gone before the order form finishes loading. On-chain triangular arbitrage is worse: the three swaps execute in a single atomic transaction, and bots bid against each other with priority fees, so the winning bid frequently consumes the entire profit.

Fees are the floor below which no arb exists

A three-leg cycle pays a fee on each leg, so the minimum gross profit required for the cycle to be profitable is roughly 3 × fee per leg. On a 0.10% taker tier, that is 0.30% — any gross profit below 0.30% is a net loss. This is why the same opportunity can be profitable for a market maker paying 0.02% (net cost 0.06%) but unprofitable for a taker paying 0.10%. It also explains why triangular arbitrage is dominated by exchanges with maker rebates, VIP tiers, or native token fee discounts. On DEXs, the pool fee replaces the exchange fee, and it is typically 0.05% to 0.30% per swap, which sets a much higher floor for on-chain arb.

A large apparent profit is a red flag, not a gift

If this calculator shows a gross cycle profit of 3% or 5%, the most likely explanations are: a stale quote (one of the three prices has not been updated), a directional error (one of the rates was entered upside down — USDT/BTC at 64,000 instead of BTC/USDT at 0.0000156), a liquidity mirage (the price exists on a dead order book with no depth), or a token with a transfer tax that makes the round trip lossy. Real, executable triangular arbitrage profits on liquid venues are in the range of 0.01% to 0.20% before fees, and they are already being consumed by bots. A number above 1% should be verified three times before it is traded — the market is rarely that wrong for long, and when it is, something else is usually wrong too.

How to Use This Calculator

The triangular arbitrage relation links four quantities: the cycle profit and the three leg rates. Pick which one you want the tool to solve, then fill in the other three.

1. Choose what to solve for

Pick the cycle profit, RAB, RBC, or RCA from the toggle. The calculator rearranges π = (RAB · RBC · RCA − 1) × 100 automatically for whichever variable you choose and greys out that field.

2. Get the direction right

Each leg rate is the number of next currency units you receive per one current currency unit. For BTC → ETH → USDT → BTC, RAB is ETH per BTC (around 18), RBC is USDT per ETH (around 3,500), and RCA is BTC per USDT (around 0.0000156). Getting the direction wrong is the most common source of a fake 64,000% profit.

3. Use executable rates, not mid prices

The rates that matter are the ones you can actually trade at after fees and crossing the spread. If you plan to use market orders, use the taker rates. If you will post limit orders on all three legs, use the maker rates and add the risk that one leg does not fill.

4. Subtract fees and slippage

Enter the per-leg fee and slippage in the fee helper. The net profit line is what actually lands in your account: gross × (1 − fee − slip)³ − 1. A gross profit of 0.4% against 0.36% of costs leaves only 0.04% net — and that 0.04% can be wiped out by any small delay or partial fill.

5. Size against order book depth

Enter the top-of-book depth on the thinnest leg and the calculator shows what fraction of visible liquidity your order represents. As a rule, keep each leg under 5% of top-of-book to avoid material market impact. Larger orders need to be split or routed through multiple venues, which introduces its own execution risk.

6. Switch to Advanced for depth

Advanced mode adds a compounded-growth chart over cycles, sensitivity on ±1% input changes, and companion metrics including the net profit per cycle, the fee-drag ratio, the break-even gross profit, and the required per-leg gain to hit a target net.

What This Tool Offers

Built around the triangular arbitrage identity π = (RAB · RBC · RCA − 1) × 100, the calculation that tests whether a closed three-market cycle is profitable.

Four-way solving

Solve for the cycle profit or any of the three leg rates. The calculator rearranges the formula for whichever variable you choose — useful for working backwards from an observed profit to identify which leg is dislocated.

Fee & slippage drag

Per-leg fee and slippage inputs, with a visual breakdown of what each of the three legs costs and the net profit after all three trades. Break-even analysis included.

Compounding projection

Compounds the net per-cycle rate over any number of cycles and shows the implied capital multiple — a ceiling on what the strategy could earn if the rate held continuously.

Target reverse solve

Enter a target net profit and see the gross cycle product required, and the equal-gain-per-leg figure that would produce it if the dislocation were spread evenly around the cycle.

Liquidity feasibility

Compare notional size against top-of-book depth to see what fraction of visible liquidity your order represents, and whether the trade is executable without moving the market.

Reference tables

A live cycle converter, a lookup grid across leg rates, a break-even table by fee tier, and typical executable profit ranges by venue type.

Reference Tables & Conversions

A live cycle converter, a lookup grid across leg-rate combinations, and typical executable profit ranges by venue type.

Leg rates · cycle product · profit converter

B per A
C per B
A per C
×
%
%
= 1.0050 × 1.0050 × 1.0001 = 1.010200× → gross +1.0200% → net after 0.36% of costs +0.6591% per cycle.

Cycle Profit Lookup — Leg Rate Combinations

Each cell shows the gross cycle profit for a given RCA at each combination of RAB and RBC.

RAB · RBCRCA 0.980RCA 0.995RCA 1.000RCA 1.005RCA 1.010RCA 1.020

Fee Tiers & Break-Even Gross Profit

The minimum gross cycle profit required for a net-positive triangular cycle, at each fee and slippage tier.

Fee tierPer-leg costCycle cost (3 legs)Break-even grossTypical venueNotes
Maker rebate−0.01%−0.03%−0.03%Top-tier exchange VIP, market-maker programsThe venue pays you to provide liquidity — negative cost
VIP maker0.010%0.030%0.030%Exchange VIP tier with native token holdingsRequires large 30-day volume or locked token balance
Standard maker0.020%0.060%0.060%Default maker rate on tier-1 exchangesProfit on opportunities 0.06% and above
VIP taker0.050%0.150%0.150%High-volume taker tierNeeds 0.15% dislocation to break even
Standard taker0.100%0.300%0.300%Default retail rate on tier-1 exchangesThe classic threshold — most visible arbs are gone by now
Mid-tier exchange taker0.200%0.600%0.600%Smaller centralised exchangesWider spreads and thin books; rarely profitable to arb
AMM pool fee (0.05%)0.050%0.150%0.150%Stablecoin pools, correlated-asset poolsLow-fee AMM pools; slippage dominates the real cost
AMM pool fee (0.30%)0.300%0.900%0.900%Standard Uniswap v2-style poolsThe pool fee is embedded in the execution price
AMM pool fee (1.00%)1.000%3.000%3.000%Exotic or long-tail poolsEffectively impossible to arb profitably

Typical Executable Profit by Venue

What an experienced arbitrageur actually captures, net of fees and slippage, on each venue type.

VenueGross dislocation observedNet profit after costsOpportunity frequencyNotes
Tier-1 CEX, BTC/ETH/USDT0.01% – 0.10%Negative — fees dominateContinuous but unprofitable for takersOnly maker rebate accounts can profit here
Tier-1 CEX, altcoin crosses0.05% – 0.30%0.02% – 0.15%Dozens per day per pairThe main hunting ground for retail taker arb
Tier-1 CEX, new listings0.30% – 3.00%0.10% – 2.00%Minutes after listingVery high latency competition; retail usually last in line
Mid-tier CEX, majors0.10% – 0.50%0.05% – 0.30%Several per hour per pairWider spreads but thinner books — size limited
AMM stablecoin triangle0.02% – 0.10%Negative to +0.05%Continuous on 0.01% fee poolsGas cost dominates on mainnet; viable on L2
AMM volatile triangle (0.30% fee)0.10% – 0.60%Usually negativeFrequent during volatilityFee-plus-slippage rarely overcome by dislocation
Cross-DEX (Uniswap vs Sushi)0.20% – 1.50%0.05% – 0.80%Several per day per pairThe classic two-leg arb; MEV bots dominate
CEX vs DEX0.50% – 3.00%0.20% – 1.50%Several per dayRequires bridging, which introduces settlement risk
Perpetual vs spot0.05% – 0.50%0.03% – 0.30%Several per hourBasis trade, not triangular — funding cost matters
New chain, new DEX1.00% – 20.00%0.50% – 10.00%Days after launchOften the highest profit window before bots arrive

Variable Reference

SymbolMeaningTypical rangeUnits
πCycle profit−2 – +5% per cycle
RABLeg A → B rate0.5 – 100,000B per A
RBCLeg B → C rate0.5 – 100,000C per B
RCALeg C → A rate0.5 – 100,000A per C
ProductRAB · RBC · RCA0.98 – 1.05×
FeePer-leg transaction cost−0.01 – 1.00% per leg
SlipPer-leg market impact0.00 – 0.50% per leg
NotionalCapital deployed per cycle10 – 10⁷USD

What Does π = (RAB · RBC · RCA − 1) × 100 Measure?

Triangular arbitrage measures whether three pairwise exchange rates are internally consistent with one another. Start with one unit of currency A, convert it to B, convert B to C, convert C back to A. On an efficient market, you end up with exactly the unit of A you started with — the product of the three rates is 1.0. If the product exceeds 1.0, you end up with more A than you started with, which is a profit. If it is below 1.0, you end up with less. The whole strategy is the pursuit of the first case, which exists precisely because the three separate order books do not update in lockstep.

Triangular Arbitrage Formula

The defining relationship is:

π (%) = ( RAB · RBC · RCA − 1 ) × 100

Rearranged to solve for each leg rate given a target profit:

RAB = ( 1 + π ÷ 100 ) ÷ ( RBC · RCA )
RBC = ( 1 + π ÷ 100 ) ÷ ( RAB · RCA )
RCA = ( 1 + π ÷ 100 ) ÷ ( RAB · RBC )

To convert a quoted price into a rate, invert the quote if necessary. A price of USDT/BTC = 64,000 means 64,000 USDT per 1 BTC, so RBTC→USDT = 64,000. A price of BTC/USDT = 0.0000156 means 0.0000156 BTC per 1 USDT, so RUSDT→BTC = 0.0000156.

Net profit after fees and slippage on each leg uses the compounded drag:

πnet = ( 1 + πgross ÷ 100 ) × ( 1 − fee − slip )³ − 1

Where fee and slip are expressed as decimals. The break-even gross profit is therefore:

πbreak-even = ( 1 ÷ ( 1 − fee − slip )³ − 1 ) × 100

And compounding over N cycles multiplies the capital by:

Multiple = ( 1 + πnet ÷ 100 )N
Final capital = principal × ( 1 + πnet ÷ 100 )N

Triangular Arbitrage Variables

SymbolMeaningNotes
πCycle profitGross return per complete A → B → C → A cycle
RABLeg A → B rateUnits of B received per one unit of A
RBCLeg B → C rateUnits of C received per one unit of B
RCALeg C → A rateUnits of A received per one unit of C — closes the loop
ProductRAB · RBC · RCAEqual to 1 + π ÷ 100; above 1 is profitable
FeePer-leg transaction costThree legs pay three fees
SlipPer-leg market impactScales with order size relative to depth

How Each Variable Affects the Cycle Profit

The cycle profit is multiplicative, not additive, in the three leg rates. A 1% gain on each of three legs does not produce a 3% profit; it produces approximately 3.03% (1.01³ = 1.030301). The compounding is modest at small rates but becomes material at large ones — a 10% gain on each leg produces 33.1%, not 30%. This is why the natural way to think about triangular arbitrage is in terms of the product, not the sum: the product is what you actually end up with after the round trip, and the product is what has to exceed 1.0 for the trade to be profitable.

Fees and slippage work in the opposite direction and compound the same way. Each leg pays its own cost, so the drag is (1 − fee − slip) cubed. At a 0.10% taker fee and 0.05% slippage per leg, the compounded drag is about 0.45% — meaning the gross cycle product has to exceed 1.0045 before the trade breaks even. That is the real bar, and it is higher than most retail traders realise. On a 0.30% AMM pool fee, the compounded drag on three swaps is roughly 0.90%, which makes on-chain triangular arbitrage on standard fee pools mathematically near-impossible without significant dislocation.

Order size affects slippage non-linearly. On a constant-product AMM the impact is roughly size ÷ reserve, so doubling the order doubles the impact. On a centralised order book the impact depends on depth distribution — a shallow top-of-book with thick second and third levels costs less to cross than a uniformly thin book. The practical rule is to keep each leg under 5% of top-of-book depth, which caps the size of a single cycle at around 5% of the smallest leg's visible liquidity. Beyond that, the slippage you pay to execute begins to consume more than the dislocation you captured.

Latency is the invisible variable that decides whether a marginal opportunity is real. On a centralised exchange, the cycle has to be priced, decided, and executed across three separate order books, and each leg introduces round-trip latency to the matching engine. On a co-located server that is 200 microseconds; from a home connection to a remote exchange it is 100 to 300 milliseconds. In that window, the dislocation may close or reverse. On-chain, the three swaps execute in a single atomic transaction, so there is no intermediate latency — but the transaction itself competes with other arb bots in the mempool, and the winner is the one who bids the highest priority fee, which frequently eats the entire profit. The practical result is that genuine triangular arbitrage in 2024 is a low-latency, high-infrastructure game, and the opportunities that survive to be visible to a retail trader are usually the ones that are too small or too risky to be worth bot attention.

Triangular Arbitrage Calculation Examples

Given: RAB = 1.005, RBC = 1.005, RCA = 1.0001 — solve for π
Product = 1.005 × 1.005 × 1.0001 = 1.010200
π = ( 1.010200 − 1 ) × 100 = +1.0200% gross
Given: π = 1.02%, RBC = 1.005, RCA = 1.0001 — solve for RAB
RAB = 1.0102 ÷ ( 1.005 × 1.0001 ) = 1.0102 ÷ 1.0051005 = 1.005072
Given: π = 1.02%, RAB = 1.005, RCA = 1.0001 — solve for RBC
RBC = 1.0102 ÷ ( 1.005 × 1.0001 ) = 1.005072
Given: π = 1.02%, RAB = 1.005, RBC = 1.005 — solve for RCA
RCA = 1.0102 ÷ ( 1.005 × 1.005 ) = 1.0102 ÷ 1.010025 = 1.000173
Given: πgross = 1.02%, fee = 0.10%, slip = 0.02% per leg — solve for net
Compounded drag = ( 1 − 0.001 − 0.0002 )³ = 0.9964
Net = 1.0102 × 0.9964 − 1 = +0.6591%
Given: fee = 0.10%, slip = 0.02% per leg — solve for break-even gross profit
Break-even gross = ( 1 ÷ 0.9964 − 1 ) × 100 = 0.3613%
Any gross profit below 0.3613% is a net loss
Given: net 0.6591% per cycle, 1,000 cycles, $10,000 principal
Multiple = 1.006591¹⁰⁰⁰ = 712×
Final capital = $10,000 × 712 = $7,120,000
Given: $10,000 notional, net 0.6591%, 50 cycles/day
Profit per cycle = $65.91 · daily = $3,295.50
Monthly = $98,865 · Annual = $1,202,858

Frequently Asked Questions

Triangular arbitrage is the practice of exploiting price inconsistencies between three related markets that form a closed cycle. If BTC/ETH, ETH/USDT, and USDT/BTC are all trading, the product of the three implied exchange rates should equal exactly 1.0 — that is the no-arbitrage condition. In practice, the three pairs are quoted on three separate order books that update at slightly different times, so the product drifts above or below 1.0 for brief windows. When it drifts above 1.0, buying around the cycle is profitable, and the arbitrageur who gets there first captures the dislocation. The opportunity exists because information and order flow do not arrive at all three books simultaneously, and it closes when the arb trade itself pushes the three prices back into alignment.

Because the markets are highly competitive and heavily arbitraged. Any time a dislocation of more than a few basis points appears on a liquid pair, hundreds of bots see it simultaneously, and the fastest one captures it within milliseconds. The remaining opportunities are either extremely small (0.01% to 0.05%) or extremely brief (sub-second), or they exist on venues with enough friction — withdrawal delays, KYC, capital controls — that the arbitrageur needs to hold inventory at each venue, which introduces settlement risk and capital cost. On-chain, the equivalent competition is a gas auction: hundreds of bots submit the same atomic arbitrage transaction, and the one that pays the highest priority fee wins, which frequently consumes the entire profit. So the "small profit" is not a limitation of the math — it is the equilibrium outcome of a very crowded race.

Each of the three legs pays its own fee, so the total cost is roughly three times the per-leg fee. On a 0.10% taker rate, that is 0.30% per cycle — meaning the gross profit has to exceed 0.30% before the trade is even close to break-even, and closer to 0.36% once slippage is included. On a market-maker account paying 0.01% maker fee, the total cost drops to 0.03%, which makes a much larger set of opportunities viable. This is the single most important variable for retail arbitrageurs: moving from taker to maker fee tier is often the difference between a losing strategy and a marginal one, and getting a maker rebate turns it into a genuinely profitable one.

Getting the rate direction wrong. A price quoted as USDT/BTC = 64,000 means 64,000 USDT per BTC, so if you are converting from BTC to USDT, the rate is 64,000. But if you are converting from USDT to BTC — which is the closing leg of a BTC → ETH → USDT → BTC cycle — the rate is 1/64,000 ≈ 0.0000156, not 64,000. Using the wrong direction produces a cycle product of 64,000 × something × something, which is astronomically above 1.0 and generates an obviously fake profit in the thousands of percent. If you see a profit above 5%, check your rate directions before doing anything else. In 99 out of 100 cases, the "opportunity" is a directional error.

Rarely on liquid pairs, occasionally on illiquid ones, and frequently on new listings and new chains. On BTC/ETH/USDT, the opportunity is gone in milliseconds and is dominated by co-located professional desks. On altcoin crosses, the dislocation is larger and lasts longer, but the books are thinner — you can often capture 0.05% to 0.15% net on a $5,000 order if you are fast, and you will not be able to scale much beyond that without moving the market. On new listings and new chains, the dislocation can be 1% to 10% for a window of minutes to hours before bots arrive, and this is where retail traders have historically made the most money. The honest answer is that triangular arbitrage is a low-latency infrastructure game at the professional level, but a well-researched retail trader can still find edges in the long tail.

Leg risk is the biggest one: on a centralised exchange, the three legs execute sequentially, not atomically, so if the first leg fills and the second leg's price moves before you get there, you are left holding an unhedged position that you did not want. This is called "legging out" and it is why professional arb desks use FIX protocols, pre-signed orders, and co-located servers to minimise the window. On-chain, the three swaps are atomic — either all three execute or none — so leg risk is zero, but you pay gas for the whole transaction, and if you lose the priority-fee auction, the entire transaction reverts and you burn the gas for nothing. Both venues also carry the usual risks: withdrawal delays, KYC freezes, exchange downtime, and the possibility that one of the three markets is temporarily halted.

In most jurisdictions, yes — triangular arbitrage is simply trading, and there is no rule against buying and selling on public markets to capture a price discrepancy. That said, three important caveats. First, profits are taxable as ordinary income or capital gains depending on the jurisdiction and holding period. Second, on-chain arbitrage is often classified as MEV (maximal extractable value), and while it is not illegal, it is ethically contested and some jurisdictions may regulate it under emerging market-abuse frameworks. Third, if you are using non-public information, front-running customer orders, or exploiting a bug in a smart contract, you have crossed the line into fraud or manipulation. But ordinary triangular arbitrage — seeing a price discrepancy on public order books and trading it — is legal activity that exchanges and regulators have long accepted.

Calculating...

Variables

Symbol Quantity Unit
Profit Triangular arbitrage profit %
Rate_AB Exchange rate from currency A to B
Rate_BC Exchange rate from currency B to C
Rate_CA Exchange rate from currency C back to A

What it means

Triangular arbitrage involves trading three currencies (or tokens) in a cycle to exploit mispricing between exchange rates. This formula calculates the percentage profit. It is used by high‑frequency traders and arbitrage bots. Understanding this helps traders understand complex market inefficiencies. It is a more advanced form of arbitrage and is common in crypto markets. The profit margin is often small and requires automation.

Worked example

Triangular Arbitrage Profit – Two Detailed Examples

Real‑World
Scenario: A trader finds exchange rates: A→B = 0.05, B→C = 20.1, C→A = 0.997. The loop product = 0.05 × 20.1 × 0.997 = 1.00096. Profit = (1.00096 - 1) × 100 = 0.096%. This small profit must exceed trading fees to be worthwhile. Triangular arbitrage involves three currencies and is often automated.
ParameterValue
Rate A→B0.05
Rate B→C20.1
Rate C→A0.997
1Loop Product = 0.05 × 20.1 × 0.997 = 1.00096
2Profit = (1.00096 - 1) × 100 = 0.096%
Result 0.096% ✓ Small profit
Scenario: Another loop: A→B = 3.2, B→C = 0.31, C→A = 1.005. Product = 3.2 × 0.31 × 1.005 = 0.9967. Profit = (0.9967 - 1) × 100 = -0.106% (loss). This loop is not profitable and indicates a mispricing that may be exploited in the opposite direction.
ParameterValue
Rate A→B3.2
Rate B→C0.31
Rate C→A1.005
1Product = 3.2 × 0.31 × 1.005 = 0.9967
2Profit = (0.9967 - 1) × 100 = -0.106%
Result -0.106% ✓ Loss
Insight: Triangular arbitrage profits from exchange rate discrepancies across three pairs. A product > 1 indicates profit; < 1 indicates loss. It requires fast execution and low fees.

Common mistakes

  • Triangular arbitrage: Exploiting price differences across three currency pairs.
  • Rate_AB: The exchange rate from A to B (price of B in terms of A).
  • Rate_BC: The exchange rate from B to C.
  • Rate_CA: The exchange rate from C back to A.
  • Profit %: If the product >1, arbitrage opportunity exists.

Applications

Triangular arbitrage profit calculates the percentage profit from trading a sequence of three currency pairs back to the original. This is a more complex arbitrage used in forex and crypto markets. Traders use it to exploit temporary price discrepancies. By calculating the profit percentage, they can decide whether to execute the trade. This strategy requires fast execution and low fees. Understanding triangular arbitrage is important for advanced traders and market makers.

  • Identifying triangular arbitrage opportunities in crypto markets
  • Evaluating the profitability of multi‑trade sequences
  • Developing automated trading bots for arbitrage
  • Understanding market correlations and price discrepancies
  • Educational understanding of arbitrage strategies

Related calculators · Trading & Investment

Suggest an improvement

Found a mistake? Have a better example? Let us know.
You may send up to 3 suggestions per 24 hours.

Page details

1,758

Views
  • Published July 15, 2026
  • Last updated October 11, 2026