Data Model
This page describes the common data model shared across the Cryptohopper MCP's market-data tools. The three primary data types — ticker, orderbook, and candle — each have their own reference page with the exact response schema:
- Ticker tool reference
- Orderbook tool reference
- Candle tool reference
This page documents the conventions common to all three.
Conventions
Symbol format
All pair symbols use the BASE/QUOTE format:
| Example | Base | Quote |
|---|---|---|
| BTC/USDT | BTC | USDT |
| ETH/USD | ETH | USD |
| SOL/USDC | SOL | USDC |
The format is normalised server-side. Upstream exchanges use a variety of notations (e.g. BTCUSDT, BTC-USDT, tBTCUSDT); the MCP presents a uniform BASE/QUOTE regardless of the upstream convention.
See supported exchanges for the list of exchanges the MCP can query.
Exchange identifiers
Exchange names in requests and responses use lowercase identifiers:
| Identifier | Exchange |
|---|---|
| binance | Binance |
| coinbase | Coinbase |
| kraken | Kraken |
| bybit | Bybit |
| okx | OKX |
The full list is returned by the list-exchanges tool and documented in supported exchanges.
Timestamps
All timestamps in responses are UTC and ISO-8601 formatted: 2026-04-24T14:03:00Z
Numeric timestamps, where exposed (for example, inside candle records), are Unix timestamps in milliseconds.
Decimal encoding
Price and size values are returned as JSON numbers (floats). Examples from each tool:
// Ticker
{
"last": 80934.19,
"baseVolume": 11744.6152
}
// Orderbook level
[80934.18, 5.32816]
// Candle record
[1778540400000, 81833.92, 81833.92, 81720.40, 81812.55, 142.8731, 318]
Because JSON numbers are parsed as IEEE-754 floating-point in most languages, clients that require exact precision (for example, when computing order sizes) should convert these values to a decimal type immediately after parsing — for instance, Python's Decimal, JavaScript's BigNumber.js, or an equivalent.
Optional fields
Some fields are optional and may be absent from responses when the upstream exchange does not provide them. Clients should treat missing fields as null rather than an error.
Common fields
Three fields appear in most responses:
| Field | Type | Description |
|---|---|---|
| exchange | string | The exchange identifier the data came from. |
| pair | string | The pair in BASE/QUOTE format. |
| timestamp | string (ISO-8601) | The time at which the data was captured. |
The remaining fields depend on the tool. Full schemas follow.