Methodology
Price gaps
- Exchanges: Upbit and Bithumb (KRW markets); Binance, OKX, Bitget, Gate and HTX (USDT markets); Kraken (USD market).
- Coins: BTC, ETH, XRP, SOL and DOGE.
- Prices: the last trade price from each exchange's public market-data API, read by a Cloudflare Worker about every 20 seconds and cached briefly. No API keys, no trading.
- Conversion: USDT prices are converted to USD with Kraken's USDT/USD price. KRW prices are converted with the European Central Bank's daily USD/KRW reference rate (via frankfurter.dev), and separately with Upbit's live KRW-USDT price.
- Global reference: the median USD price of the non-Korean exchanges that answered (up to six).
- Missing exchanges: some exchanges refuse requests from some Cloudflare data centers. Since launch we have seen Binance refuse requests from Hong Kong and the United States, OKX from Hong Kong, and Bitget from the United States. A missing exchange is shown with a dash (—) and the reference uses the rest; the count is shown next to the reference price.
- Gap: exchange price in USD ÷ global reference − 1, in percent. The kimchi premium is this gap for Upbit.
- Widest gap after fees: the highest gap minus the lowest gap, minus two trades at 0.10% each. It ignores withdrawal fees, transfer time, order-book depth and legal limits on moving money, so it is an upper bound, not a profit.
- History: a scheduled job stores the gaps every 5 minutes, starting 13 October 2026.
Exchanges we do not show
- Coinbase: its market-data terms do not allow public display without written consent.
- Bybit: it blocks requests from several of the regions our servers run in, so its data would be unreliable.
- KuCoin and MEXC: planned; not yet added.
Research in the lab
- "Replay" means a backtest on historical exchange prices. Unless stated otherwise, orders fill at the next bar's open, Upbit's 0.05% fee is charged on every trade, and where noted one price tick of slippage is added.
- Settings were chosen on a training period and checked on a later test period, or chosen year by year from past data only (walk-forward).
- "Paper" means live prices and live order books with no real money. Paper fills walk the real order book at the moment of the order.
- Known limits: delisted coins are missing from exchange data, so replays are optimistic; past results do not predict future results.
Data reuse
Our derived numbers (percentages) can be reused with a link to spreadatlas.com. We do not redistribute exchanges' raw price feeds. See data and embed.