{"openapi":"3.1.0","info":{"title":"CoinGecko via Locus MPP","version":"1.0.0","description":"Cryptocurrency market data — prices, charts, market cap, exchanges, trending coins, global stats, NFTs, derivatives, and on-chain data.","contact":{"email":"api@paywithlocus.com"},"x-guidance":"Use the documented POST operations for CoinGecko. Send JSON matching each requestBody schema. Unpaid public x402 requests return an x402 v2 payment challenge; retry the same body with PAYMENT-SIGNATURE and the returned x-locus-request-id."},"x-agentcash-guidance":{"llmsTxtUrl":"https://paywithlocus.com/mpp/coingecko.md"},"x-service-info":{"categories":["data"],"docs":{"homepage":"https://www.coingecko.com","apiReference":"https://docs.coingecko.com","llms":"https://paywithlocus.com/mpp/coingecko.md"}},"paths":{"/coingecko/simple-price":{"post":{"operationId":"coingecko_simple_price","summary":"Simple Price","description":"Get current prices for one or more coins in any supported currency.","tags":["Data / Crypto"],"security":[],"x-payment-info":{"intent":"charge","method":"tempo","amount":"60000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"$0.06"},"parameters":[{"name":"x-locus-request-id","in":"header","required":false,"description":"UUID returned by the initial 402. Echo it on the paid retry and later recovery attempts.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"string","description":"Comma-separated coin IDs (e.g. \"bitcoin,ethereum\")"},"vs_currencies":{"type":"string","description":"Comma-separated target currencies (e.g. \"usd,eur\")"},"include_market_cap":{"type":"boolean","description":"Include market cap"},"include_24hr_vol":{"type":"boolean","description":"Include 24hr volume"},"include_24hr_change":{"type":"boolean","description":"Include 24hr price change"},"include_last_updated_at":{"type":"boolean","description":"Include last updated timestamp"},"precision":{"type":"string","description":"Decimal precision (e.g. \"full\", \"2\")"}},"required":["ids","vs_currencies"],"additionalProperties":true},"example":{"ids":"bitcoin,ethereum","vs_currencies":"usd,eur"}}}},"responses":{"200":{"description":"Successful response with PAYMENT-RESPONSE and durable request receipt"},"202":{"description":"The supplied request ID is already in progress"},"400":{"description":"Invalid request"},"402":{"description":"Payment Required"},"409":{"description":"Request ID conflict or terminal failed request"}}}},"/coingecko/simple-token-price":{"post":{"operationId":"coingecko_simple_token_price","summary":"Token Price by Contract","description":"Get token prices by contract address on a specific platform (e.g. Ethereum).","tags":["Data / Crypto"],"security":[],"x-payment-info":{"intent":"charge","method":"tempo","amount":"60000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"$0.06"},"parameters":[{"name":"x-locus-request-id","in":"header","required":false,"description":"UUID returned by the initial 402. Echo it on the paid retry and later recovery attempts.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"platform_id":{"type":"string","description":"Platform ID (e.g. \"ethereum\", \"polygon-pos\")"},"contract_addresses":{"type":"string","description":"Comma-separated contract addresses"},"vs_currencies":{"type":"string","description":"Comma-separated target currencies"},"include_market_cap":{"type":"boolean","description":"Include market cap"},"include_24hr_vol":{"type":"boolean","description":"Include 24hr volume"},"include_24hr_change":{"type":"boolean","description":"Include 24hr change"}},"required":["platform_id","contract_addresses","vs_currencies"],"additionalProperties":true},"example":{"platform_id":"ethereum","contract_addresses":"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48","vs_currencies":"usd"}}}},"responses":{"200":{"description":"Successful response with PAYMENT-RESPONSE and durable request receipt"},"202":{"description":"The supplied request ID is already in progress"},"400":{"description":"Invalid request"},"402":{"description":"Payment Required"},"409":{"description":"Request ID conflict or terminal failed request"}}}},"/coingecko/coins-markets":{"post":{"operationId":"coingecko_coins_markets","summary":"Coins Markets","description":"Get market data (price, market cap, volume, sparkline) for coins with pagination.","tags":["Data / Crypto"],"security":[],"x-payment-info":{"intent":"charge","method":"tempo","amount":"60000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"$0.06"},"parameters":[{"name":"x-locus-request-id","in":"header","required":false,"description":"UUID returned by the initial 402. Echo it on the paid retry and later recovery attempts.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vs_currency":{"type":"string","description":"Target currency (e.g. \"usd\")"},"ids":{"type":"string","description":"Comma-separated coin IDs to filter"},"category":{"type":"string","description":"Filter by category"},"order":{"type":"string","description":"Sort order (e.g. \"market_cap_desc\")"},"per_page":{"type":"number","description":"Results per page (1-250, default 100)"},"page":{"type":"number","description":"Page number"},"sparkline":{"type":"boolean","description":"Include 7-day sparkline data"},"price_change_percentage":{"type":"string","description":"Price change intervals (e.g. \"1h,24h,7d\")"}},"required":["vs_currency"],"additionalProperties":true},"example":{"vs_currency":"usd"}}}},"responses":{"200":{"description":"Successful response with PAYMENT-RESPONSE and durable request receipt"},"202":{"description":"The supplied request ID is already in progress"},"400":{"description":"Invalid request"},"402":{"description":"Payment Required"},"409":{"description":"Request ID conflict or terminal failed request"}}}},"/coingecko/coin-data":{"post":{"operationId":"coingecko_coin_data","summary":"Coin Data","description":"Get comprehensive data for a specific coin including description, market data, community stats, and developer activity.","tags":["Data / Crypto"],"security":[],"x-payment-info":{"intent":"charge","method":"tempo","amount":"60000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"$0.06"},"parameters":[{"name":"x-locus-request-id","in":"header","required":false,"description":"UUID returned by the initial 402. Echo it on the paid retry and later recovery attempts.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Coin ID (e.g. \"bitcoin\")"},"localization":{"type":"boolean","description":"Include localized languages"},"tickers":{"type":"boolean","description":"Include exchange tickers"},"market_data":{"type":"boolean","description":"Include market data"},"community_data":{"type":"boolean","description":"Include community data"},"developer_data":{"type":"boolean","description":"Include developer data"},"sparkline":{"type":"boolean","description":"Include sparkline data"}},"required":["id"],"additionalProperties":true},"example":{"id":"bitcoin"}}}},"responses":{"200":{"description":"Successful response with PAYMENT-RESPONSE and durable request receipt"},"202":{"description":"The supplied request ID is already in progress"},"400":{"description":"Invalid request"},"402":{"description":"Payment Required"},"409":{"description":"Request ID conflict or terminal failed request"}}}},"/coingecko/coins-list":{"post":{"operationId":"coingecko_coins_list","summary":"Coins List","description":"Get the full list of all supported coins with IDs, names, and symbols.","tags":["Data / Crypto"],"security":[],"x-payment-info":{"intent":"charge","method":"tempo","amount":"60000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"$0.06"},"parameters":[{"name":"x-locus-request-id","in":"header","required":false,"description":"UUID returned by the initial 402. Echo it on the paid retry and later recovery attempts.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"include_platform":{"type":"boolean","description":"Include platform contract addresses"},"status":{"type":"string","description":"Filter by status: \"active\" or \"inactive\""}},"additionalProperties":true},"example":{"include_platform":false}}}},"responses":{"200":{"description":"Successful response with PAYMENT-RESPONSE and durable request receipt"},"202":{"description":"The supplied request ID is already in progress"},"400":{"description":"Invalid request"},"402":{"description":"Payment Required"},"409":{"description":"Request ID conflict or terminal failed request"}}}},"/coingecko/search":{"post":{"operationId":"coingecko_search","summary":"Search","description":"Search for coins, exchanges, categories, and NFTs by keyword.","tags":["Data / Crypto"],"security":[],"x-payment-info":{"intent":"charge","method":"tempo","amount":"60000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"$0.06"},"parameters":[{"name":"x-locus-request-id","in":"header","required":false,"description":"UUID returned by the initial 402. Echo it on the paid retry and later recovery attempts.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","description":"Search query string"}},"required":["query"],"additionalProperties":true},"example":{"query":"bitcoin"}}}},"responses":{"200":{"description":"Successful response with PAYMENT-RESPONSE and durable request receipt"},"202":{"description":"The supplied request ID is already in progress"},"400":{"description":"Invalid request"},"402":{"description":"Payment Required"},"409":{"description":"Request ID conflict or terminal failed request"}}}},"/coingecko/trending":{"post":{"operationId":"coingecko_trending","summary":"Trending","description":"Get trending coins, NFTs, and categories in the last 24 hours.","tags":["Data / Crypto"],"security":[],"x-payment-info":{"intent":"charge","method":"tempo","amount":"60000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"$0.06"},"parameters":[{"name":"x-locus-request-id","in":"header","required":false,"description":"UUID returned by the initial 402. Echo it on the paid retry and later recovery attempts.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true},"example":{}}}},"responses":{"200":{"description":"Successful response with PAYMENT-RESPONSE and durable request receipt"},"202":{"description":"The supplied request ID is already in progress"},"400":{"description":"Invalid request"},"402":{"description":"Payment Required"},"409":{"description":"Request ID conflict or terminal failed request"}}}},"/coingecko/exchange-rates":{"post":{"operationId":"coingecko_exchange_rates","summary":"Exchange Rates","description":"Get BTC exchange rates against all supported currencies.","tags":["Data / Crypto"],"security":[],"x-payment-info":{"intent":"charge","method":"tempo","amount":"60000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"$0.06"},"parameters":[{"name":"x-locus-request-id","in":"header","required":false,"description":"UUID returned by the initial 402. Echo it on the paid retry and later recovery attempts.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true},"example":{}}}},"responses":{"200":{"description":"Successful response with PAYMENT-RESPONSE and durable request receipt"},"202":{"description":"The supplied request ID is already in progress"},"400":{"description":"Invalid request"},"402":{"description":"Payment Required"},"409":{"description":"Request ID conflict or terminal failed request"}}}},"/coingecko/global":{"post":{"operationId":"coingecko_global","summary":"Global","description":"Get global cryptocurrency market data including total market cap, volume, and BTC dominance.","tags":["Data / Crypto"],"security":[],"x-payment-info":{"intent":"charge","method":"tempo","amount":"60000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"$0.06"},"parameters":[{"name":"x-locus-request-id","in":"header","required":false,"description":"UUID returned by the initial 402. Echo it on the paid retry and later recovery attempts.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true},"example":{}}}},"responses":{"200":{"description":"Successful response with PAYMENT-RESPONSE and durable request receipt"},"202":{"description":"The supplied request ID is already in progress"},"400":{"description":"Invalid request"},"402":{"description":"Payment Required"},"409":{"description":"Request ID conflict or terminal failed request"}}}},"/coingecko/global-defi":{"post":{"operationId":"coingecko_global_defi","summary":"Global DeFi","description":"Get global DeFi market data including market cap, volume, and dominance.","tags":["Data / Crypto"],"security":[],"x-payment-info":{"intent":"charge","method":"tempo","amount":"60000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"$0.06"},"parameters":[{"name":"x-locus-request-id","in":"header","required":false,"description":"UUID returned by the initial 402. Echo it on the paid retry and later recovery attempts.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true},"example":{}}}},"responses":{"200":{"description":"Successful response with PAYMENT-RESPONSE and durable request receipt"},"202":{"description":"The supplied request ID is already in progress"},"400":{"description":"Invalid request"},"402":{"description":"Payment Required"},"409":{"description":"Request ID conflict or terminal failed request"}}}},"/coingecko/market-chart":{"post":{"operationId":"coingecko_market_chart","summary":"Market Chart","description":"Get historical price, market cap, and volume data for a coin over a time range.","tags":["Data / Crypto"],"security":[],"x-payment-info":{"intent":"charge","method":"tempo","amount":"60000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"$0.06"},"parameters":[{"name":"x-locus-request-id","in":"header","required":false,"description":"UUID returned by the initial 402. Echo it on the paid retry and later recovery attempts.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Coin ID (e.g. \"bitcoin\")"},"vs_currency":{"type":"string","description":"Target currency (e.g. \"usd\")"},"days":{"type":"string","description":"Time range: 1, 7, 14, 30, 90, 180, 365, or \"max\""},"interval":{"type":"string","description":"Data interval: \"daily\", \"hourly\", or \"5-minutely\""},"precision":{"type":"string","description":"Decimal precision"}},"required":["id","vs_currency","days"],"additionalProperties":true},"example":{"id":"bitcoin","vs_currency":"usd","days":"7"}}}},"responses":{"200":{"description":"Successful response with PAYMENT-RESPONSE and durable request receipt"},"202":{"description":"The supplied request ID is already in progress"},"400":{"description":"Invalid request"},"402":{"description":"Payment Required"},"409":{"description":"Request ID conflict or terminal failed request"}}}},"/coingecko/coin-history":{"post":{"operationId":"coingecko_coin_history","summary":"Coin History","description":"Get historical market data snapshot for a coin on a specific date.","tags":["Data / Crypto"],"security":[],"x-payment-info":{"intent":"charge","method":"tempo","amount":"60000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"$0.06"},"parameters":[{"name":"x-locus-request-id","in":"header","required":false,"description":"UUID returned by the initial 402. Echo it on the paid retry and later recovery attempts.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Coin ID (e.g. \"bitcoin\")"},"date":{"type":"string","description":"Date in DD-MM-YYYY format"},"localization":{"type":"boolean","description":"Include localized languages"}},"required":["id","date"],"additionalProperties":true},"example":{"id":"bitcoin","date":"01-01-2026"}}}},"responses":{"200":{"description":"Successful response with PAYMENT-RESPONSE and durable request receipt"},"202":{"description":"The supplied request ID is already in progress"},"400":{"description":"Invalid request"},"402":{"description":"Payment Required"},"409":{"description":"Request ID conflict or terminal failed request"}}}},"/coingecko/categories":{"post":{"operationId":"coingecko_categories","summary":"Categories","description":"Get all coin categories with market data (market cap, volume, change).","tags":["Data / Crypto"],"security":[],"x-payment-info":{"intent":"charge","method":"tempo","amount":"60000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"$0.06"},"parameters":[{"name":"x-locus-request-id","in":"header","required":false,"description":"UUID returned by the initial 402. Echo it on the paid retry and later recovery attempts.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"order":{"type":"string","description":"Sort order (e.g. \"market_cap_desc\", \"name_asc\")"}},"additionalProperties":true},"example":{"order":"market_cap_desc"}}}},"responses":{"200":{"description":"Successful response with PAYMENT-RESPONSE and durable request receipt"},"202":{"description":"The supplied request ID is already in progress"},"400":{"description":"Invalid request"},"402":{"description":"Payment Required"},"409":{"description":"Request ID conflict or terminal failed request"}}}},"/coingecko/top-gainers-losers":{"post":{"operationId":"coingecko_top_gainers_losers","summary":"Top Gainers & Losers","description":"Get top 30 coins with largest price gains and losses over a time period.","tags":["Data / Crypto"],"security":[],"x-payment-info":{"intent":"charge","method":"tempo","amount":"60000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"$0.06"},"parameters":[{"name":"x-locus-request-id","in":"header","required":false,"description":"UUID returned by the initial 402. Echo it on the paid retry and later recovery attempts.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vs_currency":{"type":"string","description":"Target currency (e.g. \"usd\")"},"duration":{"type":"string","description":"Time period: \"1h\", \"24h\", \"7d\", \"14d\", \"30d\", \"60d\", \"1y\""},"top_coins":{"type":"string","description":"Filter by top N coins (e.g. \"300\", \"500\", \"1000\")"}},"required":["vs_currency"],"additionalProperties":true},"example":{"vs_currency":"usd"}}}},"responses":{"200":{"description":"Successful response with PAYMENT-RESPONSE and durable request receipt"},"202":{"description":"The supplied request ID is already in progress"},"400":{"description":"Invalid request"},"402":{"description":"Payment Required"},"409":{"description":"Request ID conflict or terminal failed request"}}}},"/coingecko/exchanges":{"post":{"operationId":"coingecko_exchanges","summary":"Exchanges","description":"Get list of cryptocurrency exchanges with trust score, volume, and metadata.","tags":["Data / Crypto"],"security":[],"x-payment-info":{"intent":"charge","method":"tempo","amount":"60000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"$0.06"},"parameters":[{"name":"x-locus-request-id","in":"header","required":false,"description":"UUID returned by the initial 402. Echo it on the paid retry and later recovery attempts.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"per_page":{"type":"number","description":"Results per page (1-250, default 100)"},"page":{"type":"number","description":"Page number"}},"additionalProperties":true},"example":{"per_page":1}}}},"responses":{"200":{"description":"Successful response with PAYMENT-RESPONSE and durable request receipt"},"202":{"description":"The supplied request ID is already in progress"},"400":{"description":"Invalid request"},"402":{"description":"Payment Required"},"409":{"description":"Request ID conflict or terminal failed request"}}}}}}