{"openapi":"3.1.0","info":{"title":"Crypto Arbitrage API","version":"1.0.0","description":"Live crypto cross-exchange price comparison and arbitrage spread — the spot price of a coin on the major centralised exchanges at once, served straight from each exchange's public ticker. For any base coin it fetches the spot price from Binance, OKX, Bybit, KuCoin and Coinbase in parallel, returns the per-exchange price table, identifies the cheapest venue to buy and the most expensive to sell, and computes the spread between them — absolute and percentage — the headline cross-exchange arbitrage gap. Get the full price table, the best buy/sell opportunity, or the list of exchanges. Live, no key, no cache. Quotes are USDT (Binance/OKX/Bybit/KuCoin) or USD (Coinbase), within a few basis points. A price-discovery and arbitrage layer for trading, analytics and dashboard apps. Distinct from single-exchange price and OHLC APIs — this is the cross-exchange arbitrage view.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/cryptoarbitrage-api","description":"oanor gateway"}],"tags":[{"name":"Prices"},{"name":"Arbitrage"},{"name":"Exchanges"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/prices":{"get":{"operationId":"get_v1_prices","tags":["Prices"],"summary":"Per-exchange price table + spread summary","description":"","parameters":[{"name":"base","in":"query","required":false,"description":"Coin ticker","schema":{"type":"string"},"example":"BTC"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"base":"BTC","count":5,"prices":[{"name":"Coinbase","price":62818.905,"quote":"USD","exchange":"coinbase"},{"name":"KuCoin","price":62849.6,"quote":"USDT","exchange":"kucoin"},{"name":"Binance","price":62850,"quote":"USDT","exchange":"binance"},{"name":"Bybit","price":62851.1,"quote":"USDT","exchange":"bybit"},{"name":"OKX","price":62854.8,"quote":"USDT","exchange":"okx"}],"summary":{"cheapest":{"price":62818.905,"exchange":"coinbase"},"mid_price":62844.881,"spread_abs":35.895,"spread_pct":0.0571,"most_expensive":{"price":62854.8,"exchange":"okx"}}},"meta":{"timestamp":"2026-06-09T03:02:36.095Z","request_id":"5cde7851-5c73-422e-a6b3-78772cd17116"},"status":"ok","message":"Prices retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/arbitrage":{"get":{"operationId":"get_v1_arbitrage","tags":["Arbitrage"],"summary":"Best buy/sell venues and spread for a coin","description":"","parameters":[{"name":"base","in":"query","required":false,"description":"Coin ticker","schema":{"type":"string"},"example":"ETH"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"base":"ETH","note":"Indicative gross spread from public last prices; excludes fees, withdrawal limits and slippage.","buy_at":{"price":1665.255,"exchange":"coinbase"},"sell_at":{"price":1666.29,"exchange":"kucoin"},"mid_price":1665.963,"spread_abs":1.035,"spread_pct":0.0622,"profit_per_unit":1.035,"exchanges_compared":5},"meta":{"timestamp":"2026-06-09T03:02:36.466Z","request_id":"b184cb11-156d-4ddd-9a26-cb89c8730359"},"status":"ok","message":"Arbitrage retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/exchanges":{"get":{"operationId":"get_v1_exchanges","tags":["Exchanges"],"summary":"List the compared exchanges","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":5,"exchanges":[{"id":"binance","name":"Binance","quote":"USDT"},{"id":"okx","name":"OKX","quote":"USDT"},{"id":"bybit","name":"Bybit","quote":"USDT"},{"id":"kucoin","name":"KuCoin","quote":"USDT"},{"id":"coinbase","name":"Coinbase","quote":"USD"}]},"meta":{"timestamp":"2026-06-09T03:02:36.580Z","request_id":"3cba99f0-c0ae-4f50-b1b3-0f36ec7bc7b4"},"status":"ok","message":"Exchanges retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Service metadata","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"source":"Binance, OKX, Bybit, KuCoin, Coinbase public spot tickers (live)","service":"cryptoarbitrage-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/prices":"Per-exchange price table + spread summary (base=BTC).","GET /v1/arbitrage":"Best buy/sell venues and the spread for a coin (base=ETH).","GET /v1/exchanges":"List the compared exchanges and their quote currencies."},"description":"Live crypto cross-exchange price comparison and arbitrage spread: for any coin, the spot price on Binance, OKX, Bybit, KuCoin and Coinbase at once, the cheapest venue to buy and the most expensive to sell, and the spread (absolute and percentage) between them. Get the full price table, the best buy/sell opportunity, or the exchange list. Live, no key. Distinct from single-exchange price and OHLC APIs — this is the cross-exchange arbitrage layer.","exchanges_live_for_btc":5},"meta":{"timestamp":"2026-06-09T03:02:36.936Z","request_id":"c72f13ed-7cf8-4e73-a3d0-59aa76f3ba6e"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":8000,"rps_limit":5,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":1200,"monthly_call_quota":110000,"rps_limit":15,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":3400,"monthly_call_quota":550000,"rps_limit":40,"hard_limit":true},{"slug":"desk","name":"Desk","price_cents_month":8200,"monthly_call_quota":2800000,"rps_limit":100,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/cryptoarbitrage-api"}