{"openapi":"3.1.0","info":{"title":"Coin Metrics (BYOK) API","version":"0.1.0","description":"Coin Metrics (BYOK) lets an AI assistant read your own Coin Metrics data through the Coin Metrics API with a key you supply (Coin Metrics API key (trial or paid; the community tier needs no key)). Read-only: 9 tools (list_assets, list_asset_metrics, get_asset_metrics, get_pair_metrics, get_market_candles, get_protocol_metrics, list_protocols, list_markets, list_exchanges). The BYOK key travels...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-coinmetrics.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-coinmetrics/docs"},"termsOfService":"https://connectorbay.com/byok-coinmetrics/terms"},"servers":[{"url":"https://byok-coinmetrics.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-coinmetrics/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_assets":{"post":{"operationId":"list_assets","summary":"List assets known to Coin Metrics with their ticker and full name. Use for \"Which assets does Coin Metrics cover, and wh","description":"List assets known to Coin Metrics with their ticker and full name. Use for \"Which assets does Coin Metrics cover, and what is the ticker of Bitcoin\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"assets":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated asset tickers to look up; all assets when empty.","title":"Assets"},"page_size":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Items per page (1 to 10000).","title":"Page Size"},"next_page_token":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Token from the previous page's next_page_token to fetch the next page.","title":"Next Page Token"}},"title":"list_assetsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_asset_metrics":{"post":{"operationId":"list_asset_metrics","summary":"List the asset metrics Coin Metrics publishes (on-chain, market and network metrics) with name, description, category an","description":"List the asset metrics Coin Metrics publishes (on-chain, market and network metrics) with name, description, category and unit. Use for \"Which on-chain metrics does Coin Metrics offer\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"metrics":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated metric names to look up; all metrics when empty.","title":"Metrics"},"page_size":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Items per page (1 to 10000).","title":"Page Size"},"next_page_token":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Token from the previous page's next_page_token to fetch the next page.","title":"Next Page Token"}},"title":"list_asset_metricsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_asset_metrics":{"post":{"operationId":"get_asset_metrics","summary":"Get time series of asset metrics (price, active addresses, market cap and others) for one or more assets, at a chosen fr","description":"Get time series of asset metrics (price, active addresses, market cap and others) for one or more assets, at a chosen frequency and interval. Use for \"What was the Bitcoin price and number of active addresses in January 2025\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"assets":{"description":"Comma-separated asset tickers.","maxLength":200,"title":"Assets","type":"string"},"metrics":{"description":"Comma-separated metric names.","maxLength":200,"title":"Metrics","type":"string"},"frequency":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":"1d","description":"Sampling frequency, for example 1d, 1h, 1m, 1s or 1b (block by block).","title":"Frequency"},"start_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the interval, ISO 8601 date or time, for example 2025-01-01.","title":"Start Time"},"end_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"End of the interval, ISO 8601 date or time.","title":"End Time"},"page_size":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Items per page (1 to 10000).","title":"Page Size"},"paging_from":{"anyOf":[{"enum":["start","end"],"type":"string"},{"type":"null"}],"default":"end","description":"Start paging at the start or the end of the interval.","title":"Paging From"},"next_page_token":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Token from the previous page's next_page_token to fetch the next page.","title":"Next Page Token"}},"required":["assets","metrics"],"title":"get_asset_metricsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_pair_metrics":{"post":{"operationId":"get_pair_metrics","summary":"Get time series of metrics for asset pairs, for example reference rates of btc-usd. Use for \"What was the btc-usd refere","description":"Get time series of metrics for asset pairs, for example reference rates of btc-usd. Use for \"What was the btc-usd reference rate over the last days\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"pairs":{"description":"Comma-separated asset pairs or patterns such as btc-*.","maxLength":200,"title":"Pairs","type":"string"},"metrics":{"description":"Comma-separated pair metric names.","maxLength":200,"title":"Metrics","type":"string"},"frequency":{"anyOf":[{"enum":["1h","1d"],"type":"string"},{"type":"null"}],"default":"1d","description":"Frequency: 1h or 1d.","title":"Frequency"},"start_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the interval, ISO 8601 date or time, for example 2025-01-01.","title":"Start Time"},"end_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"End of the interval, ISO 8601 date or time.","title":"End Time"},"page_size":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Items per page (1 to 10000).","title":"Page Size"},"paging_from":{"anyOf":[{"enum":["start","end"],"type":"string"},{"type":"null"}],"default":"end","description":"Start paging at the start or the end of the interval.","title":"Paging From"},"next_page_token":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Token from the previous page's next_page_token to fetch the next page.","title":"Next Page Token"}},"required":["pairs","metrics"],"title":"get_pair_metricsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_market_candles":{"post":{"operationId":"get_market_candles","summary":"Get OHLCV candles for one or more exchange markets, with open, high, low, close, VWAP, volume and trade count. Use for \"","description":"Get OHLCV candles for one or more exchange markets, with open, high, low, close, VWAP, volume and trade count. Use for \"Show daily candles for coinbase-btc-usd-spot\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"markets":{"description":"Comma-separated markets, for example coinbase-btc-usd-spot.","maxLength":200,"title":"Markets","type":"string"},"frequency":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":"1d","description":"Candle duration: 1m, 5m, 10m, 15m, 30m, 1h, 4h or 1d.","title":"Frequency"},"start_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the interval, ISO 8601 date or time, for example 2025-01-01.","title":"Start Time"},"end_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"End of the interval, ISO 8601 date or time.","title":"End Time"},"page_size":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Items per page (1 to 10000).","title":"Page Size"},"paging_from":{"anyOf":[{"enum":["start","end"],"type":"string"},{"type":"null"}],"default":"end","description":"Start paging at the start or the end of the interval.","title":"Paging From"},"next_page_token":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Token from the previous page's next_page_token to fetch the next page.","title":"Next Page Token"}},"required":["markets"],"title":"get_market_candlesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_protocol_metrics":{"post":{"operationId":"get_protocol_metrics","summary":"Get time series of DeFi lending protocol metrics, such as supply APY, for protocols like aave_v3 or morpho_blue on a cha","description":"Get time series of DeFi lending protocol metrics, such as supply APY, for protocols like aave_v3 or morpho_blue on a chain. Use for \"What is the supply APY of Aave v3 on Ethereum\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"frequency":{"description":"Frequency: 1d or 1m.","enum":["1d","1m"],"title":"Frequency","type":"string"},"protocols":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated protocols, for example aave_v3.","title":"Protocols"},"chains":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated chains, for example ethereum.","title":"Chains"},"markets":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated protocol markets, for example core-weth.","title":"Markets"},"metrics":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated protocol metrics, for example supply_apy.","title":"Metrics"},"start_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the interval, ISO 8601 date or time, for example 2025-01-01.","title":"Start Time"},"end_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"End of the interval, ISO 8601 date or time.","title":"End Time"},"page_size":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Items per page (1 to 10000).","title":"Page Size"},"next_page_token":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Token from the previous page's next_page_token to fetch the next page.","title":"Next Page Token"}},"required":["frequency"],"title":"get_protocol_metricsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_protocols":{"post":{"operationId":"list_protocols","summary":"List DeFi lending protocols, chains and markets covered by Coin Metrics, with contract addresses. Use for \"Which DeFi pr","description":"List DeFi lending protocols, chains and markets covered by Coin Metrics, with contract addresses. Use for \"Which DeFi protocol markets does Coin Metrics track on Ethereum\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"protocols":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated protocols, for example aave_v3.","title":"Protocols"},"chains":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated chains, for example ethereum.","title":"Chains"},"markets":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated protocol markets.","title":"Markets"},"page_size":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Items per page (1 to 10000).","title":"Page Size"},"next_page_token":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Token from the previous page's next_page_token to fetch the next page.","title":"Next Page Token"}},"title":"list_protocolsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_markets":{"post":{"operationId":"list_markets","summary":"List exchange markets covered by Coin Metrics, filterable by exchange, type, base and quote asset. Use for \"Which spot m","description":"List exchange markets covered by Coin Metrics, filterable by exchange, type, base and quote asset. Use for \"Which spot markets exist for btc on coinbase\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"exchange":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Exchange name, for example coinbase.","title":"Exchange"},"type":{"anyOf":[{"enum":["spot","future","option"],"type":"string"},{"type":"null"}],"default":null,"description":"Market type.","title":"Type"},"base":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Base asset, for example btc.","title":"Base"},"quote":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Quote asset, for example usd.","title":"Quote"},"page_size":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Items per page (1 to 10000).","title":"Page Size"},"next_page_token":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Token from the previous page's next_page_token to fetch the next page.","title":"Next Page Token"}},"title":"list_marketsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_exchanges":{"post":{"operationId":"list_exchanges","summary":"List exchanges covered by Coin Metrics with their short name and full name. Use for \"Which exchanges does Coin Metrics c","description":"List exchanges covered by Coin Metrics with their short name and full name. Use for \"Which exchanges does Coin Metrics collect data from\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page_size":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Items per page (1 to 10000).","title":"Page Size"},"next_page_token":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Token from the previous page's next_page_token to fetch the next page.","title":"Next Page Token"}},"title":"list_exchangesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}