MCP Server

mcp-server

io.github.bitcompare/mcp-server

What this MCP does

Aggregates cryptocurrency prices, lending, borrowing, staking, stablecoin, and provider yield data with historical rates and market benchmarks.

coin_history
Historical coin price chart
Historical price timeseries for a coin. (Current plan: up to 1825 days of history.)
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['coinId'], 'properties': {'days': {'type': 'integer', 'maximum': 1825, 'minimum': 1, 'description': 'Days of history'}, 'coinId': {'type': 'string', 'description': 'Canonical coin id (e.g. "bitcoin")'}}, 'additionalProperties': True}
Output schema
{'type': 'object', 'required': ['data'], 'properties': {'data': {'type': 'object', 'required': ['coinId', 'days', 'source', 'prices', 'lastUpdated'], 'properties': {'days': {'type': 'integer'}, 'coinId': {'type': 'string'}, 'prices': {'type': 'array', 'items': {'type': 'object', 'required': ['timestamp', 'price'], 'properties': {'price': {'type': 'number'}, 'volume': {'type': 'number'}, 'marketCap': {'type': 'number'}, 'timestamp': {'type': 'number', 'description': 'Unix epoch milliseconds'}}, 'additionalProperties': True}, 'description': 'Price points, oldest → newest'}, 'source': {'enum': ['rate_history', 'cache', 'coingecko'], 'type': 'string', 'description': 'Where the data came from'}, 'lastUpdated': {'type': 'string', 'description': 'ISO-8601 timestamp of the most recent refresh'}}, 'additionalProperties': True}}, 'additionalProperties': True}
fear_greed_index
Fear & Greed index
Current Fear & Greed index value and historical trend.
Read only Open world Idempotent
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['value', 'classification'], 'properties': {'value': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Current index, 0 (extreme fear) to 100 (extreme greed)'}, 'history': {'type': 'array', 'items': {'type': 'object', 'required': ['timestamp', 'value'], 'properties': {'value': {'type': 'number', 'description': 'The recorded numeric value'}, 'timestamp': {'type': 'string', 'description': 'ISO-8601 timestamp of the data point'}}, 'additionalProperties': True}, 'description': 'Recent trend of the index'}, 'updatedAt': {'type': 'string'}, 'classification': {'type': 'string', 'description': 'Label, e.g. `Greed`, `Neutral`, `Extreme Fear`'}}, 'additionalProperties': True}
get_coin
Get coin metadata
Full metadata for a coin: description, links, categories, market data, developer stats.
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['coinId'], 'properties': {'coinId': {'type': 'string', 'description': 'Canonical coin id or slug (e.g. "bitcoin")'}}, 'additionalProperties': True}
Output schema
{'type': 'object', 'required': ['id', 'symbol', 'name'], 'properties': {'id': {'type': 'string', 'description': 'Canonical coin ID (e.g. `bitcoin`)'}, 'name': {'type': 'string', 'description': 'Human-readable name (e.g. `Bitcoin`)'}, 'rank': {'type': 'integer', 'description': 'Market cap rank (1 = largest)'}, 'price': {'type': 'number', 'description': 'Current spot price in USD'}, 'symbol': {'type': 'string', 'description': 'Trading symbol (e.g. `btc`)'}, 'marketCap': {'type': 'number', 'description': 'Market cap in USD'}}, 'additionalProperties': True}
get_price
Aggregated exchange price
Current aggregated price for one or more symbols, computed from multiple exchange feeds.
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['symbols'], 'properties': {'vs': {'type': 'string', 'description': 'Quote currency, default "usd"'}, 'symbols': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}], 'description': 'Single symbol or array of symbols (e.g. "btc" or ["btc","eth"])'}}, 'additionalProperties': True}
Output schema
{'type': 'object', 'required': ['prices', 'count', 'timestamp'], 'properties': {'count': {'type': 'integer'}, 'prices': {'type': 'array', 'items': {'type': 'object', 'required': ['symbol', 'price', 'currency', 'providers', 'min', 'max', 'median', 'timestamp'], 'properties': {'max': {'type': 'number', 'description': 'Highest provider price after outlier filtering'}, 'min': {'type': 'number', 'description': 'Lowest provider price after outlier filtering'}, 'price': {'type': 'number', 'description': 'Aggregated price in `currency` (default USD)'}, 'median': {'type': 'number', 'description': 'Median provider price'}, 'symbol': {'type': 'string', 'description': 'Coin symbol'}, 'currency': {'type': 'string', 'description': 'ISO 4217 currency code the price is denominated in'}, 'providers': {'type': 'integer', 'description': 'Number of providers included in the aggregation'}, 'timestamp': {'type': 'string', 'description': 'ISO-8601 timestamp of the aggregation'}}, 'additionalProperties': True}}, 'timestamp': {'type': 'string'}}, 'additionalProperties': True}
get_price_by_symbol
Aggregated price for a single symbol
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.
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['symbol'], 'properties': {'vs': {'type': 'string', 'description': 'Quote currency, default "usd"'}, 'region': {'type': 'string', 'description': 'Optional region filter for provider selection'}, 'symbol': {'type': 'string', 'description': 'Single coin symbol, e.g. "btc"'}}, 'additionalProperties': True}
Output schema
{'type': 'object', 'required': ['data'], 'properties': {'data': {'type': 'object', 'required': ['symbol', 'aggregated', 'providers'], 'properties': {'symbol': {'type': 'string'}, 'providers': {'type': 'array', 'items': {'type': 'object', 'required': ['provider', 'symbol', 'price', 'category', 'updatedAt'], 'properties': {'price': {'type': 'number'}, 'symbol': {'type': 'string'}, 'category': {'type': 'string'}, 'provider': {'type': 'string'}, 'updatedAt': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Per-provider prices that fed the aggregate'}, 'aggregated': {'type': 'object', 'required': ['symbol', 'price', 'currency', 'providers', 'min', 'max', 'median', 'timestamp'], 'properties': {'max': {'type': 'number', 'description': 'Highest provider price after outlier filtering'}, 'min': {'type': 'number', 'description': 'Lowest provider price after outlier filtering'}, 'price': {'type': 'number', 'description': 'Aggregated price in `currency` (default USD)'}, 'median': {'type': 'number', 'description': 'Median provider price'}, 'symbol': {'type': 'string', 'description': 'Coin symbol'}, 'currency': {'type': 'string', 'description': 'ISO 4217 currency code the price is denominated in'}, 'providers': {'type': 'integer', 'description': 'Number of providers included in the aggregation'}, 'timestamp': {'type': 'string', 'description': 'ISO-8601 timestamp of the aggregation'}}, 'additionalProperties': True}}, 'additionalProperties': True}}, 'additionalProperties': True}
get_rate_by_symbol
Get rates for a single symbol
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").
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['symbol'], 'properties': {'symbol': {'type': 'string', 'description': 'Coin symbol, case-insensitive (e.g. "btc" or "eth")'}, 'category': {'enum': ['lending', 'borrowing', 'staking', 'price'], 'type': 'string', '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.'}}, 'additionalProperties': True}
Output schema
{'type': 'object', 'required': ['data'], 'properties': {'data': {'type': 'object', 'required': ['rates', 'count'], 'properties': {'count': {'type': 'number', 'description': 'Number of rates returned'}, 'rates': {'type': 'array', 'items': {'type': 'object', 'required': ['provider', 'symbol', 'category', 'rate', 'coinId', 'lastUpdated'], 'properties': {'rate': {'type': 'number', 'description': 'Rate value; semantics depend on unitType (percentage APY vs absolute price)'}, 'stale': {'type': 'boolean', 'description': 'True when this row is old enough that it should be treated with caution (audit BC-9)'}, 'coinId': {'type': ['string', 'null'], 'description': 'Canonical coin id, e.g. `bitcoin` (nullable)'}, 'symbol': {'type': 'string', 'description': 'Coin symbol, e.g. `btc`'}, 'category': {'enum': ['lending', 'borrowing', 'staking', 'price'], 'type': 'string', 'description': 'Product category'}, 'metadata': {'anyOf': [{'type': 'object', 'additionalProperties': {}}, {'type': 'null'}]}, 'provider': {'type': 'string', 'description': 'Provider slug, e.g. `nexo`'}, 'unitType': {'enum': ['percentage', 'absolute', 'ratio'], 'type': 'string'}, 'ageSeconds': {'type': 'integer', 'description': 'Seconds since lastUpdated — use this to discount stale rows rather than trusting them as current'}, 'unitSymbol': {'type': ['string', 'null']}, 'lastUpdated': {'type': 'string', 'description': 'ISO-8601 timestamp of the most recent rate refresh'}, 'providerSymbol': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'description': 'Matching rate entries'}, 'symbol': {'type': 'string', 'description': 'Present on the /rates/{symbol} variant'}, 'timestamp': {'type': 'string', 'description': 'ISO-8601 response timestamp (omitted on /rates/{symbol})'}}, 'additionalProperties': True}}, 'additionalProperties': True}
get_rate_changes
Rate change feed (observations)
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.
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['since'], 'properties': {'limit': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'Page size, default 100'}, 'since': {'type': 'string', 'description': 'ISO date/datetime lower bound (required), e.g. "2026-08-01"'}, 'until': {'type': 'string', 'description': 'ISO upper bound, default now'}, 'cursor': {'type': 'string', 'description': 'Opaque cursor from a previous page'}, 'symbol': {'type': 'string', 'description': 'Filter to one symbol, e.g. "USDC"'}, 'category': {'enum': ['lending', 'borrowing', 'staking'], 'type': 'string'}, 'provider': {'type': 'string', 'description': 'Filter to one provider (enables deep ranges)'}}, 'additionalProperties': True}
Output schema
{'type': 'object', 'required': ['data', 'pagination'], 'properties': {'data': {'type': 'array', 'items': {'type': 'object', 'required': ['time', 'provider', 'symbol', 'category', 'rate', 'previousRate', 'change', 'collectionMethod', 'confidence', 'baseRate', 'bonusRate'], 'properties': {'rate': {'type': 'number'}, 'time': {'type': 'string'}, 'change': {'type': ['number', 'null']}, 'symbol': {'type': 'string'}, 'baseRate': {'type': ['number', 'null']}, 'category': {'enum': ['lending', 'borrowing', 'staking'], 'type': 'string'}, 'provider': {'type': 'string'}, 'bonusRate': {'type': ['number', 'null']}, 'confidence': {'anyOf': [{'type': 'integer'}, {'type': 'null'}]}, 'previousRate': {'type': ['number', 'null']}, 'collectionMethod': {'type': 'string'}}, 'additionalProperties': True}}, 'pagination': {'type': 'object', 'required': ['nextCursor', 'hasMore', 'limit'], 'properties': {'limit': {'type': 'integer'}, 'hasMore': {'type': 'boolean'}, 'nextCursor': {'type': ['string', 'null']}}, 'additionalProperties': True}}, 'additionalProperties': True}
get_rate_history
Historical rates
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.)
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['symbol'], 'properties': {'days': {'type': 'integer', 'maximum': 1825, 'minimum': 1, '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.'}, 'symbol': {'type': 'string', 'description': 'Coin symbol, case-insensitive'}, 'provider': {'type': 'string', 'description': 'Provider slug to scope to, case-insensitive'}}, 'additionalProperties': True}
Output schema
{'type': 'object', 'required': ['data'], 'properties': {'data': {'type': 'object', 'required': ['symbol', 'history', 'count'], 'properties': {'count': {'type': 'number'}, 'symbol': {'type': 'string'}, 'history': {'type': 'array', 'items': {'type': 'object', 'required': ['provider', 'symbol', 'category', 'rate', 'timestamp', 'createdAt', 'coinId'], 'properties': {'rate': {'type': 'number'}, 'coinId': {'type': ['string', 'null']}, 'symbol': {'type': 'string'}, 'category': {'enum': ['lending', 'borrowing', 'staking', 'price'], 'type': 'string'}, 'metadata': {'anyOf': [{'type': 'object', 'additionalProperties': {}}, {'type': 'null'}]}, 'provider': {'type': 'string'}, 'createdAt': {'type': 'string'}, 'timestamp': {'type': 'string', 'description': 'ISO-8601 observation time (oldest → newest)'}, 'providerSymbol': {'type': ['string', 'null']}}, 'additionalProperties': True}}}, 'additionalProperties': True}}, 'additionalProperties': True}
get_rates
Get current rates
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.
Read only Open world Idempotent
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'Max results, default 100'}, 'symbol': {'type': 'string', 'description': 'Filter by coin symbol, case-insensitive (e.g. "btc" or "BTC")'}, 'category': {'enum': ['lending', 'borrowing', 'staking', 'price'], 'type': 'string', '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'}}, 'additionalProperties': True}
Output schema
{'type': 'object', 'required': ['data'], 'properties': {'data': {'type': 'object', 'required': ['rates', 'count'], 'properties': {'count': {'type': 'number', 'description': 'Number of rates returned'}, 'rates': {'type': 'array', 'items': {'type': 'object', 'required': ['provider', 'symbol', 'category', 'rate', 'coinId', 'lastUpdated'], 'properties': {'rate': {'type': 'number', 'description': 'Rate value; semantics depend on unitType (percentage APY vs absolute price)'}, 'stale': {'type': 'boolean', 'description': 'True when this row is old enough that it should be treated with caution (audit BC-9)'}, 'coinId': {'type': ['string', 'null'], 'description': 'Canonical coin id, e.g. `bitcoin` (nullable)'}, 'symbol': {'type': 'string', 'description': 'Coin symbol, e.g. `btc`'}, 'category': {'enum': ['lending', 'borrowing', 'staking', 'price'], 'type': 'string', 'description': 'Product category'}, 'metadata': {'anyOf': [{'type': 'object', 'additionalProperties': {}}, {'type': 'null'}]}, 'provider': {'type': 'string', 'description': 'Provider slug, e.g. `nexo`'}, 'unitType': {'enum': ['percentage', 'absolute', 'ratio'], 'type': 'string'}, 'ageSeconds': {'type': 'integer', 'description': 'Seconds since lastUpdated — use this to discount stale rows rather than trusting them as current'}, 'unitSymbol': {'type': ['string', 'null']}, 'lastUpdated': {'type': 'string', 'description': 'ISO-8601 timestamp of the most recent rate refresh'}, 'providerSymbol': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'description': 'Matching rate entries'}, 'symbol': {'type': 'string', 'description': 'Present on the /rates/{symbol} variant'}, 'timestamp': {'type': 'string', 'description': 'ISO-8601 response timestamp (omitted on /rates/{symbol})'}}, 'additionalProperties': True}}, 'additionalProperties': True}
list_coins
List coins
Paginated list of coins with optional name/symbol search.
Read only Open world Idempotent
Input schema
{'type': 'object', 'properties': {'page': {'type': 'integer', 'minimum': 1, 'description': 'Page, default 1'}, 'limit': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'Page size, default 20'}, 'search': {'type': 'string', 'description': 'Search by name or symbol'}}, 'additionalProperties': True}
Output schema
{'type': 'object', 'required': ['coins'], 'properties': {'coins': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'symbol', 'name'], 'properties': {'id': {'type': 'string', 'description': 'Canonical coin ID (e.g. `bitcoin`)'}, 'name': {'type': 'string', 'description': 'Human-readable name (e.g. `Bitcoin`)'}, 'rank': {'type': 'integer', 'description': 'Market cap rank (1 = largest)'}, 'price': {'type': 'number', 'description': 'Current spot price in USD'}, 'symbol': {'type': 'string', 'description': 'Trading symbol (e.g. `btc`)'}, 'marketCap': {'type': 'number', 'description': 'Market cap in USD'}}, 'additionalProperties': True}}}, 'additionalProperties': True}
list_earn_products
Canonical earn products & variants
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?"
Read only Open world Idempotent
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Page size, default 50'}, 'offset': {'type': 'integer', 'minimum': 0}, 'symbol': {'type': 'string', 'description': 'Filter to one symbol, e.g. "BTC"'}, 'category': {'enum': ['lending', 'borrowing', 'staking'], 'type': 'string'}, 'provider': {'type': 'string', 'description': 'Filter to one provider, e.g. "nexo"'}, 'min_confidence': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Only products with at least one variant at/above this confidence'}}, 'additionalProperties': True}
Output schema
{'type': 'object', 'required': ['data'], 'properties': {'data': {'type': 'object', 'required': ['products', 'pagination'], 'properties': {'products': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'provider', 'symbol', 'category', 'status'], 'properties': {'id': {'type': 'integer'}, 'status': {'type': 'string'}, 'symbol': {'type': 'string'}, 'category': {'enum': ['lending', 'borrowing', 'staking'], 'type': 'string'}, 'provider': {'type': 'string'}, 'variants': {'type': 'array', 'items': {'type': 'object', 'required': ['variantKey'], 'properties': {'variantKey': {'type': 'string'}}, 'additionalProperties': True}}}, 'additionalProperties': True}}, 'pagination': {'type': 'object', 'required': ['total', 'limit', 'offset', 'hasMore'], 'properties': {'limit': {'type': 'integer'}, 'total': {'type': 'integer'}, 'offset': {'type': 'integer'}, 'hasMore': {'type': 'boolean'}}, 'additionalProperties': True}}, 'additionalProperties': True}}, 'additionalProperties': True}
list_providers
List rate providers
All rate providers, optionally filtered by product category.
Read only Open world Idempotent
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'Max results, default 100'}, 'category': {'enum': ['lending', 'borrowing', 'staking', 'price'], 'type': 'string', 'description': 'Filter to providers that offer this category'}}, 'additionalProperties': True}
Output schema
{'type': 'object', 'required': ['providers'], 'properties': {'providers': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'name'], 'properties': {'name': {'type': 'string', 'description': 'Display name'}, 'slug': {'type': 'string', 'description': 'Stable identifier (e.g. `nexo`)'}, 'categories': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Categories this provider offers'}}, 'additionalProperties': True}}}, 'additionalProperties': True}
market_summary
Global market summary
One-call summary of total market cap, 24h volume, BTC/ETH dominance, and recent trend.
Read only Open world Idempotent
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['totalMarketCapUsd', 'volume24hUsd', 'btcDominance', 'ethDominance'], 'properties': {'trend24h': {'type': 'number', 'description': '24h trend as a decimal (0.02 = +2%)'}, 'btcDominance': {'type': 'number', 'description': 'BTC share of total market cap, 0-100'}, 'ethDominance': {'type': 'number', 'description': 'ETH share of total market cap, 0-100'}, 'volume24hUsd': {'type': 'number', 'description': 'Combined 24h trading volume'}, 'totalMarketCapUsd': {'type': 'number', 'description': 'Combined market cap of all tracked coins'}}, 'additionalProperties': True}
resolve_symbol
Resolve symbol to canonical coin
Map an exchange-specific or ambiguous symbol to bitcompare's canonical coin id. Useful when an exchange uses a non-standard ticker.
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['symbol'], '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")'}}, 'additionalProperties': True}
Output schema
{'type': 'object', 'required': ['input', 'coinId', 'symbol', 'name'], 'properties': {'name': {'type': 'string', 'description': 'Coin display name'}, 'input': {'type': 'string', 'description': 'The raw symbol that was queried'}, 'coinId': {'type': 'string', 'description': 'Canonical Bitcompare coin ID'}, 'symbol': {'type': 'string', 'description': 'Canonical symbol'}}, 'additionalProperties': True}
resolve_symbols_batch
Batch resolve symbols
Resolve up to 100 symbols in a single request. Requires a plan with bulk endpoints enabled.
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['symbols'], 'properties': {'context': {'type': 'string', 'description': 'Source exchange or quote currency applied to every input symbol'}, 'symbols': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 100, 'minItems': 1, 'description': 'Up to 100 symbols to resolve in a single request'}}, 'additionalProperties': True}
Output schema
{'type': 'object', 'required': ['resolved'], 'properties': {'resolved': {'type': 'array', 'items': {'type': 'object', 'required': ['input', 'coinId', 'symbol', 'name'], 'properties': {'name': {'type': 'string', 'description': 'Coin display name'}, 'input': {'type': 'string', 'description': 'The raw symbol that was queried'}, 'coinId': {'type': 'string', 'description': 'Canonical Bitcompare coin ID'}, 'symbol': {'type': 'string', 'description': 'Canonical symbol'}}, 'additionalProperties': True}}}, 'additionalProperties': True}
similar_coins
Similar coins
Coins related to the given coin by category/sector similarity.
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['coinId'], 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Max related coins to return, default 10'}, 'coinId': {'type': 'string', 'description': 'Canonical coin id to find related coins for (e.g. "bitcoin")'}}, 'additionalProperties': True}
Output schema
{'type': 'object', 'required': ['coins'], 'properties': {'coins': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'symbol', 'name'], 'properties': {'id': {'type': 'string', 'description': 'Canonical coin ID (e.g. `bitcoin`)'}, 'name': {'type': 'string', 'description': 'Human-readable name (e.g. `Bitcoin`)'}, 'rank': {'type': 'integer', 'description': 'Market cap rank (1 = largest)'}, 'price': {'type': 'number', 'description': 'Current spot price in USD'}, 'symbol': {'type': 'string', 'description': 'Trading symbol (e.g. `btc`)'}, 'marketCap': {'type': 'number', 'description': 'Market cap in USD'}}, 'additionalProperties': True}}}, 'additionalProperties': True}
stablecoin_earn_benchmark
Bitcompare Earn Index (BEI-Stable)
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.
Read only Open world Idempotent
Input schema
{'type': 'object', 'properties': {'segment': {'enum': ['overall', 'cefi', 'defi'], 'type': 'string', 'description': 'Restrict to one segment. Omit for the headline across overall + CeFi + DeFi.'}, 'history_days': {'type': 'integer', 'maximum': 1825, 'minimum': 1, '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}
Output schema
{'type': 'object', 'required': ['data'], 'properties': {'data': {'type': 'object', 'required': ['benchmarkKey'], 'properties': {'name': {'type': 'string'}, 'count': {'type': 'integer'}, 'prints': {'type': 'array', 'items': {'type': 'object', 'required': ['day', 'medianRate'], 'properties': {'day': {'type': 'string'}, 'medianRate': {'type': 'number'}}, 'additionalProperties': True}}, 'clamped': {'type': 'boolean'}, 'segment': {'enum': ['overall', 'cefi', 'defi'], 'type': 'string'}, 'segments': {'type': 'array', 'items': {'type': 'object', 'required': ['segment', 'day', 'medianRate', 'tvlWeightedRate', 'constituentCount', 'providerCount', 'dayChange', 'weekChange', 'monthChange', 'sparkline'], 'properties': {'day': {'type': 'string'}, 'segment': {'enum': ['overall', 'cefi', 'defi'], 'type': 'string'}, 'dayChange': {'type': ['number', 'null']}, 'sparkline': {'type': 'array', 'items': {'type': 'object', 'required': ['day', 'medianRate', 'backfilled'], 'properties': {'day': {'type': 'string'}, 'backfilled': {'type': 'boolean'}, 'medianRate': {'type': 'number'}}, 'additionalProperties': True}}, 'medianRate': {'type': 'number'}, 'weekChange': {'type': ['number', 'null']}, 'monthChange': {'type': ['number', 'null']}, 'providerCount': {'type': 'integer'}, 'tvlWeightedRate': {'type': ['number', 'null']}, 'constituentCount': {'type': 'integer'}}, 'additionalProperties': True}}, 'updatedAt': {'type': 'string'}, 'benchmarkKey': {'type': 'string'}, 'methodologyUrl': {'type': 'string'}, 'methodologyVersion': {'type': 'string'}}, 'additionalProperties': True}}, 'additionalProperties': True}
stablecoin_index
Stablecoin stability leaderboard
Ranked stablecoin leaderboard with stability scores, peg deviation, and market cap.
Read only Open world Idempotent
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Default 50'}}, 'additionalProperties': True}
Output schema
{'type': 'object', 'required': ['stablecoins'], 'properties': {'stablecoins': {'type': 'array', 'items': {'type': 'object', 'required': ['symbol', 'name'], 'properties': {'name': {'type': 'string', 'description': 'Human-readable name'}, 'symbol': {'type': 'string', 'description': 'Stablecoin symbol (e.g. `usdc`)'}, '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'}}, 'additionalProperties': True}, 'description': 'Ranked stablecoin leaderboard'}}, 'additionalProperties': True}
stablecoin_peg_stability
Stablecoin peg stability
Peg deviation history and stability stats for a stablecoin.
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['symbol'], 'properties': {'period': {'enum': ['7d', '30d', '90d'], 'type': 'string', 'description': 'Stability window, default "30d"'}, 'symbol': {'type': 'string', 'description': 'Stablecoin symbol (e.g. "usdt", "usdc")'}}, 'additionalProperties': True}
Output schema
{'type': 'object', 'required': ['symbol', 'pegTarget', 'deviation', 'history'], 'properties': {'symbol': {'type': 'string'}, 'history': {'type': 'array', 'items': {'type': 'object', 'required': ['timestamp', 'value'], 'properties': {'value': {'type': 'number', 'description': 'The recorded numeric value'}, 'timestamp': {'type': 'string', 'description': 'ISO-8601 timestamp of the data point'}}, 'additionalProperties': True}, 'description': 'Recent peg deviation samples'}, 'deviation': {'type': 'number', 'description': 'Current peg deviation in basis points'}, 'pegTarget': {'type': 'number', 'description': 'Target peg in USD (typically 1.0)'}}, 'additionalProperties': True}
top_coins
Top coins by market cap
Top N coins ordered by market capitalisation.
Read only Open world Idempotent
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'Number of coins, default 100'}}, 'additionalProperties': True}
Output schema
{'type': 'object', 'required': ['coins'], 'properties': {'coins': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'symbol', 'name'], 'properties': {'id': {'type': 'string', 'description': 'Canonical coin ID (e.g. `bitcoin`)'}, 'name': {'type': 'string', 'description': 'Human-readable name (e.g. `Bitcoin`)'}, 'rank': {'type': 'integer', 'description': 'Market cap rank (1 = largest)'}, 'price': {'type': 'number', 'description': 'Current spot price in USD'}, 'symbol': {'type': 'string', 'description': 'Trading symbol (e.g. `btc`)'}, 'marketCap': {'type': 'number', 'description': 'Market cap in USD'}}, 'additionalProperties': True}}}, 'additionalProperties': True}
top_movers
Top gainers/losers
Biggest 24h gainers and losers within a rank segment.
Read only Open world Idempotent
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Number of gainers and losers to return on each side, default 10'}, 'segment': {'enum': ['top10', 'top100', 'top1000'], 'type': 'string', 'description': 'Rank segment, default "top100"'}}, 'additionalProperties': True}
Output schema
{'type': 'object', 'required': ['gainers', 'losers'], 'properties': {'losers': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'symbol', 'name'], 'properties': {'id': {'type': 'string', 'description': 'Canonical coin ID (e.g. `bitcoin`)'}, 'name': {'type': 'string', 'description': 'Human-readable name (e.g. `Bitcoin`)'}, 'rank': {'type': 'integer', 'description': 'Market cap rank (1 = largest)'}, 'price': {'type': 'number', 'description': 'Current spot price in USD'}, 'symbol': {'type': 'string', 'description': 'Trading symbol (e.g. `btc`)'}, 'marketCap': {'type': 'number', 'description': 'Market cap in USD'}}, 'additionalProperties': True}, 'description': 'Top 24h losers in the requested segment'}, 'gainers': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'symbol', 'name'], 'properties': {'id': {'type': 'string', 'description': 'Canonical coin ID (e.g. `bitcoin`)'}, 'name': {'type': 'string', 'description': 'Human-readable name (e.g. `Bitcoin`)'}, 'rank': {'type': 'integer', 'description': 'Market cap rank (1 = largest)'}, 'price': {'type': 'number', 'description': 'Current spot price in USD'}, 'symbol': {'type': 'string', 'description': 'Trading symbol (e.g. `btc`)'}, 'marketCap': {'type': 'number', 'description': 'Market cap in USD'}}, 'additionalProperties': True}, 'description': 'Top 24h gainers in the requested segment'}}, 'additionalProperties': True}
Added
list_earn_products
Sept. 17, 2026, 12:40 p.m.
Added
get_rate_changes
Sept. 17, 2026, 12:40 p.m.
Added
stablecoin_earn_benchmark
Sept. 17, 2026, 12:40 p.m.
Added
resolve_symbols_batch
Sept. 17, 2026, 12:40 p.m.
Added
resolve_symbol
Sept. 17, 2026, 12:40 p.m.
Added
stablecoin_peg_stability
Sept. 17, 2026, 12:40 p.m.
Added
stablecoin_index
Sept. 17, 2026, 12:40 p.m.
Added
top_movers
Sept. 17, 2026, 12:40 p.m.
Added
fear_greed_index
Sept. 17, 2026, 12:40 p.m.
Added
market_summary
Sept. 17, 2026, 12:40 p.m.
Added
get_price_by_symbol
Sept. 17, 2026, 12:40 p.m.
Added
get_price
Sept. 17, 2026, 12:40 p.m.
Added
coin_history
Sept. 17, 2026, 12:40 p.m.
Added
similar_coins
Sept. 17, 2026, 12:40 p.m.
Added
top_coins
Sept. 17, 2026, 12:40 p.m.
Added
list_coins
Sept. 17, 2026, 12:40 p.m.
Added
get_coin
Sept. 17, 2026, 12:40 p.m.
Added
list_providers
Sept. 17, 2026, 12:40 p.m.
Added
get_rate_history
Sept. 17, 2026, 12:40 p.m.
Added
get_rate_by_symbol
Sept. 17, 2026, 12:40 p.m.
Added
get_rates
Sept. 17, 2026, 12:40 p.m.