mcp-server
Crypto yield data for AI agents: lending, savings, staking, borrowing & stablecoin rates. 18 tools.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (10)
- LOWen get_coin
- LOWen top_coins
- LOWen similar_coins
- LOWen coin_history
- LOWen fear_greed_index
- LOWen top_movers
- LOWen stablecoin_index
- LOWen stablecoin_peg_stability
- LOWen resolve_symbol
- LOWen stablecoin_earn_benchmark
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"@bitcompare/mcp-server"
]
}
}
}Paquetes ejecutables
1.1.0stdioPuntos de conexión remotos
https://api.bitcompare.net/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (21)
🟢get_rates(symbol, category, provider, limit)
List current rates across providers, optionally filtered by symbol, category, or provider. For "what is the best yield on BTC right now?" style questions, ALWAYS pass category="lending"/"borrowing"/"staking" — an unfiltered call mostly returns spot prices (category="price"), not yields.
Esquema de entrada
{
"type": "object",
"properties": {
"symbol": {
"type": "string",
"description": "Filter by coin symbol, case-insensitive (e.g. \"btc\" or \"BTC\")"
},
"category": {
"type": "string",
"enum": [
"lending",
"borrowing",
"staking",
"price"
],
"description": "Filter by product category. IMPORTANT for yield questions: without this filter, most returned rows are category=\"price\" (spot prices), not yields. Pass category=\"lending\", \"borrowing\", or \"staking\" to get APY/interest-rate data."
},
"provider": {
"type": "string",
"description": "Filter by provider slug, case-insensitive"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 500,
"description": "Max results, default 100"
}
},
"additionalProperties": true
}Esquema de salida
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"rates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"description": "Provider slug, e.g. `nexo`"
},
"symbol": {
"type": "string",
"description": "Coin symbol, e.g. `btc`"
},
"category": {
"type": "string",
"enum": [
"lending",
"borrowing",
"staking",
"price"
],
"description": "Product category"
},
"rate": {
"type": "number",
"description": "Rate value; semantics depend on unitType (percentage APY vs absolute price)"
},
"coinId": {
"type": [
"string",
"null"
],
"description": "Canonical coin id, e.g. `bitcoin` (nullable)"
},
"providerSymbol": {
"type": [
"string",
"null"
]
},
"metadata": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"unitType": {
"type": "string",
"enum": [
"percentage",
"absolute",
"ratio"
]
},
"unitSymbol": {
"type": [
"string",
"null"
]
},
"lastUpdated": {
"type": "string",
"description": "ISO-8601 timestamp of the most recent rate refresh"
},
"ageSeconds": {
"type": "integer",
"description": "Seconds since lastUpdated — use this to discount stale rows rather than trusting them as current"
},
"stale": {
"type": "boolean",
"description": "True when this row is old enough that it should be treated with caution (audit BC-9)"
}
},
"required": [
"provider",
"symbol",
"category",
"rate",
"coinId",
"lastUpdated"
],
"additionalProperties": true
},
"description": "Matching rate entries"
},
"count": {
"type": "number",
"description": "Number of rates returned"
},
"timestamp": {
"type": "string",
"description": "ISO-8601 response timestamp (omitted on /rates/{symbol})"
},
"symbol": {
"type": "string",
"description": "Present on the /rates/{symbol} variant"
}
},
"required": [
"rates",
"count"
],
"additionalProperties": true
}
},
"required": [
"data"
],
"additionalProperties": true
}🟢get_rate_by_symbol(symbol, category)
Fetch all provider rates for a specific coin symbol. Optionally filter by category — pass category="lending"/"borrowing"/"staking" for yield questions, since unfiltered results mix in spot prices (category="price").
Esquema de entrada
{
"type": "object",
"properties": {
"symbol": {
"type": "string",
"description": "Coin symbol, case-insensitive (e.g. \"btc\" or \"eth\")"
},
"category": {
"type": "string",
"enum": [
"lending",
"borrowing",
"staking",
"price"
],
"description": "Filter to a single product category. Without it, results mix spot prices (category=\"price\") in with yields — pass \"lending\"/\"borrowing\"/\"staking\" for yield-only results."
}
},
"required": [
"symbol"
],
"additionalProperties": true
}Esquema de salida
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"rates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"description": "Provider slug, e.g. `nexo`"
},
"symbol": {
"type": "string",
"description": "Coin symbol, e.g. `btc`"
},
"category": {
"type": "string",
"enum": [
"lending",
"borrowing",
"staking",
"price"
],
"description": "Product category"
},
"rate": {
"type": "number",
"description": "Rate value; semantics depend on unitType (percentage APY vs absolute price)"
},
"coinId": {
"type": [
"string",
"null"
],
"description": "Canonical coin id, e.g. `bitcoin` (nullable)"
},
"providerSymbol": {
"type": [
"string",
"null"
]
},
"metadata": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"unitType": {
"type": "string",
"enum": [
"percentage",
"absolute",
"ratio"
]
},
"unitSymbol": {
"type": [
"string",
"null"
]
},
"lastUpdated": {
"type": "string",
"description": "ISO-8601 timestamp of the most recent rate refresh"
},
"ageSeconds": {
"type": "integer",
"description": "Seconds since lastUpdated — use this to discount stale rows rather than trusting them as current"
},
"stale": {
"type": "boolean",
"description": "True when this row is old enough that it should be treated with caution (audit BC-9)"
}
},
"required": [
"provider",
"symbol",
"category",
"rate",
"coinId",
"lastUpdated"
],
"additionalProperties": true
},
"description": "Matching rate entries"
},
"count": {
"type": "number",
"description": "Number of rates returned"
},
"timestamp": {
"type": "string",
"description": "ISO-8601 response timestamp (omitted on /rates/{symbol})"
},
"symbol": {
"type": "string",
"description": "Present on the /rates/{symbol} variant"
}
},
"required": [
"rates",
"count"
],
"additionalProperties": true
}
},
"required": [
"data"
],
"additionalProperties": true
}🟢get_rate_history(symbol, provider, days)
Historical rate timeseries for a symbol. Recent history (~30 days) is per-tick; older history is daily granularity. Depth is clamped to your plan (up to 365 days on Pro) and bounded by how far back data has been recorded. (Current plan: up to 1825 days of history.)
Esquema de entrada
{
"type": "object",
"properties": {
"symbol": {
"type": "string",
"description": "Coin symbol, case-insensitive"
},
"provider": {
"type": "string",
"description": "Provider slug to scope to, case-insensitive"
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 1825,
"description": "Days of history. Clamped server-side to your plan (Free 7, Starter 30, Growth 90, Pro 365, Enterprise 1825) and bounded by available data. Points within ~30 days are per-tick; older points are daily."
}
},
"required": [
"symbol"
],
"additionalProperties": true
}Esquema de salida
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"symbol": {
"type": "string"
},
"history": {
"type": "array",
"items": {
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"symbol": {
"type": "string"
},
"category": {
"type": "string",
"enum": [
"lending",
"borrowing",
"staking",
"price"
]
},
"rate": {
"type": "number"
},
"metadata": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"timestamp": {
"type": "string",
"description": "ISO-8601 observation time (oldest → newest)"
},
"createdAt": {
"type": "string"
},
"coinId": {
"type": [
"string",
"null"
]
},
"providerSymbol": {
"type": [
"string",
"null"
]
}
},
"required": [
"provider",
"symbol",
"category",
"rate",
"timestamp",
"createdAt",
"coinId"
],
"additionalProperties": true
}
},
"count": {
"type": "number"
}
},
"required": [
"symbol",
"history",
"count"
],
"additionalProperties": true
}
},
"required": [
"data"
],
"additionalProperties": true
}🟢list_providers(category, limit)
All rate providers, optionally filtered by product category.
Esquema de entrada
{
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"lending",
"borrowing",
"staking",
"price"
],
"description": "Filter to providers that offer this category"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 500,
"description": "Max results, default 100"
}
},
"additionalProperties": true
}Esquema de salida
{
"type": "object",
"properties": {
"providers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Stable identifier (e.g. `nexo`)"
},
"name": {
"type": "string",
"description": "Display name"
},
"categories": {
"type": "array",
"items": {
"type": "string"
},
"description": "Categories this provider offers"
}
},
"required": [
"slug",
"name"
],
"additionalProperties": true
}
}
},
"required": [
"providers"
],
"additionalProperties": true
}🟢get_coin(coinId)
Full metadata for a coin: description, links, categories, market data, developer stats.
Esquema de entrada
{
"type": "object",
"properties": {
"coinId": {
"type": "string",
"description": "Canonical coin id or slug (e.g. \"bitcoin\")"
}
},
"required": [
"coinId"
],
"additionalProperties": true
}Esquema de salida
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Canonical coin ID (e.g. `bitcoin`)"
},
"symbol": {
"type": "string",
"description": "Trading symbol (e.g. `btc`)"
},
"name": {
"type": "string",
"description": "Human-readable name (e.g. `Bitcoin`)"
},
"marketCap": {
"type": "number",
"description": "Market cap in USD"
},
"rank": {
"type": "integer",
"description": "Market cap rank (1 = largest)"
},
"price": {
"type": "number",
"description": "Current spot price in USD"
}
},
"required": [
"id",
"symbol",
"name"
],
"additionalProperties": true
}🟢list_coins(page, limit, search)
Paginated list of coins with optional name/symbol search.
Esquema de entrada
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 1,
"description": "Page, default 1"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 500,
"description": "Page size, default 20"
},
"search": {
"type": "string",
"description": "Search by name or symbol"
}
},
"additionalProperties": true
}Esquema de salida
{
"type": "object",
"properties": {
"coins": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Canonical coin ID (e.g. `bitcoin`)"
},
"symbol": {
"type": "string",
"description": "Trading symbol (e.g. `btc`)"
},
"name": {
"type": "string",
"description": "Human-readable name (e.g. `Bitcoin`)"
},
"marketCap": {
"type": "number",
"description": "Market cap in USD"
},
"rank": {
"type": "integer",
"description": "Market cap rank (1 = largest)"
},
"price": {
"type": "number",
"description": "Current spot price in USD"
}
},
"required": [
"id",
"symbol",
"name"
],
"additionalProperties": true
}
}
},
"required": [
"coins"
],
"additionalProperties": true
}🟢top_coins(limit)
Top N coins ordered by market capitalisation.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 500,
"description": "Number of coins, default 100"
}
},
"additionalProperties": true
}Esquema de salida
{
"type": "object",
"properties": {
"coins": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Canonical coin ID (e.g. `bitcoin`)"
},
"symbol": {
"type": "string",
"description": "Trading symbol (e.g. `btc`)"
},
"name": {
"type": "string",
"description": "Human-readable name (e.g. `Bitcoin`)"
},
"marketCap": {
"type": "number",
"description": "Market cap in USD"
},
"rank": {
"type": "integer",
"description": "Market cap rank (1 = largest)"
},
"price": {
"type": "number",
"description": "Current spot price in USD"
}
},
"required": [
"id",
"symbol",
"name"
],
"additionalProperties": true
}
}
},
"required": [
"coins"
],
"additionalProperties": true
}🟢similar_coins(coinId, limit)
Coins related to the given coin by category/sector similarity.
Esquema de entrada
{
"type": "object",
"properties": {
"coinId": {
"type": "string",
"description": "Canonical coin id to find related coins for (e.g. \"bitcoin\")"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "Max related coins to return, default 10"
}
},
"required": [
"coinId"
],
"additionalProperties": true
}Esquema de salida
{
"type": "object",
"properties": {
"coins": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Canonical coin ID (e.g. `bitcoin`)"
},
"symbol": {
"type": "string",
"description": "Trading symbol (e.g. `btc`)"
},
"name": {
"type": "string",
"description": "Human-readable name (e.g. `Bitcoin`)"
},
"marketCap": {
"type": "number",
"description": "Market cap in USD"
},
"rank": {
"type": "integer",
"description": "Market cap rank (1 = largest)"
},
"price": {
"type": "number",
"description": "Current spot price in USD"
}
},
"required": [
"id",
"symbol",
"name"
],
"additionalProperties": true
}
}
},
"required": [
"coins"
],
"additionalProperties": true
}🟢coin_history(coinId, days)
Historical price timeseries for a coin. (Current plan: up to 1825 days of history.)
Esquema de entrada
{
"type": "object",
"properties": {
"coinId": {
"type": "string",
"description": "Canonical coin id (e.g. \"bitcoin\")"
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 1825,
"description": "Days of history"
}
},
"required": [
"coinId"
],
"additionalProperties": true
}Esquema de salida
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"coinId": {
"type": "string"
},
"days": {
"type": "integer"
},
"source": {
"type": "string",
"enum": [
"rate_history",
"cache",
"coingecko"
],
"description": "Where the data came from"
},
"prices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "number",
"description": "Unix epoch milliseconds"
},
"price": {
"type": "number"
},
"volume": {
"type": "number"
},
"marketCap": {
"type": "number"
}
},
"required": [
"timestamp",
"price"
],
"additionalProperties": true
},
"description": "Price points, oldest → newest"
},
"lastUpdated": {
"type": "string",
"description": "ISO-8601 timestamp of the most recent refresh"
}
},
"required": [
"coinId",
"days",
"source",
"prices",
"lastUpdated"
],
"additionalProperties": true
}
},
"required": [
"data"
],
"additionalProperties": true
}🟢get_price(symbols, vs)
Current aggregated price for one or more symbols, computed from multiple exchange feeds.
Esquema de entrada
{
"type": "object",
"properties": {
"symbols": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"description": "Single symbol or array of symbols (e.g. \"btc\" or [\"btc\",\"eth\"])"
},
"vs": {
"type": "string",
"description": "Quote currency, default \"usd\""
}
},
"required": [
"symbols"
],
"additionalProperties": true
}Esquema de salida
{
"type": "object",
"properties": {
"prices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"symbol": {
"type": "string",
"description": "Coin symbol"
},
"price": {
"type": "number",
"description": "Aggregated price in `currency` (default USD)"
},
"currency": {
"type": "string",
"description": "ISO 4217 currency code the price is denominated in"
},
"providers": {
"type": "integer",
"description": "Number of providers included in the aggregation"
},
"min": {
"type": "number",
"description": "Lowest provider price after outlier filtering"
},
"max": {
"type": "number",
"description": "Highest provider price after outlier filtering"
},
"median": {
"type": "number",
"description": "Median provider price"
},
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp of the aggregation"
}
},
"required": [
"symbol",
"price",
"currency",
"providers",
"min",
"max",
"median",
"timestamp"
],
"additionalProperties": true
}
},
"count": {
"type": "integer"
},
"timestamp": {
"type": "string"
}
},
"required": [
"prices",
"count",
"timestamp"
],
"additionalProperties": true
}🟢get_price_by_symbol(symbol, region, vs)
Aggregated exchange price for one symbol, plus the raw per-provider prices that fed the aggregate. Use get_price for multiple symbols in one call.
Esquema de entrada
{
"type": "object",
"properties": {
"symbol": {
"type": "string",
"description": "Single coin symbol, e.g. \"btc\""
},
"region": {
"type": "string",
"description": "Optional region filter for provider selection"
},
"vs": {
"type": "string",
"description": "Quote currency, default \"usd\""
}
},
"required": [
"symbol"
],
"additionalProperties": true
}Esquema de salida
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"symbol": {
"type": "string"
},
"aggregated": {
"type": "object",
"properties": {
"symbol": {
"type": "string",
"description": "Coin symbol"
},
"price": {
"type": "number",
"description": "Aggregated price in `currency` (default USD)"
},
"currency": {
"type": "string",
"description": "ISO 4217 currency code the price is denominated in"
},
"providers": {
"type": "integer",
"description": "Number of providers included in the aggregation"
},
"min": {
"type": "number",
"description": "Lowest provider price after outlier filtering"
},
"max": {
"type": "number",
"description": "Highest provider price after outlier filtering"
},
"median": {
"type": "number",
"description": "Median provider price"
},
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp of the aggregation"
}
},
"required": [
"symbol",
"price",
"currency",
"providers",
"min",
"max",
"median",
"timestamp"
],
"additionalProperties": true
},
"providers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"symbol": {
"type": "string"
},
"price": {
"type": "number"
},
"category": {
"type": "string"
},
"updatedAt": {
"type": "string"
}
},
"required": [
"provider",
"symbol",
"price",
"category",
"updatedAt"
],
"additionalProperties": true
},
"description": "Per-provider prices that fed the aggregate"
}
},
"required": [
"symbol",
"aggregated",
"providers"
],
"additionalProperties": true
}
},
"required": [
"data"
],
"additionalProperties": true
}🟢market_summary
One-call summary of total market cap, 24h volume, BTC/ETH dominance, and recent trend.
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"totalMarketCapUsd": {
"type": "number",
"description": "Combined market cap of all tracked coins"
},
"volume24hUsd": {
"type": "number",
"description": "Combined 24h trading volume"
},
"btcDominance": {
"type": "number",
"description": "BTC share of total market cap, 0-100"
},
"ethDominance": {
"type": "number",
"description": "ETH share of total market cap, 0-100"
},
"trend24h": {
"type": "number",
"description": "24h trend as a decimal (0.02 = +2%)"
}
},
"required": [
"totalMarketCapUsd",
"volume24hUsd",
"btcDominance",
"ethDominance"
],
"additionalProperties": true
}🟢fear_greed_index
Current Fear & Greed index value and historical trend.
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"value": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"description": "Current index, 0 (extreme fear) to 100 (extreme greed)"
},
"classification": {
"type": "string",
"description": "Label, e.g. `Greed`, `Neutral`, `Extreme Fear`"
},
"updatedAt": {
"type": "string"
},
"history": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp of the data point"
},
"value": {
"type": "number",
"description": "The recorded numeric value"
}
},
"required": [
"timestamp",
"value"
],
"additionalProperties": true
},
"description": "Recent trend of the index"
}
},
"required": [
"value",
"classification"
],
"additionalProperties": true
}🟢top_movers(segment, limit)
Biggest 24h gainers and losers within a rank segment.
Esquema de entrada
{
"type": "object",
"properties": {
"segment": {
"type": "string",
"enum": [
"top10",
"top100",
"top1000"
],
"description": "Rank segment, default \"top100\""
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "Number of gainers and losers to return on each side, default 10"
}
},
"additionalProperties": true
}Esquema de salida
{
"type": "object",
"properties": {
"gainers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Canonical coin ID (e.g. `bitcoin`)"
},
"symbol": {
"type": "string",
"description": "Trading symbol (e.g. `btc`)"
},
"name": {
"type": "string",
"description": "Human-readable name (e.g. `Bitcoin`)"
},
"marketCap": {
"type": "number",
"description": "Market cap in USD"
},
"rank": {
"type": "integer",
"description": "Market cap rank (1 = largest)"
},
"price": {
"type": "number",
"description": "Current spot price in USD"
}
},
"required": [
"id",
"symbol",
"name"
],
"additionalProperties": true
},
"description": "Top 24h gainers in the requested segment"
},
"losers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Canonical coin ID (e.g. `bitcoin`)"
},
"symbol": {
"type": "string",
"description": "Trading symbol (e.g. `btc`)"
},
"name": {
"type": "string",
"description": "Human-readable name (e.g. `Bitcoin`)"
},
"marketCap": {
"type": "number",
"description": "Market cap in USD"
},
"rank": {
"type": "integer",
"description": "Market cap rank (1 = largest)"
},
"price": {
"type": "number",
"description": "Current spot price in USD"
}
},
"required": [
"id",
"symbol",
"name"
],
"additionalProperties": true
},
"description": "Top 24h losers in the requested segment"
}
},
"required": [
"gainers",
"losers"
],
"additionalProperties": true
}🟢stablecoin_index(limit)
Ranked stablecoin leaderboard with stability scores, peg deviation, and market cap.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"description": "Default 50"
}
},
"additionalProperties": true
}Esquema de salida
{
"type": "object",
"properties": {
"stablecoins": {
"type": "array",
"items": {
"type": "object",
"properties": {
"symbol": {
"type": "string",
"description": "Stablecoin symbol (e.g. `usdc`)"
},
"name": {
"type": "string",
"description": "Human-readable name"
},
"marketCap": {
"type": "number",
"description": "Market cap in USD"
},
"pegDeviation": {
"type": "number",
"description": "Current peg deviation from target (typically $1.00) in basis points"
},
"stabilityScore": {
"type": "number",
"description": "Stability score 0-100, higher is more stable"
}
},
"required": [
"symbol",
"name"
],
"additionalProperties": true
},
"description": "Ranked stablecoin leaderboard"
}
},
"required": [
"stablecoins"
],
"additionalProperties": true
}🟢stablecoin_peg_stability(symbol, period)
Peg deviation history and stability stats for a stablecoin.
Esquema de entrada
{
"type": "object",
"properties": {
"symbol": {
"type": "string",
"description": "Stablecoin symbol (e.g. \"usdt\", \"usdc\")"
},
"period": {
"type": "string",
"enum": [
"7d",
"30d",
"90d"
],
"description": "Stability window, default \"30d\""
}
},
"required": [
"symbol"
],
"additionalProperties": true
}Esquema de salida
{
"type": "object",
"properties": {
"symbol": {
"type": "string"
},
"pegTarget": {
"type": "number",
"description": "Target peg in USD (typically 1.0)"
},
"deviation": {
"type": "number",
"description": "Current peg deviation in basis points"
},
"history": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp of the data point"
},
"value": {
"type": "number",
"description": "The recorded numeric value"
}
},
"required": [
"timestamp",
"value"
],
"additionalProperties": true
},
"description": "Recent peg deviation samples"
}
},
"required": [
"symbol",
"pegTarget",
"deviation",
"history"
],
"additionalProperties": true
}🟢resolve_symbol(symbol, context)
Map an exchange-specific or ambiguous symbol to bitcompare's canonical coin id. Useful when an exchange uses a non-standard ticker.
Esquema de entrada
{
"type": "object",
"properties": {
"symbol": {
"type": "string",
"description": "Exchange-specific or ambiguous symbol"
},
"context": {
"type": "string",
"description": "Source exchange or quote currency to disambiguate (e.g. \"kraken\", \"binance\")"
}
},
"required": [
"symbol"
],
"additionalProperties": true
}Esquema de salida
{
"type": "object",
"properties": {
"input": {
"type": "string",
"description": "The raw symbol that was queried"
},
"coinId": {
"type": "string",
"description": "Canonical Bitcompare coin ID"
},
"symbol": {
"type": "string",
"description": "Canonical symbol"
},
"name": {
"type": "string",
"description": "Coin display name"
}
},
"required": [
"input",
"coinId",
"symbol",
"name"
],
"additionalProperties": true
}🟢resolve_symbols_batch(symbols, context)
Resolve up to 100 symbols in a single request. Requires a plan with bulk endpoints enabled.
Esquema de entrada
{
"type": "object",
"properties": {
"symbols": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 100,
"description": "Up to 100 symbols to resolve in a single request"
},
"context": {
"type": "string",
"description": "Source exchange or quote currency applied to every input symbol"
}
},
"required": [
"symbols"
],
"additionalProperties": true
}Esquema de salida
{
"type": "object",
"properties": {
"resolved": {
"type": "array",
"items": {
"type": "object",
"properties": {
"input": {
"type": "string",
"description": "The raw symbol that was queried"
},
"coinId": {
"type": "string",
"description": "Canonical Bitcompare coin ID"
},
"symbol": {
"type": "string",
"description": "Canonical symbol"
},
"name": {
"type": "string",
"description": "Coin display name"
}
},
"required": [
"input",
"coinId",
"symbol",
"name"
],
"additionalProperties": true
}
}
},
"required": [
"resolved"
],
"additionalProperties": true
}🟢stablecoin_earn_benchmark(segment, history_days)
The Bitcompare Earn Index for stablecoins: median USDC/USDT lending APY across servable providers, with CeFi/DeFi splits, TVL-weighted variant, deltas, and an immutable daily history. Use for "what does stablecoin yield pay right now / how has it trended?" — this is the citable market reference, not a single provider quote.
Esquema de entrada
{
"type": "object",
"properties": {
"segment": {
"type": "string",
"enum": [
"overall",
"cefi",
"defi"
],
"description": "Restrict to one segment. Omit for the headline across overall + CeFi + DeFi."
},
"history_days": {
"type": "integer",
"minimum": 1,
"maximum": 1825,
"description": "Request the daily series for the last N days instead of the headline. Anonymous/free access is clamped to the most recent 90 days."
}
},
"additionalProperties": true
}Esquema de salida
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"benchmarkKey": {
"type": "string"
},
"name": {
"type": "string"
},
"methodologyVersion": {
"type": "string"
},
"methodologyUrl": {
"type": "string"
},
"segments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"segment": {
"type": "string",
"enum": [
"overall",
"cefi",
"defi"
]
},
"day": {
"type": "string"
},
"medianRate": {
"type": "number"
},
"tvlWeightedRate": {
"type": [
"number",
"null"
]
},
"constituentCount": {
"type": "integer"
},
"providerCount": {
"type": "integer"
},
"dayChange": {
"type": [
"number",
"null"
]
},
"weekChange": {
"type": [
"number",
"null"
]
},
"monthChange": {
"type": [
"number",
"null"
]
},
"sparkline": {
"type": "array",
"items": {
"type": "object",
"properties": {
"day": {
"type": "string"
},
"medianRate": {
"type": "number"
},
"backfilled": {
"type": "boolean"
}
},
"required": [
"day",
"medianRate",
"backfilled"
],
"additionalProperties": true
}
}
},
"required": [
"segment",
"day",
"medianRate",
"tvlWeightedRate",
"constituentCount",
"providerCount",
"dayChange",
"weekChange",
"monthChange",
"sparkline"
],
"additionalProperties": true
}
},
"updatedAt": {
"type": "string"
},
"segment": {
"type": "string",
"enum": [
"overall",
"cefi",
"defi"
]
},
"prints": {
"type": "array",
"items": {
"type": "object",
"properties": {
"day": {
"type": "string"
},
"medianRate": {
"type": "number"
}
},
"required": [
"day",
"medianRate"
],
"additionalProperties": true
}
},
"count": {
"type": "integer"
},
"clamped": {
"type": "boolean"
}
},
"required": [
"benchmarkKey"
],
"additionalProperties": true
}
},
"required": [
"data"
],
"additionalProperties": true
}🟢get_rate_changes(since, until, provider, symbol, category, ...)
The immutable rate-change log: every material yield move with full provenance (previous rate, raw value, multiplier, collection method, confidence, base/bonus split). Time-ascending pages via cursor. Unfiltered windows are capped at 31 days — filter by provider or symbol to walk deep history. Use for "what changed since X?" and audit trails.
Esquema de entrada
{
"type": "object",
"properties": {
"since": {
"type": "string",
"description": "ISO date/datetime lower bound (required), e.g. \"2026-08-01\""
},
"until": {
"type": "string",
"description": "ISO upper bound, default now"
},
"provider": {
"type": "string",
"description": "Filter to one provider (enables deep ranges)"
},
"symbol": {
"type": "string",
"description": "Filter to one symbol, e.g. \"USDC\""
},
"category": {
"type": "string",
"enum": [
"lending",
"borrowing",
"staking"
]
},
"cursor": {
"type": "string",
"description": "Opaque cursor from a previous page"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 500,
"description": "Page size, default 100"
}
},
"required": [
"since"
],
"additionalProperties": true
}Esquema de salida
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"time": {
"type": "string"
},
"provider": {
"type": "string"
},
"symbol": {
"type": "string"
},
"category": {
"type": "string",
"enum": [
"lending",
"borrowing",
"staking"
]
},
"rate": {
"type": "number"
},
"previousRate": {
"type": [
"number",
"null"
]
},
"change": {
"type": [
"number",
"null"
]
},
"collectionMethod": {
"type": "string"
},
"confidence": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"baseRate": {
"type": [
"number",
"null"
]
},
"bonusRate": {
"type": [
"number",
"null"
]
}
},
"required": [
"time",
"provider",
"symbol",
"category",
"rate",
"previousRate",
"change",
"collectionMethod",
"confidence",
"baseRate",
"bonusRate"
],
"additionalProperties": true
}
},
"pagination": {
"type": "object",
"properties": {
"nextCursor": {
"type": [
"string",
"null"
]
},
"hasMore": {
"type": "boolean"
},
"limit": {
"type": "integer"
}
},
"required": [
"nextCursor",
"hasMore",
"limit"
],
"additionalProperties": true
}
},
"required": [
"data",
"pagination"
],
"additionalProperties": true
}🟢list_earn_products(provider, symbol, category, min_confidence, limit, ...)
The canonical earn product graph: products (provider × asset × category) with their term variants — lockups, tiers, minimum deposits, payout schedules, withdrawal notice, TVL, promo flags — each carrying collection method, confidence (0-100 with bands), verification timestamps, and geo eligibility resolved from variant overrides or provider defaults. Use for "what are the actual terms behind this rate?"
Esquema de entrada
{
"type": "object",
"properties": {
"provider": {
"type": "string",
"description": "Filter to one provider, e.g. \"nexo\""
},
"symbol": {
"type": "string",
"description": "Filter to one symbol, e.g. \"BTC\""
},
"category": {
"type": "string",
"enum": [
"lending",
"borrowing",
"staking"
]
},
"min_confidence": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"description": "Only products with at least one variant at/above this confidence"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"description": "Page size, default 50"
},
"offset": {
"type": "integer",
"minimum": 0
}
},
"additionalProperties": true
}Esquema de salida
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"products": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"provider": {
"type": "string"
},
"symbol": {
"type": "string"
},
"category": {
"type": "string",
"enum": [
"lending",
"borrowing",
"staking"
]
},
"status": {
"type": "string"
},
"variants": {
"type": "array",
"items": {
"type": "object",
"properties": {
"variantKey": {
"type": "string"
}
},
"required": [
"variantKey"
],
"additionalProperties": true
}
}
},
"required": [
"id",
"provider",
"symbol",
"category",
"status"
],
"additionalProperties": true
}
},
"pagination": {
"type": "object",
"properties": {
"total": {
"type": "integer"
},
"limit": {
"type": "integer"
},
"offset": {
"type": "integer"
},
"hasMore": {
"type": "boolean"
}
},
"required": [
"total",
"limit",
"offset",
"hasMore"
],
"additionalProperties": true
}
},
"required": [
"products",
"pagination"
],
"additionalProperties": true
}
},
"required": [
"data"
],
"additionalProperties": true
}Comunidad
Evidencia