SpreadScan / Blog / How to Calculate Crypto Arbitrage Profit — Complete Formula & Examples (2026)

How to Calculate Crypto Arbitrage Profit — Complete Formula & Examples (2026)

Learn the exact formula for calculating crypto arbitrage profit after all fees. Real examples with trading fees, network costs, and slippage — plus a minimum spread threshold guide.

26.04.2026 13:57

The most common mistake in crypto arbitrage is treating the spread as profit. You see ETH with a 1.2% difference between two exchanges and think: "Nearly 1.2% — let's go." After all costs, you're left with 0.3%. Or nothing.

This article covers the complete framework for calculating real arbitrage profit: every cost category, the full formula, worked examples across different strategies, and a practical shortcut for evaluating opportunities quickly.


The Four Cost Categories in Crypto Arbitrage

Before calculating profit, you need a clear picture of everything that reduces it. There are four distinct cost types.

1. Exchange Trading Fees

Every exchange charges a percentage on each trade. The standard rate is around 0.10%, but several factors affect the actual amount:

Maker vs Taker fees. A limit order (maker) typically costs less than a market order (taker). In arbitrage, speed usually matters more than a few basis points — so most traders use market orders and pay taker fees. Always use the taker rate in your calculations.

Volume discounts and native tokens. Binance charges 0.075% instead of 0.10% when fees are paid in BNB. OKX and Bybit have VIP tiers with progressively lower fees. If you trade regularly, these discounts add up.

Standard taker fees on major exchanges:

  • Binance: 0.10% (0.075% with BNB)
  • Bybit: 0.10%
  • OKX: 0.10% (0.08% on VIP1)
  • KuCoin: 0.10%
  • Gate.io: 0.10%
  • Kraken: 0.26% (expensive — factor this in carefully for Kraken pairs)

In arbitrage you pay a trading fee twice: once when buying, once when selling. Total trading cost = fee on Exchange A + fee on Exchange B.

2. Withdrawal Fees (Network Fees)

In cross-exchange arbitrage that involves moving coins, the sending exchange charges a flat withdrawal fee. This is not a percentage — it's a fixed amount that doesn't scale with your trade size.

Why this matters: on small trades, a flat fee can erase all profit. For example:

  • You made $8 profit from the price difference
  • USDT withdrawal fee on TRC20 network: $1
  • USDT withdrawal fee on ERC20 network: $3–5 (depending on network congestion)

Always choose the cheapest network that both exchanges support for the coin you're trading.

Approximate withdrawal fees for common assets:

  • USDT (TRC20): ~$1
  • USDT (BSC/BEP20): ~$0.50–1
  • ETH (Arbitrum): ~$0.01–0.05
  • ETH (Ethereum mainnet): $1–5 (varies with gas prices)
  • BTC (Bitcoin): ~$1–3
  • SOL (Solana): ~$0.01
  • BNB (BSC): ~$0.10

3. Slippage

Slippage is the difference between the price you see and the price you actually get. It happens because real order books have finite liquidity — large orders consume multiple price levels.

Example: the scanner shows ETH at $2,480. You try to buy 10 ETH with a market order. The first 3 ETH fill at $2,480, the next 4 at $2,481, the last 3 at $2,482. Your average fill price: $2,481. That $1 difference per coin is slippage — about 0.04%.

Slippage increases when:

  • Your order size is large relative to available liquidity
  • You're trading low-volume coins
  • You use market orders in a thin order book

For major pairs (BTC, ETH, SOL) on top exchanges with positions under $10,000, slippage is minimal: 0.01–0.05%. For low-volume altcoins it can reach 0.5–2%.

4. Fiat Conversion Spread (P2P Arbitrage)

In P2P arbitrage involving fiat currencies, there's an additional cost: the spread between the best P2P buy and sell rates. The best P2P seller might offer USDT at 88.2 RUB/USD while the best buyer accepts at 88.7 RUB/USD when the market rate is 88.5. That gap is the P2P spread — an additional cost layered on top of the others.


The Complete Profit Formula

Now putting it all together.

Cross-exchange arbitrage with coin transfer:

Net Profit = (Sell Price × Quantity)
           − (Buy Price × Quantity)
           − (Buy Price × Quantity × Fee_A)
           − (Sell Price × Quantity × Fee_B)
           − Withdrawal Fee
           − Slippage_A
           − Slippage_B

