{"data":{"service":"cardamom","version":"1.0.0","description":"Cardano address intelligence — freshly ground on-chain data for agents.","baseUrl":"https://cardamom.live","docsUrl":"https://cardamom.live/skills.md","llmsUrl":"https://cardamom.live/llms.txt","integrationStandardUrl":"https://cardamom.live/protocol-standard","leaderboardUrl":"https://cardamom.live/leaderboard","supportedProtocols":["sundaeswap","minswap","fluidtoken","indigo","liqwid","dano","surflend"],"notes":["Use POST /api/addresses/search before reading stats/activity for a new address.","Activity pagination is applied after duplicate protocol rows for the same transaction are collapsed.","Position queries are live where supported; unfinished queries may fall back to the last known position snapshot with a warning.","Leaderboard open-position values are conservative and may be partial when native asset prices are unavailable."],"tools":[{"name":"cardamom_search_address","description":"Index a Cardano address and return wallet overview, statistics, and recent DeFi activity. Call this first for any address you haven't queried before, or when you need fresh data. Results are cached; stale entries are re-indexed automatically.","input_schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Cardano address (starts with addr1)."},"forceRefresh":{"type":"boolean","description":"Set true to force re-indexing even when cached data is recent (default false)."}}},"http":{"method":"POST","path":"/api/addresses/search","params":"body"}},{"name":"cardamom_get_address","description":"Return the cached address overview without triggering indexing. Returns 404 when the address has not been indexed yet — use cardamom_search_address first.","input_schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Cardano address."}}},"http":{"method":"GET","path":"/api/addresses/{address}","params":"path+query"}},{"name":"cardamom_get_stats","description":"Return the latest wallet statistics snapshot: ADA balance, token holdings, transaction counts, DeFi activity counts, active positions, and risk flags. Requires the address to be indexed first.","input_schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Cardano address."}}},"http":{"method":"GET","path":"/api/addresses/{address}/stats","params":"path+query"}},{"name":"cardamom_get_activity","description":"Return paginated, filterable DeFi activity for an address. Supports filtering by protocol, action, and date range. Duplicate protocol rows for the same transaction are collapsed before pagination.","input_schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Cardano address."},"protocol":{"type":"string","enum":["sundaeswap","minswap","fluidtoken","indigo","liqwid","dano","surflend"],"description":"Filter to a single protocol."},"action":{"type":"string","enum":["swap","add_liquidity","remove_liquidity","stake","unstake","borrow","repay","lend","withdraw","open_cdp","add_collateral","mint","burn","liquidation","claim_reward","unknown_protocol_interaction"],"description":"Filter to a specific DeFi action."},"dateFrom":{"type":"string","description":"ISO timestamp lower bound."},"dateTo":{"type":"string","description":"ISO timestamp upper bound."},"page":{"type":"integer","description":"Page number (default 1)."},"pageSize":{"type":"integer","description":"Results per page, max 100 (default 20)."}}},"http":{"method":"GET","path":"/api/addresses/{address}/activity","params":"path+query"}},{"name":"cardamom_get_leaderboard","description":"Return public Cardamom leaderboard rankings: Most Flavourful Spice, Biggest Cauldron, Protocol Pantry, Fee Furnace, Spiciest Trail, and Busy Grinder. Open-position values are normalised to ADA where Cardamom has confident prices; partial values are labelled.","input_schema":{"type":"object","properties":{}},"http":{"method":"GET","path":"/api/leaderboard","params":"query"}},{"name":"cardamom_get_summary","description":"Return the most recently generated AI summary for an address. Returns null when no summary exists yet — use cardamom_generate_summary to create one.","input_schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Cardano address."}}},"http":{"method":"GET","path":"/api/addresses/{address}/summary","params":"path+query"}},{"name":"cardamom_generate_summary","description":"Generate a new AI summary for an address from indexed on-chain data. The summary includes wallet behaviour, DeFi history, notable assets, and risk signals. Rate-limited on the free tier.","input_schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Cardano address."}}},"http":{"method":"POST","path":"/api/addresses/{address}/summary","params":"path+query"}},{"name":"cardamom_chat","description":"Ask a natural-language question about a Cardano address and receive an answer grounded in indexed on-chain data. Examples: 'Which protocol does this address use most?', 'Summarize recent DeFi activity', 'Any unusual behaviour in the last 30 days?'","input_schema":{"type":"object","required":["address","message"],"properties":{"address":{"type":"string","description":"Cardano address."},"message":{"type":"string","description":"Question or instruction (max 2000 chars)."},"conversationId":{"type":"string","description":"Continue an existing conversation (UUID from a previous chat response)."}}},"http":{"method":"POST","path":"/api/addresses/{address}/chat","params":"path+query"}},{"name":"cardamom_validate_address","description":"Validate a Cardano address and return its normalised form, type (enterprise/base/stake), and network (mainnet/testnet). Use this before passing an address to other skills.","input_schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Raw Cardano address string."}}},"http":{"method":"POST","path":"/api/addresses/validate","params":"body"}},{"name":"cardamom_protocol_sundaeswap","description":"Return all SundaeSwap intelligence for an address in a single call: filtered activity, live positions, yield stats, and a protocol-scoped summary. Auto-indexes the address if it has not been seen before. Use page/pageSize for protocol activity pagination.","input_schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Cardano address."},"page":{"type":"integer","description":"Activity page number (default 1)."},"pageSize":{"type":"integer","description":"Activity results per page, max 100 (default 20)."}}},"http":{"method":"GET","path":"/api/skills/sundaeswap","params":"path+query"}},{"name":"cardamom_protocol_minswap","description":"Return all Minswap intelligence for an address in a single call: filtered activity, live positions, yield stats, and a protocol-scoped summary. Auto-indexes the address if it has not been seen before. Use page/pageSize for protocol activity pagination.","input_schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Cardano address."},"page":{"type":"integer","description":"Activity page number (default 1)."},"pageSize":{"type":"integer","description":"Activity results per page, max 100 (default 20)."}}},"http":{"method":"GET","path":"/api/skills/minswap","params":"path+query"}},{"name":"cardamom_protocol_fluidtoken","description":"Return all FluidTokens intelligence for an address in a single call: filtered activity, live positions, yield stats, and a protocol-scoped summary. Auto-indexes the address if it has not been seen before. Use page/pageSize for protocol activity pagination.","input_schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Cardano address."},"page":{"type":"integer","description":"Activity page number (default 1)."},"pageSize":{"type":"integer","description":"Activity results per page, max 100 (default 20)."}}},"http":{"method":"GET","path":"/api/skills/fluidtoken","params":"path+query"}},{"name":"cardamom_protocol_indigo","description":"Return all Indigo Protocol intelligence for an address in a single call: filtered activity, live positions, yield stats, and a protocol-scoped summary. Auto-indexes the address if it has not been seen before. Use page/pageSize for protocol activity pagination.","input_schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Cardano address."},"page":{"type":"integer","description":"Activity page number (default 1)."},"pageSize":{"type":"integer","description":"Activity results per page, max 100 (default 20)."}}},"http":{"method":"GET","path":"/api/skills/indigo","params":"path+query"}},{"name":"cardamom_protocol_liqwid","description":"Return all Liqwid Finance intelligence for an address in a single call: filtered activity, live positions, yield stats, and a protocol-scoped summary. Auto-indexes the address if it has not been seen before. Use page/pageSize for protocol activity pagination.","input_schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Cardano address."},"page":{"type":"integer","description":"Activity page number (default 1)."},"pageSize":{"type":"integer","description":"Activity results per page, max 100 (default 20)."}}},"http":{"method":"GET","path":"/api/skills/liqwid","params":"path+query"}},{"name":"cardamom_protocol_dano","description":"Return all Dano Finance intelligence for an address in a single call: filtered activity, live positions, yield stats, and a protocol-scoped summary. Auto-indexes the address if it has not been seen before. Use page/pageSize for protocol activity pagination.","input_schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Cardano address."},"page":{"type":"integer","description":"Activity page number (default 1)."},"pageSize":{"type":"integer","description":"Activity results per page, max 100 (default 20)."}}},"http":{"method":"GET","path":"/api/skills/dano","params":"path+query"}},{"name":"cardamom_protocol_surflend","description":"Return all Surf Lending intelligence for an address in a single call: filtered activity, live positions, yield stats, and a protocol-scoped summary. Auto-indexes the address if it has not been seen before. Use page/pageSize for protocol activity pagination.","input_schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Cardano address."},"page":{"type":"integer","description":"Activity page number (default 1)."},"pageSize":{"type":"integer","description":"Activity results per page, max 100 (default 20)."}}},"http":{"method":"GET","path":"/api/skills/surflend","params":"path+query"}},{"name":"cardamom_suggest_integration","description":"Submit a request for Cardamom to add a new Cardano protocol integration. Open to anyone — human or agent. Protocol teams can submit their own adapters following the integration standard at /protocol-standard.","input_schema":{"type":"object","required":["protocolName","reason"],"properties":{"protocolName":{"type":"string","description":"Protocol name (e.g. WingRiders)."},"website":{"type":"string","description":"Protocol website URL."},"category":{"type":"string","description":"Protocol category: dex, lending, staking, nft, other."},"reason":{"type":"string","description":"Why should Cardamom index this protocol? (min 10 chars)"},"contactInfo":{"type":"string","description":"Optional contact for follow-up."}}},"http":{"method":"POST","path":"/api/integration-suggestions","params":"body"}}],"responseEnvelope":{"success":{"data":"<skill-specific object>","meta":{"requestId":"<uuid>","freshness":{"lastIndexedAt":"<ISO timestamp | null>","sourceProvider":"<string | null>","coverage":"partial | full | unavailable"},"warnings":["<string>"]},"error":null},"error":{"data":null,"meta":{"requestId":"<uuid>"},"error":{"code":"<ErrorCode>","message":"<string>"}}},"errorCodes":["ADDRESS_INVALID","ADDRESS_NOT_FOUND","PROVIDER_UNAVAILABLE","RATE_LIMITED","UNAUTHORIZED","NOT_FOUND","VALIDATION_ERROR","INTERNAL_ERROR","AI_GUARDRAIL","AI_UNAVAILABLE"]},"meta":{"requestId":"99ce43fb-de23-4193-96f5-27706e22a461"},"error":null}