Modelo de datos
Esta página describe el modelo de datos común compartido entre las herramientas de datos de mercado del MCP de Cryptohopper. Los tres tipos de datos principales — ticker, libro de órdenes y vela — tienen cada uno su propia página de referencia con el esquema de respuesta exacto:
- Referencia de la herramienta ticker
- Referencia de la herramienta de libro de órdenes
- Referencia de la herramienta de vela
Esta página documenta las convenciones comunes a las tres.
Convenciones
Formato de símbolo
Todos los símbolos de pares usan el formato BASE/COTIZACIÓN:
| Ejemplo | Base | Cotización |
|---|---|---|
| BTC/USDT | BTC | USDT |
| ETH/USD | ETH | USD |
| SOL/USDC | SOL | USDC |
El formato se normaliza del lado del servidor. Los exchanges upstream usan una variedad de notaciones (p. ej., BTCUSDT, BTC-USDT, tBTCUSDT); el MCP presenta un formato uniforme BASE/COTIZACIÓN independientemente de la convención upstream.
Consulta exchanges compatibles para ver la lista de exchanges que el MCP puede consultar.
Identificadores de exchange
Los nombres de exchange en solicitudes y respuestas usan identificadores en minúsculas:
| Identificador | Exchange |
|---|---|
| binance | Binance |
| coinbase | Coinbase |
| kraken | Kraken |
| bybit | Bybit |
| okx | OKX |
La lista completa es devuelta por la herramienta list-exchanges y documentada en exchanges compatibles.
Marcas de tiempo
Todas las marcas de tiempo en las respuestas están en UTC y con formato ISO-8601: 2026-04-24T14:03:00Z
Las marcas de tiempo numéricas, donde se exponen (por ejemplo, dentro de registros de velas), son marcas de tiempo Unix en milisegundos.
Codificación decimal
Los valores de precio y tamaño se devuelven como números JSON (flotantes). Ejemplos de cada herramienta:
// 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]
Debido a que los números JSON se analizan como punto flotante IEEE-754 en la mayoría de los lenguajes, los clientes que requieren precisión exacta (por ejemplo, al calcular tamaños de orden) deben convertir estos valores a un tipo decimal inmediatamente después del análisis — por ejemplo, Decimal de Python, BigNumber.js de JavaScript o equivalente.
Campos opcionales
Algunos campos son opcionales y pueden estar ausentes de las respuestas cuando el exchange upstream no los proporciona. Los clientes deben tratar los campos faltantes como nulos en lugar de un error.
Campos comunes
Tres campos aparecen en la mayoría de las respuestas:
| Campo | Tipo | Descripción |
|---|---|---|
| exchange | string | El identificador del exchange del que provienen los datos. |
| pair | string | El par en formato BASE/COTIZACIÓN. |
| timestamp | string (ISO-8601) | El momento en que se capturaron los datos. |
Los campos restantes dependen de la herramienta. Los esquemas completos siguen a continuación.
Esquema de ticker (resumen)
Una respuesta de ticker es un objeto único que describe el estado actual de un mercado. Los nombres de campos siguen las convenciones de CCXT.
Los campos incluyen:
- last — último precio negociado
- bid — mejor precio de oferta
- ask — mejor precio de demanda
- bidVolume — tamaño en la mejor oferta
- askVolume — tamaño en la mejor demanda
- high — máximo de 24 horas
- low — mínimo de 24 horas
- open — precio de apertura para la ventana de 24 horas
- close — precio de cierre para la ventana de 24 horas (típicamente igual a last)
- previousClose — precio de cierre de la ventana de 24 horas anterior
- average — promedio de apertura y cierre
- vwap — precio promedio ponderado por volumen de 24 horas
- baseVolume — volumen de 24 horas en el activo base
- quoteVolume — volumen de 24 horas en el activo de cotización
- change — cambio de precio absoluto de 24 horas
- percentage — cambio porcentual de 24 horas
Consulta la referencia de la herramienta ticker para el esquema completo y los tipos de campo.
Esquema de libro de órdenes (resumen)
Una respuesta de libro de órdenes contiene dos arrays — ofertas y demandas — cada elemento siendo una tupla [precio, tamaño]:
- bids — array de pares [precio, tamaño], ordenados por precio descendente (oferta más alta primero)
- asks — array de pares [precio, tamaño], ordenados por precio ascendente (demanda más baja primero)
La profundidad de cada lado depende del exchange upstream. Consulta la referencia de la herramienta de libro de órdenes para más detalles.
Esquema de vela (resumen)
Una respuesta de vela es un array de registros OHLCV, ordenados cronológicamente (el más antiguo primero por defecto). Cada registro es en sí mismo un array con siete posiciones:
| Índice | Campo | Descripción |
|---|---|---|
| 0 | timestamp | Hora de apertura de la barra (marca de tiempo Unix en milisegundos) |
| 1 | open | Precio de apertura |
| 2 | high | Precio más alto en la barra |
| 3 | low | Precio más bajo en la barra |
| 4 | close | Precio de cierre |
| 5 | volume | Volumen del activo base negociado en la barra |
| 6 | count | Número de operaciones en la barra |
Ejemplo:
[1778540400000, 81833.92, 81833.92, 81720.40, 81812.55, 142.8731, 318]
Consulta la referencia de la herramienta de vela para el esquema completo, los marcos de tiempo compatibles y la semántica de retrospección.
Respuestas de error
Cuando falla la invocación de una herramienta, la respuesta sigue el sobre de error del MCP:
{
"code": "QUOTA_EXCEEDED",
"message": "Weekly call limit reached",
"details": {
"reset_at": "2026-04-25T00:00:00Z"
}
}