Balance arbitrage (no transfers):

Net Profit = (Sell Price × Quantity)
           − (Buy Price × Quantity)
           − (Buy Price × Quantity × Fee_A)
           − (Sell Price × Quantity × Fee_B)
           − Slippage_A
           − Slippage_B

The only difference is the absence of a withdrawal fee — because no transfer occurs.

Triangular arbitrage (single exchange):

Net Profit = Final USDT Amount − Initial USDT Amount
           − (Trade 1 Value × Fee)
           − (Trade 2 Value × Fee)
           − (Trade 3 Value × Fee)

Worked Examples with Real Numbers

Example 1: Cross-Exchange Arbitrage — ETH/USDT

Setup:

  • Position size: $5,000
  • Buy on Gate.io: ETH = $2,478
  • Sell on KuCoin: ETH = $2,502
  • Gate.io taker fee: 0.10%
  • KuCoin taker fee: 0.10%
  • ETH withdrawal via Arbitrum: $0.02
  • Estimated slippage: 0.03%

Calculation:

Line item Amount
Purchase cost $5,000.00
Sale proceeds (proportional to price difference) $5,048.42
Gross spread +$48.42 (0.97%)
Gate.io fee (0.10%) −$5.00
KuCoin fee (0.10%) −$5.05
ETH withdrawal (Arbitrum) −$0.02
Slippage (0.03% × 2) −$3.01
Net profit +$35.34 (0.71%)

From a 0.97% gross spread, you keep 0.71% — a solid result.


Example 2: Same Spread, Expensive Network

Everything identical, but ETH is withdrawn via Ethereum mainnet during high congestion:

Line item Amount
Net profit (as above, before withdrawal) +$35.36
ETH withdrawal (Ethereum mainnet) −$4.50
Net profit +$30.86 (0.62%)

One network choice costs $4.48 on a single trade. Over 10 trades per month, that's $44.80 lost to network fees alone. Always use the cheapest available network that both exchanges support.


Example 3: Triangular Arbitrage

Setup:

  • Starting capital: $10,000 USDT
  • Exchange: Binance
  • Route: USDT → BNB → ETH → USDT
  • Taker fee: 0.10% per trade (standard); 0.075% with BNB

Triangular arbitrage works when the implied cross-rate between three pairs is slightly off. The opportunity might look like this:

Step Trade Amount after fee
Start $10,000 USDT $10,000
1 USDT → BNB (slight underpricing) ~$10,021 equivalent
2 BNB → ETH (slight underpricing) ~$10,038 equivalent
3 ETH → USDT $10,041 USDT
Three fees (0.10% each = 0.30%) −$30.00
Net profit $11 (0.11%)

Triangular arbitrage generates small profit per cycle — but cycles complete in seconds on a single exchange with no transfer risk. At $10,000, 5–10 successful cycles per day produces meaningful cumulative returns.


Example 4: A Losing Trade — What It Looks Like

This example matters. Not every spread you see is actually profitable.

Setup:

  • Position: $1,000
  • Spread: 0.45% (looks promising)
  • Coin: low-volume altcoin
  • Trading fees: 0.10% × 2 = 0.20%
  • Withdrawal fee: $1.50 (fixed, TRC20)
  • Slippage (thin order book): 0.30%

Calculation:

Line item Amount
Gross spread (0.45%) +$4.50
Trading fees (0.20%) −$2.00
Withdrawal fee −$1.50
Slippage (0.30%) −$3.00
Net result −$2.00 (loss)

A visually attractive 0.45% spread becomes a losing trade. This is exactly why every opportunity needs a full cost calculation, not just a glance at the spread percentage.


The Minimum Spread Threshold Method

Doing a full calculation for every opportunity in real time isn't practical — especially when spreads disappear in seconds. The threshold method is the professional shortcut.

Calculate your minimum viable spread once, then only look at opportunities above that threshold. Everything below: skip.

Minimum spread threshold formula:

Threshold = Fee_A + Fee_B + (Withdrawal Fee ÷ Position Size × 100) + Expected Slippage + Target Profit Margin

Threshold values for common scenarios:

