{"openapi":"3.1.0","info":{"title":"CoinCap (BYOK) API","version":"0.1.0","description":"CoinCap (BYOK) lets an AI assistant read your own CoinCap data through the CoinCap API with a key you supply (CoinCap API key). Read-only: 10 tools (list_assets, get_asset, get_asset_history, list_asset_markets, list_exchanges, list_markets, list_rates, get_prices_by_symbol, get_top_movers, search_assets). The BYOK key travels with each request, is used for that one call only and is never stored,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-coincap.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-coincap/docs"},"termsOfService":"https://connectorbay.com/byok-coincap/terms"},"servers":[{"url":"https://byok-coincap.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-coincap/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 crypto assets in market-cap order with rank, price in USD, market cap, 24 hour volume and 24 hour change. For ranki","description":"List crypto assets in market-cap order with rank, price in USD, market cap, 24 hour volume and 24 hour change. For rankings by other fields use search_assets. Use for \"What are the top 10 cryptocurrencies by market cap\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"search":{"anyOf":[{"maxLength":50,"type":"string"},{"type":"null"}],"default":null,"description":"Search by asset slug (bitcoin) or symbol (BTC).","title":"Search"},"ids":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated asset ids to return, for example bitcoin,ethereum.","title":"Ids"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Number of results (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Number of results to skip, for paging.","title":"Offset"}},"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/get_asset":{"post":{"operationId":"get_asset","summary":"Get one asset by slug with price in USD, market cap, supply, volume and 24 hour change. Use for \"What is the price of et","description":"Get one asset by slug with price in USD, market cap, supply, volume and 24 hour change. Use for \"What is the price of ethereum on CoinCap\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"slug":{"description":"Asset slug (its id), for example bitcoin or ethereum.","maxLength":200,"title":"Slug","type":"string"}},"required":["slug"],"title":"get_assetArguments","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_history":{"post":{"operationId":"get_asset_history","summary":"Get the price history of one asset in USD at a chosen interval (m1 to d1), optionally between two Unix millisecond times","description":"Get the price history of one asset in USD at a chosen interval (m1 to d1), optionally between two Unix millisecond times. Use for \"Show bitcoin's daily price for the last 30 days\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"slug":{"description":"Asset slug (its id), for example bitcoin or ethereum.","maxLength":200,"title":"Slug","type":"string"},"interval":{"description":"Time bucket: m1, m5, m15, m30, h1, h2, h6, h12 or d1.","enum":["m1","m5","m15","m30","h1","h2","h6","h12","d1"],"title":"Interval","type":"string"},"start":{"anyOf":[{"maximum":4102444800000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Start as Unix time in milliseconds; omit for the most recent history.","title":"Start"},"end":{"anyOf":[{"maximum":4102444800000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"End as Unix time in milliseconds.","title":"End"}},"required":["slug","interval"],"title":"get_asset_historyArguments","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_markets":{"post":{"operationId":"list_asset_markets","summary":"List the trading pairs (markets) where one asset trades, with exchange, quote symbol, price in USD and 24 hour volume. U","description":"List the trading pairs (markets) where one asset trades, with exchange, quote symbol, price in USD and 24 hour volume. Use for \"On which exchanges does solana trade and at what price\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"slug":{"description":"Asset slug (its id), for example bitcoin or ethereum.","maxLength":200,"title":"Slug","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Number of results (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Number of results to skip, for paging.","title":"Offset"}},"required":["slug"],"title":"list_asset_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 with rank, name, share of total volume, trading pair count and 24 hour volume in USD. Use for \"Which cryp","description":"List exchanges with rank, name, share of total volume, trading pair count and 24 hour volume in USD. Use for \"Which crypto exchanges have the highest volume\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Number of results (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Number of results to skip, for paging.","title":"Offset"}},"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}},"/v1/tools/list_markets":{"post":{"operationId":"list_markets","summary":"List markets (trading pairs) filtered by exchange, base or quote asset, with price in USD, 24 hour volume and trade coun","description":"List markets (trading pairs) filtered by exchange, base or quote asset, with price in USD, 24 hour volume and trade count. Use for \"Which markets trade BTC against EUR\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"exchange_id":{"anyOf":[{"maxLength":50,"type":"string"},{"type":"null"}],"default":null,"description":"Only markets of this exchange id.","title":"Exchange Id"},"base_symbol":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Only markets with this base symbol.","title":"Base Symbol"},"quote_symbol":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Only markets with this quote symbol.","title":"Quote Symbol"},"asset_symbol":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Only markets where the base or quote has this symbol.","title":"Asset Symbol"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Number of results (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Number of results to skip, for paging.","title":"Offset"}},"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_rates":{"post":{"operationId":"list_rates","summary":"List conversion rates to USD for fiat currencies and crypto assets, optionally for given slugs. Use for \"What is the USD","description":"List conversion rates to USD for fiat currencies and crypto assets, optionally for given slugs. Use for \"What is the USD rate of the euro on CoinCap\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ids":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated rate slugs such as euro,bitcoin.","title":"Ids"}},"title":"list_ratesArguments","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_prices_by_symbol":{"post":{"operationId":"get_prices_by_symbol","summary":"Get the USD price for up to 100 comma-separated symbols in one call; prices come back as strings in the same order, null","description":"Get the USD price for up to 100 comma-separated symbols in one call; prices come back as strings in the same order, null where unknown. Use for \"Give me the prices of BTC, ETH and ADA\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"symbol":{"description":"One symbol or up to 100 comma-separated symbols, for example BTC,ETH,ADA.","maxLength":200,"title":"Symbol","type":"string"}},"required":["symbol"],"title":"get_prices_by_symbolArguments","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_top_movers":{"post":{"operationId":"get_top_movers","summary":"Get the biggest 24 hour gainers or losers, optionally above a minimum 24 hour USD volume and within the top N by market ","description":"Get the biggest 24 hour gainers or losers, optionally above a minimum 24 hour USD volume and within the top N by market cap. Use for \"Which cryptocurrencies gained the most in the last 24 hours\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"direction":{"anyOf":[{"enum":["gainers","losers"],"type":"string"},{"type":"null"}],"default":"gainers","description":"gainers or losers.","title":"Direction"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Number of assets (1 to 100).","title":"Limit"},"min_volume_usd_24hr":{"anyOf":[{"minimum":0,"type":"number"},{"type":"null"}],"default":0,"description":"Skip assets with 24 hour USD volume below this number.","title":"Min Volume Usd 24Hr"},"top_n":{"anyOf":[{"maximum":5000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Only rank within the top N assets by market cap (0 for no limit).","title":"Top N"}},"title":"get_top_moversArguments","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/search_assets":{"post":{"operationId":"search_assets","summary":"Search assets by name, symbol, slug or token address and sort by price, volume, market cap or 24 hour change, with pagin","description":"Search assets by name, symbol, slug or token address and sort by price, volume, market cap or 24 hour change, with paging. Use for \"Which assets have the highest 24 hour volume\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"search":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Asset symbol, name, slug or token address (0x...).","title":"Search"},"sort_by":{"anyOf":[{"enum":["price","volume","marketCap","changePercent24Hr"],"type":"string"},{"type":"null"}],"default":"marketCap","description":"Sort by price, volume, marketCap or changePercent24Hr.","title":"Sort By"},"sort_order":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":"desc","description":"asc or desc.","title":"Sort Order"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Number of results (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Number of results to skip, for paging.","title":"Offset"}},"title":"search_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}}}}