{"openapi":"3.0.3","info":{"title":"CoinCryptoRank API","description":"Real-time cryptocurrency market data API. Provides prices, tickers, market stats, arbitrage opportunities, funding rates, currency conversion, and exchange data across 60+ exchanges.\n\n## Access\n\n- **Public API** (`/api/v1/public/*`) — Free, no key required. Used by the website and official applications.\n- **Enterprise API** (`/api/v1/enterprise/*`) — Requires API key + subscription. For third-party developers.\n\n## Available endpoints\n\n- **/tickers** — Full market data for top 200 coins\n- **/prices** — Lightweight price map (symbol → USD, ~2KB)\n- **/stats** — Global market statistics\n- **/market** — Detailed market rows by symbol and exchange\n- **/arbitrage** — Spot, perpetual, funding arbitrage opportunities\n- **/funding** — Funding rates, matrix, history\n- **/supply/{asset}** — On-chain circulating supply\n- **/currencies** — Supported fiat currencies\n- **/convert** — Crypto/fiat converter\n- **/exchanges** — Exchange catalog\n- **/orderbook** — Orderbook snapshots\n- **/blog** — News and blog posts","version":"1.0.0"},"tags":[{"name":"Market Data","description":"Public market data endpoints (free, no key required)"},{"name":"Enterprise","description":"Enterprise API endpoints (requires API key + subscription)"},{"name":"Arbitrage","description":"Arbitrage opportunities and funding rates"}],"paths":{"/api/v1/public/arbitrage/realtime":{"get":{"operationId":"getApiV1PublicArbitrageRealtime","responses":{"200":{}}}},"/api/v1/public/arbitrage/spot":{"get":{"operationId":"getApiV1PublicArbitrageSpot","responses":{"200":{}}}},"/api/v1/public/arbitrage/perpetual":{"get":{"operationId":"getApiV1PublicArbitragePerpetual","responses":{"200":{}}}},"/api/v1/public/arbitrage/funding":{"get":{"operationId":"getApiV1PublicArbitrageFunding","responses":{"200":{}}}},"/api/v1/public/arbitrage/funding/stablecoin":{"get":{"operationId":"getApiV1PublicArbitrageFundingStablecoin","responses":{"200":{}}}},"/api/v1/public/arbitrage/funding/exchanges":{"get":{"operationId":"getApiV1PublicArbitrageFundingExchanges","responses":{"200":{}}}},"/api/v1/public/arbitrage/delivery":{"get":{"operationId":"getApiV1PublicArbitrageDelivery","summary":"Get Delivery Futures — Cash and Carry (spot + quarterly)","description":"Binance COIN-M / Bybit / OKX quarterly futures with contango/backwardation vs spot. Cash-and-carry: buy spot, short quarterly, earn the basis. Returns basisRate (contango) and annualizedBasis per contract.","tags":["Market Data"],"parameters":[{"name":"symbol","in":"query","schema":{"type":"string"},"description":"Coin symbol (e.g. BTC, ETH) — returns all delivery markets if omitted"}],"responses":{"200":{"description":"Delivery futures with cash-and-carry basis","content":{"application/json":{"example":{"status":"success","data":[{"symbol":"btc","exchangeId":"binance","spotPrice":64841,"deliveryPrice":65953,"deliveryDate":"2026-09-25T00:00:00Z","contractType":"CURRENT_QUARTER","basisRate":0.017,"annualizedBasis":0.0446}],"source":"db"}}}}}}},"/api/v1/public/arbitrage/delivery/basis":{"get":{"operationId":"getApiV1PublicArbitrageDeliveryBasis","summary":"Delivery Basis Trade (perp + quarterly)","description":"Spread between Binance USDT-M perpetual and quarterly delivery contract. Long perp + short quarterly (or inverse) captures the basis minus perp funding.","tags":["Market Data"],"parameters":[{"name":"symbol","in":"query","schema":{"type":"string"},"description":"Coin symbol (e.g. BTC, ETH)"}],"responses":{"200":{}}}},"/api/v1/public/arbitrage/delivery/calendar":{"get":{"operationId":"getApiV1PublicArbitrageDeliveryCalendar","summary":"Delivery Calendar Spread (near vs far quarterly)","description":"Long near quarterly + short far quarterly = difference in contango between expiries. Shows the term structure of the basis.","tags":["Market Data"],"parameters":[{"name":"symbol","in":"query","schema":{"type":"string"},"description":"Coin symbol (e.g. BTC, ETH)"}],"responses":{"200":{}}}},"/api/v1/public/arbitrage/delivery/staking":{"get":{"operationId":"getApiV1PublicArbitrageDeliveryStaking","summary":"Delivery Staking Boost (spot + quarterly + staking APY)","description":"Cash-and-carry with staking boost: buy spot, stake it (earning APY), short the quarterly. Total return = contango + staking APY.","tags":["Market Data"],"parameters":[{"name":"symbol","in":"query","schema":{"type":"string"},"description":"Coin symbol (e.g. BTC, ETH)"}],"responses":{"200":{}}}},"/api/v1/public/market":{"get":{"operationId":"getApiV1PublicMarket","summary":"Get Public Market Rows","description":"Returns market rows for a symbol across all exchanges OR all markets of one exchange (paginated). Supports filtering by market type (spot or perpetual). A symbol or exchangeId filter is required — full scans are not supported.","tags":["Market Data"],"parameters":[{"name":"symbol","in":"query","schema":{"type":"string"},"description":"Coin symbol (e.g. BTC, ETH)"},{"name":"exchangeId","in":"query","schema":{"type":"string"},"description":"Exchange id (e.g. binance, bybit, okx). Returns all markets of the exchange, paginated"},{"name":"marketType","in":"query","schema":{"type":"string","enum":["spot","perp"]},"description":"Filter by market type: spot or perpetual"},{"name":"limit","in":"query","schema":{"type":"number","default":500,"maximum":1000},"description":"Max rows to return (1-1000)"},{"name":"offset","in":"query","schema":{"type":"number","default":0},"description":"Pagination offset"}],"responses":{"200":{"description":"List of market rows for the requested symbol/exchange","content":{"application/json":{"example":{"status":"success","data":[{"exchangeId":"binance","symbol":"BTC/USDT","price":"65410.61","volumeUsd":"28500000000","bid":"65400.00","ask":"65420.00","marketType":"spot"}],"source":"db"}}}},"400":{"description":"Missing symbol/exchangeId filter"}}}},"/api/v1/public/stats":{"get":{"operationId":"getApiV1PublicStats","summary":"Get Global Market Statistics","description":"Returns global cryptocurrency market stats: total market cap, 24h volume, BTC/ETH dominance, and active pairs count. Data from DragonflyDB cache with PostgreSQL fallback.","tags":["Market Data"],"responses":{"200":{"description":"Global market statistics","content":{"application/json":{"example":{"status":"success","data":{"total_market_cap":2850000000000,"total_volume_24h":85000000000,"btc_dominance":48.5,"eth_dominance":16.2,"active_pairs":12500,"exchanges_count":62},"source":"cache"}}}},"503":{"description":"Data not yet available"}}}},"/api/v1/public/news":{"get":{"operationId":"getApiV1PublicNews","responses":{"200":{}}}},"/api/v1/public/coin/{token}":{"get":{"operationId":"getApiV1PublicCoinByToken","parameters":[{"schema":{"type":"string"},"in":"path","name":"token","required":true}],"responses":{"200":{}}}},"/api/v1/public/coin-symbols":{"get":{"operationId":"getApiV1PublicCoin-symbols","responses":{"200":{}}}},"/api/v1/public/tickers":{"get":{"operationId":"getApiV1PublicTickers","summary":"Get Aggregated Global Tickers","description":"Returns top 200 cryptocurrencies with aggregated VWAP prices, 24h volume, price change, market cap, and exchange coverage across 60+ exchanges. Data updated every 30 seconds from DragonflyDB cache.","tags":["Market Data"],"parameters":[{"name":"symbol","in":"query","schema":{"type":"string"},"description":"Filter by coin symbol (e.g. BTC, ETH) — returns all coins if omitted"}],"responses":{"200":{"description":"List of global tickers with enriched market cap and supply data","content":{"application/json":{"example":{"status":"success","data":[{"symbol":"BTC","priceUSD":65410.61,"change24h":0.92,"volume24hQuoteUSD":28500000000,"market_cap":1280000000000,"circulating_supply":19700000},{"symbol":"ETH","priceUSD":1905.78,"change24h":-1.23,"volume24hQuoteUSD":12400000000,"market_cap":229000000000,"circulating_supply":120200000}],"timestamp":1712345678000,"source":"cache"}}}},"500":{"description":"Data temporarily unavailable while aggregating"}}}},"/api/v1/public/prices":{"get":{"operationId":"getApiV1PublicPrices","summary":"Get Lightweight Prices","description":"Returns a compact map of symbol → {usd, usd_24h_change} for top 200 coins. ~2KB response — ideal for mobile apps, price bots, and widgets. Use instead of /tickers when you only need prices.","tags":["Market Data"],"responses":{"200":{"description":"Map of symbol → {usd price, 24h change}","content":{"application/json":{"example":{"status":"success","data":{"BTC":{"usd":65410.61,"usd_24h_change":0.92},"ETH":{"usd":1905.78,"usd_24h_change":-1.23},"SOL":{"usd":77.58,"usd_24h_change":3.45}},"timestamp":1712345678000,"source":"cache"}}}},"500":{"description":"Price data temporarily unavailable"}}}},"/api/v1/public/supply/{baseAsset}":{"get":{"operationId":"getApiV1PublicSupplyByBaseAsset","summary":"Get On-Chain Supply Data","description":"Returns total and circulating supply data for a given cryptocurrency asset from first-party on-chain data (EVM RPC, native blockchain explorers, Solana RPC, XRPL). Data updated every 6 hours.","tags":["Market Data"],"parameters":[{"name":"baseAsset","in":"path","required":true,"schema":{"type":"string"},"description":"Coin symbol (e.g. BTC, ETH, SOL)"}],"responses":{"200":{"description":"Supply data with optional chain, contract address, decimals","content":{"application/json":{"example":{"status":"success","data":[{"base_asset":"BTC","chain":"native","total_supply":"2100000000000000","circulating_supply":"1970000000000000","decimals":"8","source":"blockchair","last_fetched_at":"2026-07-20T12:00:00Z"}]}}}},"500":{"description":"Supply data unavailable"}}}},"/api/v1/public/perp/history/{exchange}/{symbol}":{"get":{"operationId":"getApiV1PublicPerpHistoryByExchangeBySymbol","parameters":[{"schema":{"type":"string"},"in":"path","name":"exchange","required":true},{"schema":{"type":"string"},"in":"path","name":"symbol","required":true}],"responses":{"200":{}}}},"/api/v1/public/funding/matrix":{"get":{"operationId":"getApiV1PublicFundingMatrix","summary":"Get Funding Rate Matrix","description":"Returns a cross-exchange funding rate comparison matrix. Shows current funding rates for perpetual swaps across all supported exchanges, organized by asset. Pass ?asset=BTC to narrow the response to a single asset. Essential for funding rate arbitrage strategies.","tags":["Market Data"],"responses":{"200":{"description":"Funding rate matrix with exchange-by-asset structure"}}}},"/api/v1/public/currencies":{"get":{"operationId":"getApiV1PublicCurrencies","summary":"Get Supported Fiat Currencies","description":"Returns a list of all supported fiat currencies with exchange rates relative to USD. Data is cached for 5 minutes. Use for building currency converters and multi-currency price displays.","tags":["Market Data"],"responses":{"200":{"description":"List of supported fiat currencies with USD rates"}}}},"/api/v1/public/currencies/{code}":{"get":{"operationId":"getApiV1PublicCurrenciesByCode","summary":"Get Single Currency Details","description":"Returns exchange rate and metadata for a single fiat currency by currency code (e.g., EUR, GBP, RUB).","tags":["Market Data"],"parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string"},"description":"Currency code (e.g., EUR, GBP, RUB, JPY)"}],"responses":{"200":{"description":"Currency details with USD exchange rate"}}}},"/api/v1/public/currencies/{code}/convert":{"get":{"operationId":"getApiV1PublicCurrenciesByCodeConvert","parameters":[{"schema":{"type":"string"},"in":"path","name":"code","required":true}],"responses":{"200":{}}}},"/api/v1/public/convert":{"get":{"operationId":"getApiV1PublicConvert","summary":"Convert Crypto to Fiat (or vice versa)","description":"Converts an amount from one asset to another. Supports crypto→fiat, crypto→crypto, and fiat→crypto conversions using real-time VWAP prices. Example: /convert?amount=1&from=BTC&to=USD returns current BTC/USD price.","tags":["Market Data"],"parameters":[{"name":"amount","in":"query","schema":{"type":"number","default":1},"description":"Amount to convert"},{"name":"from","in":"query","schema":{"type":"string","default":"btc"},"description":"Source asset symbol (e.g., BTC, ETH, SOL, or fiat code like USD, EUR)"},{"name":"to","in":"query","schema":{"type":"string","default":"usd"},"description":"Target asset symbol (e.g., USD, BTC, ETH, EUR)"}],"responses":{"200":{"description":"Conversion result with rate and calculated amount","content":{"application/json":{"example":{"status":"success","from":"BTC","to":"USD","amount":1,"rate":65410.61,"result":65410.61}}}}}}},"/api/v1/public/arbitrage/funding/history/options":{"get":{"operationId":"getApiV1PublicArbitrageFundingHistoryOptions","summary":"Get Funding History Options","description":"Returns available assets and exchanges for funding rate history queries. Use this to populate dropdown selectors in your UI before fetching actual funding history data. Pass stablecoinsOnly=1 to restrict the asset list to stablecoin & fiat pairs only (USDT, USDC, USDE, USD1, EUR, GBP, ...) — used by the stablecoin arbitrage page.","tags":["Market Data"],"parameters":[{"name":"stablecoinsOnly","in":"query","schema":{"type":"boolean","default":false},"description":"Restrict assets to stablecoin & fiat pairs only"}],"responses":{"200":{"description":"Available assets and exchanges for funding history"}}}},"/api/v1/public/arbitrage/funding/history/spreads":{"get":{"operationId":"getApiV1PublicArbitrageFundingHistorySpreads","summary":"Get Funding Spreads Per Asset","description":"Returns the cumulative 7D funding spread (|sumA - sumB|) for every asset on an exchange that has both requested quote assets (e.g. USDT/USD1). The requested quote pair is used explicitly so each combination is computed correctly and cached server-side. Use for populating asset dropdown labels on the cross-perpetual page.","tags":["Market Data"],"parameters":[{"name":"exchange","in":"query","schema":{"type":"string","default":"binance"},"description":"Exchange name (e.g., binance, bybit, okx)"},{"name":"quoteAssetA","in":"query","schema":{"type":"string","default":"USDT"},"description":"First quote asset (e.g., USDT)"},{"name":"quoteAssetB","in":"query","schema":{"type":"string","default":"USDC"},"description":"Second quote asset (e.g., USD1)"},{"name":"days","in":"query","schema":{"type":"number","default":7},"description":"How many days of history to include in the cumulative spread"}],"responses":{"200":{"description":"Per-asset funding spreads for the requested quote pair","content":{"application/json":{"example":{"status":"success","data":{"exchange":"binance","quoteAssetA":"USDT","quoteAssetB":"USD1","days":7,"spreads":{"BTC":0.0234,"HBAR":null}}}}}}}}},"/api/v1/public/arbitrage/funding/history":{"get":{"operationId":"getApiV1PublicArbitrageFundingHistory","summary":"Get Funding Rate History","description":"Returns historical funding rate data for a specific asset on a specific exchange. Supports flexible time ranges (up to 360 days) and optional quote asset filtering for spread calculations. Data sourced from exchange APIs with DuckDB archival.","tags":["Market Data"],"parameters":[{"name":"asset","in":"query","schema":{"type":"string","default":"BTC"},"description":"Asset symbol (e.g., BTC, ETH, SOL)"},{"name":"exchange","in":"query","schema":{"type":"string","default":"binance"},"description":"Exchange name (e.g., binance, bybit, okx)"},{"name":"limit","in":"query","schema":{"type":"number","default":1000},"description":"Maximum number of records to return"},{"name":"days","in":"query","schema":{"type":"number","default":90},"description":"How many days of history to fetch"}],"responses":{"200":{"description":"Array of funding rate records with timestamps","content":{"application/json":{"example":{"status":"success","data":[{"timestamp":1712345678000,"fundingRate":"0.0001","asset":"BTC","exchange":"binance"}]}}}}}}},"/api/v1/public/arbitrage/funding/shifts":{"get":{"operationId":"getApiV1PublicArbitrageFundingShifts","summary":"Detect Funding Spread Regime Shifts","description":"Scans every (exchange, asset) pair with two USD-style quote contracts and detects moments when the per-period funding spread |fundingA - fundingB| was normal and then jumped cardinally. These sudden divergences are the best moment cross-perpetual arbitrage opportunities (e.g. KAITO USDT vs USDC on MEXC, Aug 2026: spread ~0.2% baseline → 4-7% per period).","tags":["Market Data"],"parameters":[{"name":"days","in":"query","schema":{"type":"number","default":30},"description":"Analysis window in days (1-90)"},{"name":"minSpread","in":"query","schema":{"type":"number","default":0.4},"description":"Minimum current median spread in percent (0.05-10)"},{"name":"minRatio","in":"query","schema":{"type":"number","default":2.5},"description":"Minimum current/baseline spread ratio (1.2-20)"},{"name":"exchange","in":"query","schema":{"type":"string"},"description":"Optional exchange filter (e.g. mexc). Omit for all exchanges"},{"name":"limit","in":"query","schema":{"type":"number","default":200},"description":"Max results (1-1000)"}],"responses":{"200":{"description":"Ranked list of funding spread regime shifts (highest score first)","content":{"application/json":{"example":{"status":"success","data":{"shifts":[{"exchange":"mexc","asset":"KAITO","quoteAssetA":"USDT","quoteAssetB":"USDC","baselineSpread":0.0019,"currentSpread":0.025,"peakSpread":0.0698,"shiftRatio":13.2,"shiftStartTime":1786118400,"direction":"longQuoteA","longQuote":"USDT","shortQuote":"USDC","cumulativeA7d":-0.2605,"cumulativeB7d":-0.2522,"cumulativeSpread7d":0.0083,"score":2.31}],"scannedPairs":330,"computedAt":1712345678000,"days":30,"source":"computed"}}}}}}}},"/api/v1/public/exchange-referrals":{"get":{"operationId":"getApiV1PublicExchange-referrals","responses":{"200":{}}}},"/api/v1/public/exchanges":{"get":{"operationId":"getApiV1PublicExchanges","responses":{"200":{}}}},"/api/v1/public/exchanges/{exchangeId}/assets":{"get":{"operationId":"getApiV1PublicExchangesByExchangeIdAssets","summary":"Get Exchange Coins (aggregated assets)","description":"Returns the aggregated list of coins listed on an exchange with price, 24h change, USD volume and spot/perp market counts. Lightweight alternative to full /market scan — ideal for Exchange Detail screens in mobile clients.","tags":["Market Data"],"parameters":[{"name":"exchangeId","in":"path","schema":{"type":"string"},"description":"Exchange id (e.g. binance, bybit, okx)"},{"name":"limit","in":"query","schema":{"type":"number","default":200,"maximum":500},"description":"Max assets to return"},{"name":"offset","in":"query","schema":{"type":"number","default":0},"description":"Pagination offset"}],"responses":{"200":{"description":"Aggregated coin list for the exchange","content":{"application/json":{"example":{"status":"success","data":[{"symbol":"BTC","name":"Bitcoin","priceUSD":65410.61,"change24h":0.92,"volume24hUsd":28500000000,"spotMarketCount":1,"perpMarketCount":1,"fundingRate":0.0001,"lastUpdated":"2026-01-01T00:00:00.000Z"}],"totalCount":412,"limit":200,"offset":0,"hasMore":true}}}},"404":{"description":"Exchange not found"}}}},"/api/v1/public/exchanges/{exchangeId}":{"get":{"operationId":"getApiV1PublicExchangesByExchangeId","parameters":[{"schema":{"type":"string"},"in":"path","name":"exchangeId","required":true}],"responses":{"200":{}}}},"/api/v1/public/arbitrage/history":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"strategyId","required":true},{"schema":{"type":"string"},"in":"query","name":"symbol","required":true},{"schema":{"type":"string"},"in":"query","name":"buyEx","required":true},{"schema":{"type":"string"},"in":"query","name":"sellEx","required":true},{"schema":{"type":"string"},"in":"query","name":"hours","required":false},{"schema":{"type":"string"},"in":"query","name":"resolution","required":false}],"operationId":"getApiV1PublicArbitrageHistory","responses":{"200":{}}}},"/api/v1/public/arbitrage/live/{strategy}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"strategy","required":true},{"schema":{"type":"string"},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"offset","required":false},{"schema":{"type":"string"},"in":"query","name":"full","required":false},{"schema":{"type":"string"},"in":"query","name":"symbol","required":false},{"schema":{"type":"string"},"in":"query","name":"buyEx","required":false},{"schema":{"type":"string"},"in":"query","name":"sellEx","required":false},{"schema":{"type":"string"},"in":"query","name":"activeOnly","required":false},{"schema":{"type":"string"},"in":"query","name":"minSpread","required":false},{"schema":{"type":"string"},"in":"query","name":"maxSpread","required":false},{"schema":{"type":"string"},"in":"query","name":"buyExchanges","required":false},{"schema":{"type":"string"},"in":"query","name":"sellExchanges","required":false}],"operationId":"getApiV1PublicArbitrageLiveByStrategy","responses":{"200":{}}}},"/api/v1/public/orderbook/snapshot":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"exchange","required":true},{"schema":{"type":"string"},"in":"query","name":"symbol","required":true},{"schema":{"type":"string"},"in":"query","name":"requestSymbol","required":false},{"schema":{"type":"string"},"in":"query","name":"depth","required":false},{"schema":{"type":"string"},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"marketType","required":false}],"operationId":"getApiV1PublicOrderbookSnapshot","responses":{"200":{}}}},"/api/v1/public/assets/manifest":{"get":{"operationId":"getApiV1PublicAssetsManifest","responses":{"200":{}}}},"/api/v1/public/assets/icons":{"get":{"operationId":"getApiV1PublicAssetsIcons","responses":{"200":{}}}},"/api/v1/public/assets/icons/{symbol}":{"get":{"operationId":"getApiV1PublicAssetsIconsBySymbol","parameters":[{"schema":{"type":"string"},"in":"path","name":"symbol","required":true}],"responses":{"200":{}}}},"/api/v1/public/assets/icons/{symbol}/file":{"get":{"operationId":"getApiV1PublicAssetsIconsBySymbolFile","parameters":[{"schema":{"type":"string"},"in":"path","name":"symbol","required":true}],"responses":{"200":{}}}},"/api/v1/public/assets/fiat-icons/manifest":{"get":{"operationId":"getApiV1PublicAssetsFiat-iconsManifest","responses":{"200":{}}}},"/api/v1/public/assets/fiat-icons":{"get":{"operationId":"getApiV1PublicAssetsFiat-icons","responses":{"200":{}}}},"/api/v1/public/assets/fiat-icons/{code}/file":{"get":{"operationId":"getApiV1PublicAssetsFiat-iconsByCodeFile","parameters":[{"schema":{"type":"string"},"in":"path","name":"code","required":true}],"responses":{"200":{}}}},"/api/v1/public/assets/fiat-icons/{code}":{"get":{"operationId":"getApiV1PublicAssetsFiat-iconsByCode","parameters":[{"schema":{"type":"string"},"in":"path","name":"code","required":true}],"responses":{"200":{}}}},"/api/v1/public/assets/screenshots/{fileName}":{"get":{"operationId":"getApiV1PublicAssetsScreenshotsByFileName","parameters":[{"schema":{"type":"string"},"in":"path","name":"fileName","required":true}],"responses":{"200":{}}}},"/api/v1/public/assets/screenshots/{name}":{"post":{"operationId":"postApiV1PublicAssetsScreenshotsByName","parameters":[{"schema":{"type":"string"},"in":"path","name":"name","required":true}],"responses":{"200":{}}}},"/api/v1/public/assets/exchange-logos/manifest":{"get":{"operationId":"getApiV1PublicAssetsExchange-logosManifest","responses":{"200":{}}}},"/api/v1/public/assets/exchange-logos":{"get":{"operationId":"getApiV1PublicAssetsExchange-logos","responses":{"200":{}}}},"/api/v1/public/assets/exchange-logos/{exchangeId}/file":{"get":{"operationId":"getApiV1PublicAssetsExchange-logosByExchangeIdFile","parameters":[{"schema":{"type":"string"},"in":"path","name":"exchangeId","required":true}],"responses":{"200":{}}}},"/api/v1/public/assets/exchange-logos/{exchangeId}":{"get":{"operationId":"getApiV1PublicAssetsExchange-logosByExchangeId","parameters":[{"schema":{"type":"string"},"in":"path","name":"exchangeId","required":true}],"responses":{"200":{}}}},"/api/v1/public/blog/languages":{"get":{"operationId":"getApiV1PublicBlogLanguages","responses":{"200":{}}}},"/api/v1/public/blog/posts":{"get":{"operationId":"getApiV1PublicBlogPosts","responses":{"200":{}}}},"/api/v1/public/blog/posts/{slug}":{"get":{"operationId":"getApiV1PublicBlogPostsBySlug","parameters":[{"schema":{"type":"string"},"in":"path","name":"slug","required":true}],"responses":{"200":{}}}},"/api/v1/public/blog/categories":{"get":{"operationId":"getApiV1PublicBlogCategories","responses":{"200":{}}}},"/api/v1/public/blog/tags":{"get":{"operationId":"getApiV1PublicBlogTags","responses":{"200":{}}}},"/api/v1/public/app-config":{"get":{"operationId":"getApiV1PublicApp-config","responses":{"200":{}}}},"/api/v1/devices/register":{"post":{"parameters":[],"operationId":"postApiV1DevicesRegister","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["token"],"properties":{"token":{"type":"string"},"platform":{"type":"string"},"userId":{"type":"number"},"appVersion":{"type":"string"}}}},"multipart/form-data":{"schema":{"type":"object","required":["token"],"properties":{"token":{"type":"string"},"platform":{"type":"string"},"userId":{"type":"number"},"appVersion":{"type":"string"}}}},"text/plain":{"schema":{"type":"object","required":["token"],"properties":{"token":{"type":"string"},"platform":{"type":"string"},"userId":{"type":"number"},"appVersion":{"type":"string"}}}}}},"responses":{"200":{}}}},"/api/v1/agents/capabilities":{"get":{"operationId":"getApiV1AgentsCapabilities","tags":["AI Agents"],"summary":"Agent capabilities catalog","description":"Machine-readable catalog of everything an AI agent can do on CoinCryptoRank: market data, subscriptions, exchange integrations, trading agents, portfolio, signals, bots. Pass the API key to also get the agent tier and subscription status.","responses":{"200":{}}}},"/api/v1/agents/plans":{"get":{"operationId":"getApiV1AgentsPlans","tags":["AI Agents"],"summary":"List subscription plans","description":"Public plans list. AI agents call this before POST /api/v1/agents/subscribe to learn available tiers and prices.","responses":{"200":{}}}},"/api/v1/agents/register":{"post":{"parameters":[],"operationId":"postApiV1AgentsRegister","tags":["AI Agents"],"summary":"Register an AI agent","description":"Creates an AI agent account and returns a personal API key (shown once). No captcha, no browser — pure JSON in, key out. Rate limited per IP.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"minLength":1,"maxLength":80,"type":"string"},"purpose":{"maxLength":500,"type":"string"},"developer_email":{"maxLength":200,"type":"string"}}}},"multipart/form-data":{"schema":{"type":"object","required":["name"],"properties":{"name":{"minLength":1,"maxLength":80,"type":"string"},"purpose":{"maxLength":500,"type":"string"},"developer_email":{"maxLength":200,"type":"string"}}}},"text/plain":{"schema":{"type":"object","required":["name"],"properties":{"name":{"minLength":1,"maxLength":80,"type":"string"},"purpose":{"maxLength":500,"type":"string"},"developer_email":{"maxLength":200,"type":"string"}}}}}},"responses":{"200":{}}}},"/api/v1/agents/me":{"get":{"operationId":"getApiV1AgentsMe","tags":["AI Agents"],"summary":"Agent profile & usage","description":"Returns agent identity, current tier, monthly usage/quota and active subscription.","responses":{"200":{}}}},"/api/v1/agents/subscription":{"get":{"operationId":"getApiV1AgentsSubscription","tags":["AI Agents"],"summary":"Agent subscription status","description":"Current subscription (tier, period, expiry). Agents poll this to know when to re-subscribe.","responses":{"200":{}}}},"/api/v1/agents/subscribe":{"post":{"parameters":[],"operationId":"postApiV1AgentsSubscribe","tags":["AI Agents"],"summary":"Buy a subscription (BTCPay checkout)","description":"Creates a BTCPay invoice for the given plan. The agent (or its developer) pays the returned payment_url; the BTCPay webhook then activates the tier automatically.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["plan_id"],"properties":{"plan_id":{"minLength":1,"maxLength":64,"type":"string"},"billing":{"anyOf":[{"const":"monthly","type":"string"},{"const":"yearly","type":"string"}]}}}},"multipart/form-data":{"schema":{"type":"object","required":["plan_id"],"properties":{"plan_id":{"minLength":1,"maxLength":64,"type":"string"},"billing":{"anyOf":[{"const":"monthly","type":"string"},{"const":"yearly","type":"string"}]}}}},"text/plain":{"schema":{"type":"object","required":["plan_id"],"properties":{"plan_id":{"minLength":1,"maxLength":64,"type":"string"},"billing":{"anyOf":[{"const":"monthly","type":"string"},{"const":"yearly","type":"string"}]}}}}}},"responses":{"200":{}}}},"/api/v1/agents/key/rotate":{"post":{"operationId":"postApiV1AgentsKeyRotate","tags":["AI Agents"],"summary":"Rotate API key","description":"Generates a new API key and invalidates the old one. Use when a key is leaked or periodically.","responses":{"200":{}}}},"/api/v1/agents/key/revoke":{"post":{"operationId":"postApiV1AgentsKeyRevoke","tags":["AI Agents"],"summary":"Revoke API key","description":"Permanently invalidates the agent API key. The agent account stays but cannot call the API until it gets a new key (admin or new registration).","responses":{"200":{}}}},"/api/v1/enterprise/tickers":{"get":{"operationId":"getApiV1EnterpriseTickers","tags":["Enterprise"],"summary":"All tickers","description":"Returns all cryptocurrency tickers with VWAP prices from 60+ exchanges. Updated every 10 seconds.","responses":{"200":{}}}},"/api/v1/enterprise/tickers/{symbol}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"symbol","required":true}],"operationId":"getApiV1EnterpriseTickersBySymbol","tags":["Enterprise"],"summary":"Single ticker","description":"Returns ticker data for a specific symbol (e.g. BTC, ETH).","responses":{"200":{}}}},"/api/v1/enterprise/stats":{"get":{"operationId":"getApiV1EnterpriseStats","tags":["Enterprise"],"summary":"Market stats overview","description":"Aggregate market statistics: total market cap, 24h volume, BTC/ETH dominance, top gainers and losers. Ideal for powering a market overview dashboard.","responses":{"200":{}}}},"/api/v1/enterprise/prices":{"get":{"operationId":"getApiV1EnterprisePrices","tags":["Enterprise"],"summary":"All prices","description":"Lightweight price map: symbol to USD price. ~80% smaller payload than /tickers. Ideal for portfolio trackers and price bots.","responses":{"200":{"description":"Price map","content":{"application/json":{"example":{"status":"success","data":{"BTC":{"usd":65410.61}},"count":200}}}}}}},"/api/v1/enterprise/prices/{symbol}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"symbol","required":true}],"operationId":"getApiV1EnterprisePricesBySymbol","tags":["Enterprise"],"summary":"Single price","description":"Returns price for a single symbol (e.g. BTC, ETH, SOL).","responses":{"200":{"description":"Single price","content":{"application/json":{"example":{"status":"success","data":{"symbol":"BTC","usd":65410.61}}}}}}}},"/api/v1/enterprise/markets":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"offset","required":false},{"schema":{"type":"string"},"in":"query","name":"exchange","required":false},{"schema":{"type":"string"},"in":"query","name":"market_type","required":false},{"schema":{"type":"string"},"in":"query","name":"symbol","required":false}],"operationId":"getApiV1EnterpriseMarkets","tags":["Enterprise"],"summary":"List markets","description":"Returns all active markets across exchanges. Supports filtering by exchange, market type (spot/perp), and symbol search.","responses":{"200":{"description":"Markets list","content":{"application/json":{"example":{"status":"success","data":[{"exchangeId":"binance"}],"count":1}}}}}}},"/api/v1/enterprise/markets/{symbol}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"symbol","required":true}],"operationId":"getApiV1EnterpriseMarketsBySymbol","tags":["Enterprise"],"summary":"Search markets","description":"Search markets by symbol across all exchanges.","responses":{"200":{"description":"Search results","content":{"application/json":{"example":{"status":"success","data":[{"exchangeId":"binance"}],"count":1}}}}}}},"/api/v1/enterprise/coins":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"offset","required":false}],"operationId":"getApiV1EnterpriseCoins","tags":["Enterprise"],"summary":"List coins","description":"Returns canonical coin list sorted by market cap.","responses":{"200":{"description":"Coins list","content":{"application/json":{"example":{"status":"success","data":[{"id":"bitcoin"}],"count":1}}}}}}},"/api/v1/enterprise/coins/{slug}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"slug","required":true}],"operationId":"getApiV1EnterpriseCoinsBySlug","tags":["Enterprise"],"summary":"Single coin","description":"Returns details for a single coin by slug or symbol.","responses":{"200":{"description":"Coin detail","content":{"application/json":{"example":{"status":"success","data":{"id":"bitcoin","symbol":"BTC","name":"Bitcoin"}}}}}}}},"/api/v1/enterprise/orderbook/{symbol}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"symbol","required":true},{"schema":{"type":"string"},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"exchange","required":false}],"operationId":"getApiV1EnterpriseOrderbookBySymbol","tags":["Enterprise"],"summary":"Orderbook snapshot","description":"Returns current orderbook depth for a symbol on a specific exchange. Protected by circuit breaker (5 failures = 60s cooldown).","responses":{"200":{"description":"Orderbook","content":{"application/json":{"example":{"status":"success","data":{"symbol":"BTC/USDT","bids":[[65410,1.5]],"asks":[[65420,1.2]]}}}}}}}},"/api/v1/enterprise/funding":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"offset","required":false},{"schema":{"type":"string"},"in":"query","name":"exchange","required":false},{"schema":{"type":"string"},"in":"query","name":"symbol","required":false}],"operationId":"getApiV1EnterpriseFunding","tags":["Enterprise"],"summary":"Funding rates","description":"Returns current perpetual futures funding rates across all supported exchanges. Sorted by highest rate first.","responses":{"200":{"description":"Funding rates","content":{"application/json":{"example":{"status":"success","data":[{"symbol":"BTC/USDT","fundingRate":"0.0001"}],"count":1}}}}}}},"/api/v1/enterprise/candles/{symbol}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"symbol","required":true},{"schema":{"type":"string"},"in":"query","name":"exchange","required":false},{"schema":{"type":"string"},"in":"query","name":"timeframe","required":false},{"schema":{"type":"string"},"in":"query","name":"limit","required":false}],"operationId":"getApiV1EnterpriseCandlesBySymbol","tags":["Enterprise"],"summary":"OHLCV candles","description":"Returns historical OHLCV candle data. Supports multiple timeframes (1m, 5m, 15m, 1h, 4h, 1d) and exchanges.","responses":{"200":{"description":"Candles","content":{"application/json":{"example":{"status":"success","data":[{"timestamp":1712345678000,"open":65400}],"symbol":"BTC"}}}}}}},"/api/v1/enterprise/converter":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"from","required":false},{"schema":{"type":"string"},"in":"query","name":"to","required":false},{"schema":{"type":"string"},"in":"query","name":"amount","required":false}],"operationId":"getApiV1EnterpriseConverter","tags":["Enterprise"],"summary":"Price converter","description":"Converts an amount from one currency to another using real-time prices.","responses":{"200":{"description":"Conversion","content":{"application/json":{"example":{"status":"success","data":{"from":"BTC","to":"USD","amount":1,"rate":65410.61,"result":65410.61}}}}}}}},"/api/v1/enterprise/exchanges":{"get":{"operationId":"getApiV1EnterpriseExchanges","tags":["Enterprise"],"summary":"List exchanges","description":"Returns all supported exchanges with spot/perp market counts. Cached for 1 hour.","responses":{"200":{"description":"Exchange list","content":{"application/json":{"example":{"status":"success","data":[{"id":"binance"}],"count":60}}}}}}},"/api/v1/enterprise/exchanges/{exchangeId}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"exchangeId","required":true}],"operationId":"getApiV1EnterpriseExchangesByExchangeId","tags":["Enterprise"],"summary":"Exchange detail","description":"Returns detailed info about a specific exchange including active markets.","responses":{"200":{"description":"Exchange detail","content":{"application/json":{"example":{"status":"success","data":{"id":"binance","name":"Binance"}}}}}}}},"/api/v1/public/market-summary":{"get":{"operationId":"getApiV1PublicMarket-summary","responses":{"200":{}}}},"/api/v1/public/search":{"get":{"operationId":"getApiV1PublicSearch","responses":{"200":{}}}},"/api/v1/public/integrations/exchanges":{"get":{"operationId":"getApiV1PublicIntegrationsExchanges","responses":{"200":{}}}},"/api/v1/public/ai/providers":{"get":{"operationId":"getApiV1PublicAiProviders","responses":{"200":{}}}},"/api/v1/mcp":{"post":{"operationId":"postApiV1Mcp","responses":{"200":{}}},"get":{"operationId":"getApiV1Mcp","responses":{"200":{}}}},"/api/v1/public/mcp/info":{"get":{"operationId":"getApiV1PublicMcpInfo","responses":{"200":{}}}}},"components":{"schemas":{}}}