Crypto price across exchanges
Crypto price across exchanges - bid, ask, last and 24h USD volume on Kraken, Coinbase, Gemini, Bitstamp, Bitfinex, Gate.io, KuCoin and MEXC, USDT books converted to USD, with best bid/ask, cross-exchange gap and premium vs median
Answeringour last check, 2026-10-18
1 of 1checks answered this week
529 msmedian answer time
$0.01listed price per call
$0.01price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
GET https://saylorinnovations.com/api/crypto/exchanges/spread
| Category | Market data |
|---|---|
| Provider host | saylorinnovations.com |
| Networks | eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp |
| Payment schemes | exact |
| Self-reported calls, 30 days | 2 from 2 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-18 | valid payment request | 402 | $0.01 | 529 ms |
Example input (from the provider)
{
"method": "GET",
"queryParams": {
"base": "ETH"
},
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE",
"HEAD"
],
"type": "string"
},
"queryParams": {
"properties": {
"base": {
"description": "Coin symbol, e.g. BTC, ETH, SOL, XRP, DOGE",
"type": "string"
}
},
"required": [
"base"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"arbitrage_note": {
"description": "Arbitrage note",
"type": [
"string",
"null"
]
},
"base": {
"description": "Base asset or base currency",
"type": "string"
},
"best_ask": {
"description": "Lowest ask price",
"type": "object"
},
"best_bid": {
"description": "Highest bid price",
"type": "object"
},
"checked_at": {
"description": "Time the check was run (UTC)",
"type": [
"string",
"null"
]
},
"cross_exchange_gap_pct": {
"description": "Cross exchange gap, as a percentage",
"type": [
"number",
"null"
]
},
"exchanges": {
"description": "Exchanges included",
"items": {
"properties": {
"ask": {
"type": [
"number",
"null"
]
},
"bid": {
"type": [
"number",
"null"
]
},
"exchange": {
"description": "Exchange the data comes from",
"type": "string"
},
"last": {
"type": "number"
},
"premium_vs_median_pct": {
"description": "Premium vs median, as a percentage"
},
"quote": {},
"volume_24h_base": {
"description": "Volume 24h base",
"type": [
"number",
"null"
]
},
"volume_24h_usd": {
"description": "Trading volume over the last 24 hours in US dollars"
}
},
"type": "object"
},
"type": "array"
},
"exchanges_checked": {
"description": "Exchanges checked",
"type": [
"number",
"null"
]
},
"exchanges_responding": {
"description": "Exchanges responding",
"type": "number"
},
"high_low_last_spread_pct": {
"description": "High low last spread, as a percentage",
"type": [
"number",
"null"
]
},
"median_last": {
"description": "Median last",
"type": "number"
},
"quote_note": {
"description": "Quote note",
"type": [
"string",
"null"
]
},
"usdt_usd_rate": {
"description": "USDT price in US dollars used to convert USDT quotes",
"type": [
"number",
"null"
]
}
},
"required": [
"base",
"exchanges"
],
"type": "object"
},
"type": {
"const": "json",
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}