Scenario Trading fees Withdrawal (at $5,000) Slippage Target margin Threshold
Balance arbitrage, liquid pairs 0.20% 0% 0.05% 0.15% 0.40%
Transfer arbitrage, cheap network 0.20% 0.05% 0.05% 0.15% 0.45%
Transfer arbitrage, expensive network 0.20% 0.10% 0.05% 0.15% 0.50%
Low-liquidity altcoins 0.20% 0.10% 0.30% 0.20% 0.80%

For most standard arbitrage scenarios, the threshold falls between 0.40–0.60%. Spreads below this level either produce minimal profit or involve too much execution risk relative to reward.


How Position Size Affects Profitability

Position size is one of the most overlooked factors in arbitrage economics. Fixed costs (withdrawal fees) don't scale with trade size — but percentage costs do. This creates a size-efficiency relationship.

Effect of fixed withdrawal fee ($1.00 flat) across different position sizes:

Position Gross profit at 0.5% Withdrawal fee Net profit Efficiency
$500 $2.50 $1.00 $1.50 60%
$1,000 $5.00 $1.00 $4.00 80%
$2,000 $10.00 $1.00 $9.00 90%
$5,000 $25.00 $1.00 $24.00 96%
$10,000 $50.00 $1.00 $49.00 98%

The sweet spot where fixed costs stop meaningfully impacting efficiency is around $3,000–5,000 per trade. Below $500, arbitrage with coin transfers is very hard to make profitable at typical spread levels.


How SpreadScan Handles Fee Calculations

Manually computing all these parameters before each trade is impractical at any meaningful trading pace.

SpreadScan incorporates the following into spread calculations automatically:

  • Current taker fees for each exchange
  • Withdrawal fees by network for each coin
  • Real-time network availability (if withdrawals are suspended on either side, it's visible immediately)

This means you're looking at opportunity quality, not just raw spread size. A pair showing 1.2% gross spread might rank below a 0.7% pair after fees — depending on which networks are available and what they cost.

Open the spread scanner →


Pre-Trade Checklist

Run through this before every trade:

  1. Does the spread exceed your threshold (typically 0.40–0.60%)?
  2. Have you calculated trading fees on both exchanges?
  3. Have you checked the withdrawal fee for the specific network you'll use?
  4. Are deposits open on the receiving exchange?
  5. Is there sufficient order book depth for your position size?
  6. Have you estimated slippage based on visible book depth?
  7. After all costs, does positive net profit remain?

If any answer is no — skip the trade.


Conclusion

Real arbitrage profit is always lower than the raw spread suggests. Trading fees, network costs, and slippage together typically consume 0.25–0.50% or more. The key principles:

  • Never evaluate an opportunity by spread alone — always calculate net profit
  • Use the threshold method: only consider opportunities above your minimum viable spread
  • Network selection is a direct lever on profitability — cheaper networks mean more money kept per trade
  • Position sizing matters: the same spread is more efficient at $5,000 than at $500

Try the spread calculator on SpreadScan →


This article is for educational purposes only and does not constitute financial advice.


Frequently Asked Questions

Which fees matter more — trading fees or withdrawal fees? It depends on position size. At small amounts ($500–2,000), flat withdrawal fees can equal or exceed total trading fees. At $5,000+, percentage-based trading fees (0.20% combined) become the dominant cost.

Can I reduce trading fees? Yes. Use the exchange's native token for fee payment (BNB on Binance gives −25%), build trading volume to reach VIP tiers, and use limit orders instead of market orders where execution speed allows.

What are "hidden" costs in arbitrage? Slippage is the most common hidden cost. The bid-ask spread in the order book (the gap between the best buy and sell prices) is another cost that beginners often overlook — it's embedded in every market order.

Is there a calculator for this? SpreadScan incorporates fees and network costs into displayed spreads. For manual analysis, use the formulas from this article in a spreadsheet — it takes about 10 minutes to build a template you can reuse.

What's the minimum spread worth trading? For standard cross-exchange arbitrage with coin transfer: 0.50–0.60% minimum. For balance arbitrage without transfers: 0.35–0.40%. For triangular arbitrage on a single exchange: 0.30%+ (three fees, no withdrawal cost).

Does slippage apply to triangular arbitrage? Yes — each of the three trades in a triangular route has potential slippage. This is why triangular arbitrage works better on liquid pairs (BTC, ETH, BNB) where order book depth is sufficient to fill orders at or near the displayed price.