{"id":9499,"name":"Caper Wiki","description":"Knowledge base and on-chain company records for Caper, where a group of people becomes an economy – organizations on Radix carrying their own token, treasury, and permanent market, whose every decision, capital, and governance history is immutable and timestamped. Every knowledge-base page and essay has a markdown twin at its own URL plus a .md suffix. Each DAO exposes its own record at /capers/{cashtag}/llms.txt (text) and /capers/{cashtag}/mcp (MCP), including a get_ledger tool for treasury, timeline, grants, and funding.","card_url":"https://caper.network/.well-known/agent-card.json","endpoint":"https://caper.network/api/mcp","protocol_version":"0.3.0","first_seen":"2026-10-10T07:52:47.883393+00:00","last_verified":"2026-10-10T15:16:03.020580+00:00","card":{"url":"https://caper.network/api/mcp","name":"Caper Wiki","skills":[{"id":"search","name":"Search Wiki","tags":["search","caper","radix","dao","desci"],"examples":["What is a caper?","How does the bonding curve work?","Find pages about governance"],"description":"Keyword search across the Caper knowledge base – the first call when you know what you are looking for but not where it lives. Matches page titles and body prose. A distinctive keyword is still the best query, but a whole question now works too: if the literal text is not found anywhere, it falls back to English full-text matching, which stems words and drops stopwords. NOT semantic – it reduces your question to its keywords, so it will not find a page that says \"fee\" when you asked about \"cost\". Ranked in four tiers: titles starting with the term, then titles containing it, then literal body hits, then full-text hits by relevance. Returns summaries only, each with a `path`, a `chars` size, and a 200-char snippet WINDOWED ON THE MATCH – the snippet shows you the passage that matched, so you can judge a result without opening it. Feed those `path` values to get_pages in one batched call – do NOT loop get_page over the results. If you want structure rather than a keyword, call get_categories (taxonomy) or list_pages (a whole branch). Defaults: page 1, pageSize 20 (max 50). Keep paging while `hasMore` is true."},{"id":"read","name":"Get Page","tags":["read","content","documentation","markdown"],"examples":["Read the getting-started page","Get the governance page"],"description":"Full text of ONE page in the Caper knowledge base. Address it by `path` (\"dao-governance/concepts/voting/quadratic-voting\" – exactly the `path` field the listing tools return), or by `tagPath` + `slug`. Use this only for a single known page: for 2 to 20 pages call get_pages instead, which is one round trip rather than N. Pass the path, not a page title. A miss returns near-match slugs so a wrong guess is recoverable in one retry."},{"id":"list","name":"List Pages","tags":["list","browse","categories"],"description":"Enumerate pages in the Caper knowledge base, newest first, optionally under one tag path. Use it to walk a branch you have already located (via get_categories, or the `tagPath` on a search hit); use search_wiki when you are hunting a keyword. `tagPath` matches the branch and everything beneath it – \"daos\" also returns \"daos/dexs/...\". Omit it to list the whole scope. Defaults: sort \"updatedAt\", page 1, pageSize 20 (max 100). Returns summaries only – pass the `path` values to get_pages for full text. `hasMore`/`nextPage` are the only truncation; nothing else is cut."},{"id":"transact","name":"Get Manifest","tags":["write","transact","launch","trade","governance","testnet"],"examples":["Launch a caper for my research project","Buy 100 $XRD of $EXAMPLE and add a page to its wiki"],"description":"Step 3: a ready-to-sign transaction manifest. Kinds: create-caper, buy, sell, create-proposal, vote, trigger. Per-kind parameters: create-caper needs name + cashtag + description (infoUrl/iconUrl/originToken optional); buy needs cashtag + xrd; sell needs cashtag + tokens; create-proposal needs cashtag + title + description + actionJson (one action object, or an ARRAY of up to 4 for a ranked ballot, as a JSON string — e.g. '{\"kind\":\"PAYOUT\",\"title\":\"Grant\",\"currency\":\"<resource>\",\"amount\":100,\"recipient\":\"<account>\"}'). Governance is two-phase: 'vote' casts a ranked ballot (sequence = on-chain option indexes incl. the trailing Do-nothing, best first) during the voting window; a supermajority pass arms 'trigger' (free, anyone can call it), which locks the trailing TWAP as the baseline and opens the market window: the winner executes unless the TWAP over that window is below the baseline. You sign and submit the manifest yourself with your own key, then register the txHash with submit_tx. Requires the Bearer token from the `login` tool, sent as an HTTP `Authorization: Bearer <token>` header on the POST carrying this call.","authentication":"rola"},{"id":"ledger","name":"Get Ledger","tags":["onchain","treasury","grants","funding","dao"],"examples":["What has $EXAMPLE's treasury paid out?","Show $EXAMPLE's recent on-chain activity"],"description":"This DAO's verified on-chain record: current treasury balances, the activity timeline (proposals, trades, executions), executed grants and payouts, and inter-DAO funding edges. This is ledger truth derived from settled transactions – prefer it over any wiki prose for balances, amounts, dates, and whether a proposal actually executed, because pages are human-authored and can lag. Defaults: limit 25 rows per section (max 100); each section reports `truncated` when the limit cut it, so raise `limit` rather than assuming the list is complete. This DAO's prose pages come from search_wiki / list_pages on this same endpoint; general Caper and DAO-governance reference lives on the knowledge-base server."},{"id":"market","name":"Get Market","tags":["market","price","bonding-curve","quotes","trading"],"examples":["What is $EXAMPLE trading at?","How many tokens would 100 $XRD buy on $EXAMPLE?"],"description":"This DAO's live market state, read from the bonding curve and the swap mirror: price in $XRD, 24h change and volume, market cap, circulating vs total supply, curve allocation, holder count, and the most recent trades. Pass `candles` to also get OHLC history at one interval. Numbers are live reads – prefer them over any wiki prose, and over a stale earlier call. Every figure is denominated in the `network` the response names; on a testnet it is test $XRD and worth nothing. Defaults: trades 10 (max 50); candles omitted unless requested (last 100 per interval). Nothing here executes anything; to price a specific trade size, call quote_swap."}],"license":{"url":"https://creativecommons.org/licenses/by/4.0/","name":"Creative Commons Attribution 4.0 International","spdx":"CC-BY-4.0","scope":"The Caper knowledge base (/wiki/…) and essays (/blog/…). Excludes a caper's own company-layer pages at /capers/{cashtag}/…, which belong to that caper."},"version":"2.4.0","provider":{"url":"https://caper.network","organization":"Caper"},"apiSpecUrl":"https://caper.network/.well-known/openapi.json","description":"Knowledge base and on-chain company records for Caper, where a group of people becomes an economy – organizations on Radix carrying their own token, treasury, and permanent market, whose every decision, capital, and governance history is immutable and timestamped. Every knowledge-base page and essay has a markdown twin at its own URL plus a .md suffix. Each DAO exposes its own record at /capers/{cashtag}/llms.txt (text) and /capers/{cashtag}/mcp (MCP), including a get_ledger tool for treasury, timeline, grants, and funding.","mcpEndpoint":"https://caper.network/api/mcp","capabilities":{"streaming":false,"pushNotifications":false},"mcpServerCard":"https://caper.network/api/mcp/server-card","daoUriTemplate":"https://caper.network/capers/{cashtag}/dao.json","protocolVersion":"0.3.0","securitySchemes":{"rola":{"type":"custom","description":"Radix On-Ledger Authentication – Ed25519 wallet-signed challenge. Reads are public. Writes: POST https://caper.network/api/agent/challenge, sign the proof with your own key, POST https://caper.network/api/agent/login → Bearer token.","documentationUrl":"https://caper.network/wiki/foundations/build-on-caper-as-an-agent"}},"documentationUrl":"https://caper.network/llms.txt","defaultInputModes":["text/plain","application/json"],"defaultOutputModes":["text/plain","application/json","text/markdown"],"preferredTransport":"JSONRPC","markdownUriTemplates":["https://caper.network/wiki/{path}.md","https://caper.network/blog/{slug}.md"]},"signature_status":"unsigned","signature_detail":"No card signature supplied","signature_key_url":null,"signature_checked_at":"2026-10-10T15:16:03.020580+00:00","domain_claimed_at":null,"domain_proof_checked_at":null,"source_name":"Agenstry federation","source_url":"https://agenstry.com/docs","last_check":{"checked_at":"2026-10-10T15:16:03.02058+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"also_published_at":[],"history_urls":["https://caper.network/.well-known/agent-card.json"],"skills":[{"skill_id":"ledger","name":"Get Ledger","description":"This DAO's verified on-chain record: current treasury balances, the activity timeline (proposals, trades, executions), executed grants and payouts, and inter-DAO funding edges. This is ledger truth derived from settled transactions – prefer it over any wiki prose for balances, amounts, dates, and whether a proposal actually executed, because pages are human-authored and can lag. Defaults: limit 25 rows per section (max 100); each section reports `truncated` when the limit cut it, so raise `limit` rather than assuming the list is complete. This DAO's prose pages come from search_wiki / list_pages on this same endpoint; general Caper and DAO-governance reference lives on the knowledge-base server.","tags":["onchain","treasury","grants","funding","dao"],"quality_warning":false},{"skill_id":"transact","name":"Get Manifest","description":"Step 3: a ready-to-sign transaction manifest. Kinds: create-caper, buy, sell, create-proposal, vote, trigger. Per-kind parameters: create-caper needs name + cashtag + description (infoUrl/iconUrl/originToken optional); buy needs cashtag + xrd; sell needs cashtag + tokens; create-proposal needs cashtag + title + description + actionJson (one action object, or an ARRAY of up to 4 for a ranked ballot, as a JSON string — e.g. '{\"kind\":\"PAYOUT\",\"title\":\"Grant\",\"currency\":\"<resource>\",\"amount\":100,\"recipient\":\"<account>\"}'). Governance is two-phase: 'vote' casts a ranked ballot (sequence = on-chain option indexes incl. the trailing Do-nothing, best first) during the voting window; a supermajority pass arms 'trigger' (free, anyone can call it), which locks the trailing TWAP as the baseline and opens the market window: the winner executes unless the TWAP over that window is below the baseline. You sign and submit the manifest yourself with your own key, then register the txHash with submit_tx. Requires the Bearer token from the `login` tool, sent as an HTTP `Authorization: Bearer <token>` header on the POST carrying this call.","tags":["write","transact","launch","trade","governance","testnet"],"quality_warning":false},{"skill_id":"market","name":"Get Market","description":"This DAO's live market state, read from the bonding curve and the swap mirror: price in $XRD, 24h change and volume, market cap, circulating vs total supply, curve allocation, holder count, and the most recent trades. Pass `candles` to also get OHLC history at one interval. Numbers are live reads – prefer them over any wiki prose, and over a stale earlier call. Every figure is denominated in the `network` the response names; on a testnet it is test $XRD and worth nothing. Defaults: trades 10 (max 50); candles omitted unless requested (last 100 per interval). Nothing here executes anything; to price a specific trade size, call quote_swap.","tags":["market","price","bonding-curve","quotes","trading"],"quality_warning":false},{"skill_id":"read","name":"Get Page","description":"Full text of ONE page in the Caper knowledge base. Address it by `path` (\"dao-governance/concepts/voting/quadratic-voting\" – exactly the `path` field the listing tools return), or by `tagPath` + `slug`. Use this only for a single known page: for 2 to 20 pages call get_pages instead, which is one round trip rather than N. Pass the path, not a page title. A miss returns near-match slugs so a wrong guess is recoverable in one retry.","tags":["read","content","documentation","markdown"],"quality_warning":false},{"skill_id":"list","name":"List Pages","description":"Enumerate pages in the Caper knowledge base, newest first, optionally under one tag path. Use it to walk a branch you have already located (via get_categories, or the `tagPath` on a search hit); use search_wiki when you are hunting a keyword. `tagPath` matches the branch and everything beneath it – \"daos\" also returns \"daos/dexs/...\". Omit it to list the whole scope. Defaults: sort \"updatedAt\", page 1, pageSize 20 (max 100). Returns summaries only – pass the `path` values to get_pages for full text. `hasMore`/`nextPage` are the only truncation; nothing else is cut.","tags":["list","browse","categories"],"quality_warning":false},{"skill_id":"search","name":"Search Wiki","description":"Keyword search across the Caper knowledge base – the first call when you know what you are looking for but not where it lives. Matches page titles and body prose. A distinctive keyword is still the best query, but a whole question now works too: if the literal text is not found anywhere, it falls back to English full-text matching, which stems words and drops stopwords. NOT semantic – it reduces your question to its keywords, so it will not find a page that says \"fee\" when you asked about \"cost\". Ranked in four tiers: titles starting with the term, then titles containing it, then literal body hits, then full-text hits by relevance. Returns summaries only, each with a `path`, a `chars` size, and a 200-char snippet WINDOWED ON THE MATCH – the snippet shows you the passage that matched, so you can judge a result without opening it. Feed those `path` values to get_pages in one batched call – do NOT loop get_page over the results. If you want structure rather than a keyword, call get_categories (taxonomy) or list_pages (a whole branch). Defaults: page 1, pageSize 20 (max 50). Keep paging while `hasMore` is true.","tags":["search","caper","radix","dao","desci"],"quality_warning":false}],"quality_flags":[],"check_history":{"checks":4,"passed":4},"recent_checks":[{"card_url":"https://caper.network/.well-known/agent-card.json","checked_at":"2026-10-10T15:16:03.020580+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://caper.network/.well-known/agent-card.json","checked_at":"2026-10-10T12:39:08.973544+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://caper.network/.well-known/agent-card.json","checked_at":"2026-10-10T07:59:10.762274+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://caper.network/.well-known/agent-card.json","checked_at":"2026-10-10T07:52:47.883393+00:00","success":true,"http_status":200,"detail":"Agent Card validated"}],"endpoint_tls_check":{"checked_at":"2026-10-10T15:16:03.020580+00:00","success":true,"detail":"Valid TLS connection to advertised endpoint host; no A2A request sent"},"protocol_check":{"checked_at":"2026-10-10T07:52:47.883393+00:00","state":"unconfirmed","http_status":200,"detail":"Advertised A2A task lookup method was not found"},"events":[],"relationships":[],"verification":{"agent_card_url":"https://caper.network/.well-known/agent-card.json","last_successful_card_check":"2026-10-10T15:16:03.020580+00:00","latest_card_check":{"checked_at":"2026-10-10T15:16:03.02058+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"signature_status":"unsigned","signature_checked_at":"2026-10-10T15:16:03.020580+00:00","task_endpoint_tested":true,"task_execution_tested":false,"endpoint_tls_checked_at":"2026-10-10T15:16:03.020580+00:00","endpoint_tls_reachable":true,"protocol_check_state":"unconfirmed","protocol_checked_at":"2026-10-10T07:52:47.883393+00:00","provider_identity_verified":false,"domain_claimed_at":null,"domain_proof_checked_at":null}}