{"openapi":"3.1.0","info":{"title":"Coral API","version":"1.0.0","description":"Public API for Coral data. The v1 API is unauthenticated, heavily rate limited, and requires visible attribution to Coral with a link to https://0xcoral.com when displayed in another app or agent. Coral data is informational and is not financial advice."},"components":{"schemas":{},"parameters":{}},"paths":{"/community/leaderboard":{"get":{"tags":["Current capabilities"],"summary":"Get the community caller leaderboard","description":"Returns a sanitized 7d community caller leaderboard from Coral community intelligence data. Handles and aggregate performance metrics are included; internal ids are excluded.","responses":{"200":{"description":"Community caller leaderboard","content":{"application/json":{"schema":{"type":"object","properties":{"callers":{"type":"array","items":{"type":"object","properties":{"evaluated":{"type":"number"},"handle":{"type":"string"},"hitRate24h":{"type":"number"},"hits24h":{"type":"number"},"meanReturn24h":{"type":"number"},"rank":{"type":"number"},"tier":{"type":"string","enum":["A","B","C","noise","unranked"]}},"required":["evaluated","handle","hitRate24h","hits24h","meanReturn24h","rank","tier"],"additionalProperties":false}},"computedAt":{"anyOf":[{},{"type":"null"}]},"count":{"type":"number"},"window":{"const":"7d"}},"required":["callers","computedAt","count","window"],"additionalProperties":false}}}},"500":{"description":"Leaderboard unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"const":"leaderboard_unavailable"}},"required":["error"],"additionalProperties":false}}}}}}},"/community/tokens":{"get":{"tags":["Current capabilities"],"summary":"Get trending community tokens","description":"Returns the sanitized cross-community trending rollup (24h): tokens trending across the communities Coral watches, ranked by mention momentum, with distinct-community counts and optional 1h flow. Optional live market fields are fetched at read time. This is an aggregate only — there is no way to query a single server. Raw messages, chat ids, tenant ids, caller handles, and upstream source names are excluded.","responses":{"200":{"description":"Community token candidates","content":{"application/json":{"schema":{"type":"object","properties":{"computedAt":{"type":"string"},"count":{"type":"number"},"tokens":{"type":"array","items":{"type":"object","properties":{"flow":{"anyOf":[{},{"type":"null"}]},"market":{"anyOf":[{},{"type":"null"}]},"metrics":{"type":"object","properties":{"communityCount":{"type":"number"},"lastMentionAt":{"anyOf":[{},{"type":"null"}]},"mentionRatePerHour":{"type":"number"},"mentions":{"type":"number"}},"required":["communityCount","lastMentionAt","mentionRatePerHour","mentions"],"additionalProperties":false},"rank":{"type":"number"},"token":{"type":"object","properties":{"address":{"anyOf":[{},{"type":"null"}]},"chain":{"anyOf":[{},{"type":"null"}]},"links":{"type":"object","properties":{"chart":{"anyOf":[{},{"type":"null"}]},"explorer":{"anyOf":[{},{"type":"null"}]},"swap":{"anyOf":[{},{"type":"null"}]}},"required":["chart","explorer","swap"],"additionalProperties":false},"name":{"anyOf":[{},{"type":"null"}]},"profile":{"type":"object","properties":{"description":{"anyOf":[{},{"type":"null"}]},"imageUrl":{"anyOf":[{},{"type":"null"}]},"socials":{"type":"array","items":{"type":"object","properties":{"platform":{"type":"string","enum":["telegram","x"]},"url":{"type":"string"}},"required":["platform","url"],"additionalProperties":false}},"websites":{"type":"array","items":{"type":"string"}}},"required":["description","imageUrl","socials","websites"],"additionalProperties":false},"symbol":{"type":"string"},"tokenId":{"type":"string"}},"required":["address","chain","links","name","profile","symbol","tokenId"],"additionalProperties":false}},"required":["flow","market","metrics","rank","token"],"additionalProperties":false}},"window":{"const":"24h"}},"required":["computedAt","count","tokens","window"],"additionalProperties":false}}}},"400":{"description":"Invalid query parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"const":"invalid_query"}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Community token candidates unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"const":"community_tokens_unavailable"}},"required":["error"],"additionalProperties":false}}}}},"parameters":[{"name":"limit","in":"query","required":false,"description":"Maximum tokens to return, from 1 to 50.","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"includeMetadata","in":"query","required":false,"description":"Set false, 0, or no to skip cached/live token metadata enrichment.","schema":{"type":"boolean","default":true}}]}},"/dashboard":{"get":{"tags":["Current capabilities"],"summary":"Public Coral dashboard snapshot","description":"Current public Coral aggregate. This is the best starting point for apps and agents: treasury, wallet snapshot, latest pulse, and historical performance stats.","responses":{"200":{"description":"Public dashboard snapshot","content":{"application/json":{"schema":{"type":"object","properties":{"latestPulse":{"anyOf":[{},{"type":"null"}]},"portfolio":{"type":"object","properties":{"openPositions":{"type":"number"},"tokens":{"type":"array","items":{}},"totalUsd":{"type":"number"},"walletHoldings":{},"walletTotalUsd":{},"walletUpdatedAt":{}},"required":["openPositions","tokens","totalUsd"],"additionalProperties":true},"stats":{},"tradingStats":{},"treasury":{}},"required":["latestPulse","portfolio","stats","tradingStats"],"additionalProperties":true}}}},"429":{"description":"Public API rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"const":"rate_limited"},"message":{}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Dashboard snapshot failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}}}}},"/tokens/{chain}/{address}":{"get":{"tags":["Current capabilities"],"summary":"Look up a registry token","description":"Looks up one token from Coral's public token registry by chain and token address. This is allowlisted token metadata only; it does not compute Coral Score.","parameters":[{"name":"chain","in":"path","required":true,"description":"Registry chain slug.","schema":{"type":"string","enum":["base","ethereum","polygon","unichain","solana"]}},{"name":"address","in":"path","required":true,"description":"Token contract address on that chain, or native for the gas token.","schema":{"type":"string"},"example":"0x4e606Cb7370A61060Ad9916462871750D77e2b07"}],"responses":{"200":{"description":"Registry token lookup","content":{"application/json":{"schema":{"type":"object","required":["chain","market","token"],"properties":{"chain":{"type":"object","required":["arch","chainId","name","native"],"properties":{"arch":{"type":"string","enum":["EVM","SVM"]},"chainId":{"type":"integer"},"name":{"type":"string"},"native":{"type":"string"}}},"token":{"type":"object","required":["address","chain","decimals","holders","links","name","profile","riskClass","symbol","tokenId"],"properties":{"address":{"type":"string"},"chain":{"type":"string"},"decimals":{"type":"integer"},"holders":{"anyOf":[{"type":"object","required":["count","topHoldersPct","topHoldersSlices"],"properties":{"count":{"type":["number","null"]},"topHoldersPct":{"type":["number","null"]},"topHoldersSlices":{"type":"array","items":{"type":"number"}}}},{"type":"null"}]},"links":{"type":"object","required":["chart","explorer","swap"],"properties":{"chart":{"type":["string","null"]},"explorer":{"type":["string","null"]},"swap":{"type":["string","null"]}}},"name":{"type":["string","null"]},"profile":{"type":"object","required":["description","imageUrl","socials","websites"],"properties":{"description":{"type":["string","null"]},"imageUrl":{"type":["string","null"]},"socials":{"type":"array","items":{"type":"object","required":["platform","url"],"properties":{"platform":{"type":"string","enum":["telegram","x"]},"url":{"type":"string"}}}},"websites":{"type":"array","items":{"type":"string"}}}},"riskClass":{"type":"string","enum":["blue_chip","defi","growth","meme"]},"symbol":{"type":"string"},"tokenId":{"type":"string"}}},"market":{"anyOf":[{"type":"object","required":["capturedAt","fdvUsd","liquidityUsd","marketCapUsd","priceChange1hPct","priceChange24hPct","priceUsd","volume24hUsd"],"properties":{"capturedAt":{"type":["string","null"]},"fdvUsd":{"type":["number","null"]},"liquidityUsd":{"type":["number","null"]},"marketCapUsd":{"type":["number","null"]},"priceChange1hPct":{"type":["number","null"]},"priceChange24hPct":{"type":["number","null"]},"priceUsd":{"type":["number","null"]},"volume24hUsd":{"type":["number","null"]}}},{"type":"null"}]}}}}}},"400":{"description":"Unsupported chain or invalid address","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"address":{"type":"string"},"chain":{"type":"string"},"error":{"type":"string","enum":["invalid_address","token_not_found","unsupported_chain"]}}}}}},"404":{"description":"Token is not in Coral's registry allowlist","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"address":{"type":"string"},"chain":{"type":"string"},"error":{"type":"string","enum":["invalid_address","token_not_found","unsupported_chain"]}}}}}}}}}},"webhooks":{}}