Price differences between cryptocurrency exchanges are not accidents. They are structural features of fragmented, globally distributed markets operating around the clock with independent order books and varying liquidity depths. Crypto arbitrage is the practice of profiting from these differences by buying on the cheaper venue and selling on the more expensive one. It sounds straightforward, but the execution requires speed, capital, and a precise accounting of all costs — because fees have a tendency to consume spreads that look attractive on paper.
The Hidden Costs That Kill Arbitrage
Trading fees are just the beginning. Withdrawal fees for moving coins between exchanges — often a fixed amount in the coin being transferred — add to the cost of every cycle. Bitcoin withdrawal fees on major exchanges typically run 0.0001–0.0005 BTC, which at $65,000/BTC is $6.50–$32.50 per transfer. Network transaction fees for on-chain transfers are separate and variable based on mempool congestion. Slippage is the cost of moving a large order through a thin order book — if you try to buy 10 BTC at $64,500 but only 2 BTC are available at that price, the rest execute at higher prices, narrowing your actual spread. Finally, execution risk — the time between identifying a spread and completing both legs — can close or reverse the opportunity entirely, leaving you with two offsetting positions that lose money.
Exchange Fee Tiers and Their Arithmetic Impact
Exchange fee structures reward high-volume traders with lower per-trade costs, and this affects arbitrage viability dramatically. Binance charges 0.1% taker fees at standard tier, dropping to 0.02% for BNB holders at high volume levels. Coinbase Advanced Trade charges 0.05% maker and 0.10% taker at standard tier. These numbers seem small until you model their cumulative effect: at 0.2% round-trip fees on a 0.5% spread, fees consume 40% of gross profit, leaving 0.3% net. A trader executing 20 BTC per day at $65,000 per BTC with 0.3% net profit makes $3,900 daily — compelling at scale, but requiring pre-positioned capital of $1,300,000 on each exchange to execute without transfer delays.
Risk Management for Arbitrage Positions
Even well-executed arbitrage carries residual risks that can turn a profitable strategy unprofitable over time. Exchange counterparty risk is real: funds held on an exchange can be frozen during outages, regulatory actions, or insolvency events. Maintaining large pre-funded balances on multiple exchanges increases exposure to exchange failure. Network congestion can delay on-chain transfers, closing the price window before the second leg executes. API rate limits and downtime interrupt algorithmic strategies at critical moments. Experienced arbitrageurs diversify across multiple exchange pairs, size positions conservatively relative to available liquidity on each venue, and maintain meticulous logs for tax reporting. The risk-adjusted profitability of any arbitrage strategy should be evaluated over months of consistent execution, not individual winning trades.
Why Price Differences Exist Between Exchanges
Every exchange operates its own order book with its own buyers, sellers, and market makers. A sudden surge of buy orders on Coinbase can push the BTC price momentarily higher there than on Binance. Regulatory differences also matter: exchanges serving different regional markets — a Korean exchange versus a US one, for example — can sustain persistent premiums or discounts reflecting local demand and capital flow restrictions. The well-known "Kimchi premium" historically kept Korean BTC prices 5–30% above global averages because Korean won could not easily flow out of the country to buy cheaper coins elsewhere. During periods of high volatility, spreads that normally last seconds can persist for minutes, creating windows that manual traders can potentially exploit.
Execution Speed and Automation Requirements
Manual arbitrage is rarely viable for the most liquid cryptocurrencies. A spread visible to a human looking at two browser tabs has almost certainly already been seen by algorithmic traders running co-located servers with direct API access. Spreads on BTC and ETH between major exchanges typically close within seconds. The opportunities that persist long enough for manual execution are usually explained by an asymmetric cost or risk — a withdrawal is slow, a market is illiquid, or the spread reflects regional capital controls. Systematic retail arbitrageurs typically pre-fund accounts on both exchanges to eliminate transfer delays, executing both legs simultaneously via API and clearing positions within seconds.
Tax Treatment of Arbitrage Trades
Each completed arbitrage cycle is a taxable event in the US. The IRS treats cryptocurrency as property, so every sale — even if immediately followed by a new purchase — triggers a realized gain or loss. A trader executing 50 arbitrage cycles in a day generates 50 taxable transactions. Short-term capital gains rates apply because arbitrage positions are held for seconds or minutes, not over a year. High-volume arbitrageurs should work with a crypto-aware tax professional and use dedicated software like Koinly or CoinTracker to reconcile trades accurately. In some jurisdictions, high-frequency crypto trading may be classified as a business activity rather than capital gains, changing the applicable tax treatment entirely.
Calculating Arbitrage Profit After Fees
The central formula is simple. Gross profit equals (sell price minus buy price) multiplied by the number of coins traded. Net profit subtracts all fees from that gross figure. If BTC trades at $64,500 on Exchange A and $65,000 on Exchange B, the gross spread on one coin is $500. A 0.1% trading fee on each side costs $64.50 + $65.00 = $129.50 in total trading fees. Net profit is $500 − $129.50 = $370.50 per BTC traded. The break-even fee on each side is the spread divided by twice the average price: $500 / ($129,500 × 2) = 0.193%. Any per-side fee higher than that and the trade is unprofitable regardless of gross spread.
Types of Crypto Arbitrage Strategies
Simple exchange arbitrage (buying on one exchange, selling on another) is the most intuitive form but increasingly competed away by algorithmic traders. Triangular arbitrage exploits pricing inefficiencies within a single exchange by cycling through three currency pairs — for example, BTC/USDT to BTC/ETH to ETH/USDT — to end with more USDT than you started with. Statistical arbitrage uses historical price correlations to identify pairs that have diverged and bet on their convergence. Flash loan arbitrage, available on EVM chains, borrows large sums within a single transaction block, executes the arbitrage, and repays the loan — all without requiring upfront capital, though the profit must cover gas fees which can exceed $100 on mainnet. Cross-chain arbitrage monitors prices for the same asset wrapped or bridged across multiple blockchains, though bridging delays complicate execution.
Assessing Whether an Opportunity Is Worth Executing
Before executing any arbitrage trade, run through the complete cost calculation. Identify the spread as a percentage of the buy price: ($65,000 − $64,500) / $64,500 = 0.775%. Subtract estimated round-trip trading fees — typically 0.1–0.5% per side for retail takers, so 0.2–1.0% total. Subtract any withdrawal or network fees amortized over the position size. If the remaining margin is positive and exceeds your minimum acceptable return, assess whether execution risk is manageable given current market volatility. A 0.75% spread with 0.2% round-trip fees leaves 0.55% — profitable at scale, but thin enough that a single unexpected slippage event or fee increase wipes it out. Treating each execution as a standalone calculation rather than assuming a fixed edge is the discipline that keeps arbitrage profitable over time.