{"openapi":"3.0.0","info":{"title":"Token List API","version":"1.0.0","description":"Supported chains and per-chain token lists. Backed by KV, refreshed by cron."},"components":{"schemas":{},"parameters":{}},"paths":{"/":{"get":{"summary":"Health check","responses":{"200":{"description":"Worker is alive"}}}},"/chains/evm":{"get":{"summary":"List supported EVM chains","description":"Returns metadata for supported EVM chains: chainId, name, adapters, simulation support, popularity flag, and (when available) logo.","parameters":[{"schema":{"type":"string","description":"Filter to popular chains only. Defaults to true. Set to \"false\" to include all supported chains.","example":"true"},"required":false,"name":"onlyPopular","in":"query"}],"responses":{"200":{"description":"List of supported EVM chains"},"500":{"description":"Failed to load chain metadata"}}}},"/tokens/evm/{chainId}":{"get":{"summary":"List tokens on an EVM chain","description":"Returns the cached token list for the chain as an address -> token mapping. Returns 503 if KV has not been initialized yet.","parameters":[{"schema":{"type":"string","description":"EVM chain ID as an integer (e.g. 1 for Ethereum).","example":"1"},"required":true,"name":"chainId","in":"path"}],"responses":{"200":{"description":"Token list for the requested chain"},"400":{"description":"Invalid chain ID format"},"503":{"description":"Token list not yet initialized"}}}}}}