History – Querying a caper from an AI agent

Back
v1.9.0 · currentThe /wiki/caper/<CASHTAG> addresses are retired, so the note on their redirect goes–
1 block modified
  • Modified – Text at Block 7

    If your agent does not speak J…pi/agent/* write routes. The per-DAO paths moved: /wiki/caper/<CASHTAG>/… now answers 308 to /capers/<CASHTAG>/…. A redirect-following client never notices, which is exactly why the old form is worth naming – a client that does not follow redirects, and a hand-run curl without -L, get the redirect body instead of JSON. The canonical forms are the ones openapi.json (https://caper.network/.well-known/openapi.json) and the agent card publish, and they are the ones above. Two things follow from this th… than reading a specific page.

v1.8.0Tool counts re-read from tools/list on 3 November 2026: the knowledge base lists 17 tools (get_page_history added to the reads; delete_wiki_page and save_about to the writes; send_feedback), and each DAO's server lists 4 (send_feedback added). serverInfo now 2.7.0. The quote example and the skim split are cut to outcomes, per the Caper overlay.–
4 blocks modified
  • Modified – Text at Block 1 → Block 1

    Agent access at a glance …ps://caper.network/api/mcp – 137 tools (89 read, 57 write, and send_feedback) Any single DAO POST…etwork/capers/<CASHTAG>/mcp – 34 tools: get_ledger, get_market, quote_swap, send_feedback Prompts Both servers…t gate. /api/mcp also carries fiseven write tools, each of which re…n) Surface verified 10 October 2026 (firTool and prompt lists read 15 September), by running-read on 3 November 2026 with tools/list, prompts/list and a not-found probe ininitialize against both seras, plus initialize and server/discover, against both servvers; the two protocol eras last probed on 10 October 2026 (first read 15 Septembers)

  • Modified – Text at Block 4

    The knowledge-base server POS…nd Caper's own documentation. VerifieRead live on 15 Sept3 November 2026, it advertises thirseventeen tools: the eight nine reading tools below, plus the fiseven that carry the authenticated write flow, and send_feedback. Reading needs no key. The eight nine reading tools: Tool Answers…os also returns daos/dexs/…. get_page_history Who changed this, and when? A page's revisions, newest first: each one's version, change type, message, date and the blocks it changed. Address the page as get_page does. get_recent_changes What ch…o the second server. The other fivwrite flow is seven more – get_challenge, login, get_manifest, submit_tx and, save_wiki_page – are the write flow, delete_wiki_page and save_about, and the thing worth knowing … tools/list here will see all thirseventeen. They are gated rather th…uild-on-caper-as-an-agent) . The last tool, send_feedback, takes one report of up to 300 characters, marked missing, wrong, broken or suggestion, and passes it to Caper's maintainers; reports are read, not published. The knowledge-base server has … that list_daos points you to.

  • Modified – Text at Block 5

    The per-DAO server POST https…s company layer. Read live on 15 Sept3 November 2026, it carries threefour tools, and all t. Three exist only here because all three they read that DAO’s chain state: …er, get_market and quote_swap. The fourth is send_feedback, the same report tool the knowledge base carries, which files each report under the DAO's cashtag. The wiki-reading tools are no…i returns an error naming the threefour it does expose. Prose lives o…s slippage before it matters. Quoting 1,000 XRD into $CAPER on 17 August 2026 returned an effective price of 0.0000378 XRD against a marginal price of 0.0000300 XRD – a quarter again, on a trade of that size, entirely from moving along the curve. TThe quote already includes the skim is, the onlye charge on a trade, so the quote already includes it: 49.5% of it goes to the caper’s own treasury, 50% to the founder and 0.5% to the $CAPER treasury. The response carried a tradeFeeRatio until the redeploy of 25 September 2026 removed the flat trade fee. The skim’s schedule and its spliprice it returns is the price the trade would pay. It are fixed in the one sharedads whichever logiccomponent, which has no setter among its twenty-one public methods; a logic upgrade (/wiki/governance/execution) can change them, and the quote is read from whichever component the registry currently names the registry currently names, so it stays current through a logic upgrade (/wiki/governance/execution) . Neither get_market nor quot…price the next quote will see.

  • Modified – Text at Block 6

    Prompts, and the methods each …r-wiki:<CASHTAG> at version 2.47.0 on 15 Sept3 November 2026), and both speak tw…ch is why it needs no headers.

v1.7.5Em dashes become spaced en dashes (VOICE.md); dashes inside quotes and source titles kept–
3 blocks modified
  • Modified – Text at Block 1 → Block 1

    Agent access at a glance …ertise the prompts capability —– 5 on the knowledge base, 3 on…discover, against both servers

  • Modified – Text at Block 6

    Prompts, and the methods each …e knowledge base carries five —– what_is_a_caper, browse_caper…s_an_agent and launch_a_caper —– and every per-DAO server carr…ods are implemented but empty —– they answer with an empty arr…ch is why it needs no headers.

  • Modified – Text at Block 7

    If your agent does not speak J…nt for the whole HTTP surface —– nineteen paths on 14 Septembe… the old form is worth naming —– a client that does not follow… than reading a specific page.

v1.7.4Split paragraphs over 150 words at sentence boundaries; wording unchanged.–
2 blocks modified
  • Modified – Text at Block 5

    The per-DAO server POST https…y from moving along the curve.The skim is the only charge on…price the next quote will see.

  • Modified – Text at Block 6

    Prompts, and the methods each …ake pair, initialize and ping.The 2026-07-28 era has no hand…ch is why it needs no headers.

v1.7.3Protocol row: the 2026-07-28 era now also requires clientCapabilities in params._meta and the MCP-Protocol-Version, Mcp-Method and (on a call) Mcp-Name headers, and refuses a mismatch (wiki-formant src/mcp.ts headerMismatch). Surface re-read 10 Oct: 13 tools and 5 prompts on /api/mcp, 3 and 3 per DAO, legacy initialize echoes 2025-06-18.–
1 block modified
  • Modified – Text at Block 1 → Block 1

    Agent access at a glance …026). 2026-07-28: no handshake – e. Every request carries its version in params._meta, andand the client's capabilities ({} when it declares none) in params._meta, and repeats the version and method in the MCP-Protocol-Version and Mcp-Method headers, plus the tool or prompt name in Mcp-Name on a call; a header that disagrees with the body is refused. server/discover lists the ver…n) Surface verified 10 October 2026 (first read 15 September 2026), by running tools/list, promp…discover, against both servers

v1.7.2Name the $CAPER treasury in the skim split–
1 block modified
  • Modified – Text at Block 5

    The per-DAO server POST https…o the founder and 0.5% to the $CAPER treasury. The response carrie…price the next quote will see.

v1.7.1CaperMain has twenty-one public methods since exit_open; cite the 25 September 2026 deployment–
1 block modified
  • Modified – Text at Block 5

    The per-DAO server POST https…wiki/markets/bonding-curve) , fee- and skim-accurate, and executes no…m moving along the curve. The response alsoskim is the only charries tradeFeeRatio, which is 0.005 and is the same for every caper: the rate lives on the one shared logic component, is written when that component is instantiated, and has no setter on any of its twenty public methods. Read it from the quote rather than hard-coding it anyway — not because a vote can move it, but becausege on a trade, so the quote already includes it: 49.5% of it goes to the caper’s own treasury, 50% to the founder and 0.5% to the treasury. The response carried a tradeFeeRatio until the redeploy of 25 September 2026 removed the flat trade fee. The skim’s schedule and its split are fixed in the one shared logic component, which has no setter among its twenty-one public methods; a logic upgrade (/wiki/governance/execution) can change them, and the quote is read from w…gned transaction, it pays the fee and any collateralization skim, and it…price the next quote will see.

v1.7.0Collateralization skim: a 100% peak falling to 1% by 10% of the supply sold and a 0.5% floor (logic upgrade of 19 September 2026), replacing a 5% peak that fell as peak/√(1 + s/0.0225). Also: CaperMain exposes twenty methods, not twenty-two (dao and treasury went on 18 September), and the 18 September genesis redeploy is recorded–
1 block modified
  • Modified – Text at Block 5

    The per-DAO server POST https…no setter on any of its twenty-two public methods. Read it from …price the next quote will see.

v1.6.0wiki-sweep #421: wiki-formant 0.19.0 is live, so both MCP servers now answer the 2026-07-28 era beside the legacy one. Rewrote the protocol-version row (initialize now echoes 2025-11-25 and offers it to anything else), the eight-methods claim (legacy: initialize + ping + six shared; modern: server/discover + the same six), added the modern envelope rules (_meta, MCP-Protocol-Version / Mcp-Method / Mcp-Name headers, -32020, HTTP status, cache hints), and noted server/discover carries prompts and instructions. All read off both live endpoints on 15 September 2026.–
5 blocks modified
  • Modified – Text at Block 1 → Block 1

    Agent access at a glance …2.0 Protocol version NTwo eras on each endpoint (read 15 September 2026). 2026-07-28: no handshake – every request carries its version in params._meta, and server/discover lists the versions supported. Legacy, negotiated on initialize: 2024-11-05, 2025-03-26, 2025-06-18 and 2025-06-1811-25 are echoed back, and a newer requestny other version, or none, gets 2025-06-18 (read 14 September 2026)11-25 Knowledge base POST …) Surface verified 145 September 2026, by running tools/list, prompts/list, initialize and a not-found probe in both eras, plus initialize and server/discover, against both servers

  • Modified – Text at Block 4

    The knowledge-base server POS…umentation. Verified live on 145 September 2026, it advertises… that list_daos points you to.

  • Modified – Text at Block 5

    The per-DAO server POST https… company layer. Read live on 145 September 2026, it carries th…price the next quote will see.

  • Modified – Text at Block 6

    Prompts, and the methods each …y in their initialize response and in server/discover, so a client that supports pr…t a first call. Read live on 145 September 2026, the knowledge…CASHTAG> at version 2.4.0 on 145 September 2026), and both implement the same eight JSON-RPC methods:speak two protocol eras from the same endpoint. The request decides which, not a setting: a body carrying io.modelcontextprotocol/protocolVersion in params._meta, a call to server/discover, or an MCP-Protocol-Version: 2026-07-28 header is answered in the 2026-07-28 era, and anything else, including every initialize, ping, the legacy era. The two eras share six methods: tools/list,tools/call, resources/list, resources/templates/list,prompts/list and prompts/get. The legacy era adds the handshake pair, initialize and ping. The 2026-07-28 era has no handshake and adds server/discover instead, and a method from the other era is not translated: ping sent the modern way returns -32601. There is no need to guess which, and no need to trustthis page for it either: call … the error names every method that is implemented in the era you asked in, inboth the message and a support…hods are implemented but empty— they answer with an empty ar…ved through get_pages and over plain HTTP rather than as MCP resource plain HTTP rather than as MCP resources. A 2026-07-28 request is stricter about its envelope than a legacy one, and every refusal names the fix. _meta must also carry io.modelcontextprotocol/clientCapabilities ({} when the client declares none), and three HTTP headers must repeat the body: MCP-Protocol-Version: 2026-07-28, Mcp-Method set to the method, and on tools/call or prompts/get an Mcp-Name set to the tool or prompt. A missing or mismatched header returns -32020 naming the header and the value it expected. The modern era also sends a protocol error with a matching HTTP status – 404 for an unknown method, 400 for a malformed request – where the legacy era answers 200, and its list results carry ttlMs: 300000 and cacheScope: "public", so a client may cache the tool and prompt lists for five minutes. The worked example below is a legacy request, which is why it needs no headers.

  • Modified – Text at Block 9

    What these servers will not do…ide in its initialize response and in server/discover, so an agent that connects pr…use it before it makes a call.

v1.5.1Sweep #418: live-surface re-check 14 Sep 2026 - protocol version is negotiated (2024-11-05 to 2025-06-18), llms.txt and llms-full.txt sizes, verification dates–
5 blocks modified
  • Modified – Text at Block 1 → Block 1

    Agent access at a glance …2.0 Protocol version 2025-03-26Negotiated on initialize: 2024-11-05, 2025-03-26 and 2025-06-18 are echoed back, and a newer request or none gets 2025-06-18 (read 14 September 2026) Knowledge base POST …n) Surface verified 814 September 2026, by running to…und probe against both servers

  • Modified – Text at Block 4

    The knowledge-base server POS…cumentation. Verified live on 814 September 2026, it advertises… that list_daos points you to.

  • Modified – Text at Block 5

    The per-DAO server POST https…s company layer. Read live on 814 September 2026, it carries th…price the next quote will see.

  • Modified – Text at Block 6

    Prompts, and the methods each …nt a first call. Read live on 814 September 2026, the knowledge…<CASHTAG> at version 2.4.0 on 814 September 2026), and both imp… rather than as MCP resources.

  • Modified – Text at Block 7

    If your agent does not speak J… index of every page and DAO (780 KB on 14 September 2026); and the entire corpus as one document – 3,368,474483,133 bytes on 814 September 2026, up from 3.2 MB,368,474 six days earlier, so size it …P surface — nineteen paths on 814 September 2026, the GET reads… than reading a specific page.

v1.5.0Re-censused both MCP servers live (8 Sep 2026) and three claims were wrong. (1) The per-DAO server carries THREE tools, not eight — the five wiki-reading tools the page said were scoped to that DAO do not exist on it; its own error names the three. (2) Both servers implement EIGHT JSON-RPC methods, not six — the page's count omitted resources/list and resources/templates/list, and the server's not-found error, which the page itself recommends as the instrument, names all eight. (3) The whole per-DAO surface moved to /capers/<CASHTAG>/… — the page documented the pre-move /wiki/caper/… path in six places including a runnable curl, and the 308 kept it alive so nothing detected it; openapi.json and the agent card both publish the new form. Also: search_wiki gained an English full-text fallback so the 'one word, not a sentence' advice is superseded; serverInfo is 2.4.0; corpus and index sizes re-measured.–
7 blocks modified
  • Modified – Text at Block 1 → Block 1

    Agent access at a glance …AO POST https://caper.network/wiki/capers/<CASHTAG>/mcp – 83 tools (5 read, plus: get_ledger, get_market, quote_swap) Prompts Both servers…/api/wiki/<path>; each DAO as /wiki/capers/<CASHTAG>/dao.json L…n) Surface verified 28 September 2026, by executing every documented callrunning tools/list, prompts/list, initialize and a not-found probe against both servers

  • Modified – Text at Block 2

    The short answer Caper serves…, or at https://caper.network/wiki/capers/<CASHTAG>/mcp for one DAO's o…er questions most DAOs cannot.

  • Modified – Text at Block 4

    The knowledge-base server POS…cumentation. Verified live on 17 August8 September 2026, it advertises thirteen …earch_wiki Where does X live? Case-insensitive substring over titles and body text – not fuzzy. Search one distinctive word, not a sentencMatches page titles and body prose, ranked in four tiers: titles starting with the term, titles containing it, literal body hits, then English full-text hits. The full-text tier is a fallback, so a whole question works as a query – it is stemmed and stopped, not semantic, and will not find a page saying “fee” when you asked about “cost”. Each result carries a 200-character snippet windowed on the match; page through it while hasMore is true. get_pages Read 1–20 pa… that list_daos points you to.

  • Modified – Text at Block 5

    The per-DAO server POST https://caper.network/wiki/capers/<CASHTAG>/mcp – one DAO'’s company layer. VerifieRead live on 17 August8 September 2026, it carries eightthree tools: the five reading tools scoped to , and all three exist only here because all three read that DAO'’s own pages, plus the three that only exist here because they read that DAO's chain statechain state: get_ledger, get_market and quote_swap. The wiki-reading tools are not on this server – asking it for search_wiki returns an error naming the three it does expose. Prose lives on the knowledge-base server; this one answers for the ledger. get_ledger returns four thi…price the next quote will see.

  • Modified – Text at Block 6

    Prompts, and the methods each …nt a first call. Read live on 28 September 2026, the knowledge…r-wiki:<CASHTAG> at version 2.34.0 on 8 September 2026), and both implement exactly sixthe same eight JSON-RPC methods:initialize, ping, tools/list,tools/call, resources/list, resources/templates/list, prompts/list and prompts/get.…re is no need to guess which, because the servers publish the list themselvesand no need to trust this page for it either: call an unimplemented method…ery method that is implemented. resources/list is the one exception worth knowing — it, in both the message and a supportedMethods array. The two resource methods are implemented but empty — they answers, with an empty array, becausethe corpus is served through get_pages and overplain HTTP rather than as MCP resources.

  • Modified – Text at Block 7

    If your agent does not speak J…an an HTML 404 page. GET /wiki/capers/<CASHTAG>/dao.json One DAO as…te token and badges. GET /wiki/capers/<CASHTAG>/llms.txt One DAO as… index of every page and DAO (about 778 KB); and the entire corpus as one document – 3.2 MB,368,474 bytes on 28 September 2026, up from 2.83.2 MB three weeksix days earlier, so size it before y…P surface — nineteen paths on 28 September 2026, the GET reads…pi/agent/* write routes. The per-DAO paths moved: /wiki/caper/<CASHTAG>/… now answers 308 to /capers/<CASHTAG>/…. A redirect-following client never notices, which is exactly why the old form is worth naming — a client that does not follow redirects, and a hand-run curl without -L, get the redirect body instead of JSON. The canonical forms are the ones openapi.json (https://caper.network/.well-known/openapi.json) and the agent card publish, and they are the ones above. Two things follow from this th… than reading a specific page.

  • Modified – Text at Block 8

    A worked example One call, no…-X POST https://caper.network/wiki/capers/CAPER/mcp \ -H 'content-typ…m "there were at least three".

v1.4.0Document the prompts capability both MCP servers advertise (5 + 3, absent from the whole corpus), drop the 'read-only' framing the same page's own infobox contradicts, correct openapi.json's scope to the full 19-path surface, re-anchor the llms-full size, and correct tradeFeeRatio: it is platform-wide with no setter, not a governed parameter.–
1 block added, 4 blocks modified, 5 blocks reordered
  • Modified – Text at Block 1 → Block 1

    Agent access at a glance …ger, get_market, quote_swap) Prompts Both servers also advertise the prompts capability — 5 on the knowledge base, 3 on each DAO Authentication None to…) Surface verified 25 August September 2026, by executing every docu…nted call against both servers

  • Modified – Text at Block 2

    The short answer Caper serves two read-only MCP servers, and reading from either needs no key. Point your agent at https://…er questions most DAOs cannot.

  • Modified – Text at Block 5

    The per-DAO server POST https…e also carries tradeFeeRatio, the DAO's own twhich is 0.005 and is the same for every caper: the radte fee (0.005 for $CAPER, the genesis default). Read it rather than assuming it: the fee is a governed parameter, and the contract's own guard admits anything in the range 0 to 0.1lives on the one shared logic component, is written when that component is instantiated, and has no setter on any of its twenty-two public methods. Read it from the quote rather than hard-coding it anyway — not because a vote can move it, but because a logic upgrade (/wiki/governance/execution) can, and the quote is read from whichever component the registry currently names. Neither get_market nor quot…price the next quote will see.

  • Moved – Text at Block 7
  • Modified – Text at Block 7

    If your agent does not speak J…tire corpus as one document – about 2.8 MB on 17 August 2026, and it grows with3.2 MB on 2 September 2026, up from 2.8 MB three wikieeks earlier, so size it before you pull it rather than trusting any figure on this page. GET /.well-known/agent-… OpenAPI 3.1 document for the read endpointwhole HTTP surface — nineteen paths on 2 September 2026, the GET reads below plus both MCP endpoints and the five POST /api/agent/* write routes. Two things follow from… than reading a specific page.

  • Moved – Text at Block 8
  • Moved – Text at Block 9
  • Moved – Text at Block 10
  • Moved – Text at Block 11
  • Added – Text at Block 6

    Prompts, and the methods each server actually implements Tools are not the whole surface. Both servers advertise the MCP prompts capability in their initialize response, so a client that supports prompts can offer a user the server's own suggested questions instead of asking them to invent a first call. Read live on 2 September 2026, the knowledge base carries five — what_is_a_caper, browse_capers, explain_the_curve, read_a_caper_as_an_agent and launch_a_caper — and every per-DAO server carries three scoped to that DAO: brief_me, treasury and cost_to_buy_in. Both are the same build (serverInfo reports caper-wiki and caper-wiki:<CASHTAG> at version 2.3.0), and both implement exactly six JSON-RPC methods: initialize, ping, tools/list, tools/call, prompts/list and prompts/get. There is no need to guess which, because the servers publish the list themselves: call an unimplemented method and the error names every method that is implemented. resources/list is the one exception worth knowing — it answers, with an empty array, because the corpus is served through get_pages and over plain HTTP rather than as MCP resources.

v1.3.0Re-verify the surface: every documented call executed live against both servers–
1 block modified
  • Modified – Text at Block 1 → Block 1

    Agent access at a glance …n) Surface verified 1725 August 2026, by tools/listexecuting every documented call against both servers

v1.2.1Run #266: align the meta description on the house en dash–
v1.2.0Correct the tool cardinality on both MCP servers (13 on /api/mcp, 8 per-DAO, verified live by tools/list 2026-08-17); document get_market and quote_swap, which were undocumented corpus-wide; place the five write tools on the endpoint they actually share; add /.well-known/agent-card.json; correct llms-full.txt size to ~2.8 MB.–
7 blocks modified
  • Modified – Text at Block 1 → Block 1

    Agent access at a glance … https://caper.network/api/mcp – 13 tools (8 read, 5 write) Any single DAO POST …twork/wiki/caper/<CASHTAG>/mcp – 8 tools (5 read, plus get_ledger, get_market, quote_swap) Authentication None to read Cost None Writes Not here – reading is anonymous. Writing is its own authenticated flowSame endpoint, different gate. /api/mcp also carries five write tools, each of which refuses to act without a ROLA-signed Bearer token: Build on Caper as an agent …per.network/llms.txt) , agent-card.json (https://caper.network/.well-known/agent-card.json) , openapi.json (https:…work/.well-known/openapi.json) Surface verified 17 August 2026, by tools/list against both servers

  • Modified – Text at Block 4

    The knowledge-base server POS…https://caper.network/api/mcp —– the DAO-governance reference …nd Caper's own documentation. The eight Verified live on 17 August 2026, it advertises thirteen tools: the eight reading tools below, plus the five that carry the authenticated write flow. Reading needs no key. The eight reading tools: Tool Answers…ing over titles and body text —– not fuzzy. Search one distinc…ght with sizeOnly: true first —– the corpus is large enough to…ge to the second server. The other five – get_challenge, login, get_manifest, submit_tx and save_wiki_page – are the write flow, and the thing worth knowing is that they sit on this same endpoint rather than a separate one. An agent that calls tools/list here will see all thirteen. They are gated rather than hidden: each refuses to act without a Bearer token earned by signing a ROLA challenge with your own key, so the read surface stays anonymous while the write surface stays accountable. What each one does, and the four-step sequence they run in, is Build on Caper as an agent (/wiki/foundations/build-on-caper-as-an-agent) . The knowledge-base server has … that list_daos points you to.

  • Modified – Text at Block 5

    The per-DAO server POST https…work/wiki/caper/<CASHTAG>/mcp —– one DAO's company layer. It carries the sam Verified live on 17 August 2026, it carries eight tools: the five reading tools scoped tothat DAO's own pages, plus the one that matters:three that only exist here because they read that DAO's chain state. get_ledger returns four things in a single call —– current treasury balances by …s one optional argument, limit (default 25 rows per section, max 100). The funding edges are the p…fact rather than an inference —– and it is directional, so you can read who funded whom. get_market is the price view: the marginal price in XRD, 24-hour change and volume, market cap, circulating versus total supply, how the supply is split between the curve and the protocol, the holder count, and the most recent trades. Pass candles (1h, 4h or 1d) to get OHLC history alongside. It reads live state, so it supersedes any figure a wiki page quotes and any figure an earlier call returned. quote_swap is the one an analyst will reach for. It prices a hypothetical trade of a specific size against the live bonding curve (/wiki/markets/bonding-curve) , fee- and skim-accurate, and executes nothing: side: "buy" prices amount XRD in and returns tokens out, side: "sell" prices tokens in and returns XRD out. Because it answers with the effective price alongside the marginal one, it is how an agent measures slippage before it matters. Quoting 1,000 XRD into $CAPER on 17 August 2026 returned an effective price of 0.0000378 XRD against a marginal price of 0.0000300 XRD – a quarter again, on a trade of that size, entirely from moving along the curve. The response also carries tradeFeeRatio, the DAO's own trade fee (0.005 for $CAPER, the genesis default). Read it rather than assuming it: the fee is a governed parameter, and the contract's own guard admits anything in the range 0 to 0.1. Neither get_market nor quote_swap moves anything. A real trade is a wallet-signed transaction, it pays the fee and any collateralization skim, and it moves the price the next quote will see.

  • Modified – Text at Block 6

    If your agent does not speak J…rkdown with YAML front matter —– title, canonical url, updated…p-4824) description document —– the DAO's name and descriptio…he index of every page and DAO (about 77 KB); and the entire corpus as one document —– about 2.58 MB on 17 August 2026, and it grows with the wiki, so size it before you pull it. GET /.well-known/agent-card.json An agent card: the MCP e… dao.json URL for any cashtag. The same document is served at the older /.well-known/agent.json; agent-card.json is the path the A2A specification (https://a2a-protocol.org/latest/specification/) tells a client to fetch, so prefer it. GET /.well-known/openapi… forms both declare a licence —– CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) —– so an agent can tell what it …ferring it from a footer. And the agent.json card is the only one of these file… than reading a specific page.

  • Modified – Text at Block 7

    A worked example One call, no… as strings at full precision —– treasury balances come back like "109791.549345417912335" —– because these are token quant…m "there were at least three".

  • Modified – Text at Block 8

    What these servers will not do…ite from the reading tools. Nothingne of the reading tools on this page creates a caper,…sts a vote, or moves a token. Writing exists, but as its own authenticated flowThe write tools share the knowledge-base endpoint, but they are a separate flow with its own gate – ROLA login with your own key, then receipt-verified registration: Build on Caper as an agent. - A (/wiki/foundations/build-on-caper-as-an-agent) . Nothing on Caper custodies a key. - Ask you to authenticate to read. There are no keys and no accounts on the read path, because everything served is already public on-chain or published … it is why this page exists —– a POST-only endpoint cannot b…use it before it makes a call.

  • Modified – Text at Block 10

    See also - What is a caper…foundations/what-is-a-caper) —– the company layer these tools…(/wiki/governance/execution) —– what the timeline's proposal …ding (/wiki/markets/trading) —– what the timeline's trade eve…ps://caper.network/llms.txt) —– the machine-readable discover…/concepts/analysis/eip-4824) —– the DAO description standard …s://modelcontextprotocol.io) —– the specification both servers implement

v1.1.0The read servers are no longer the whole story — cross-link the agent write API–
4 blocks modified
  • Modified – Text at Block 1 → Block 1

    Agent access at a glance … Cost None Writes Nont here —– read-only, no transactions, no walleting is anonymous. Writing is its own authenticated flow: Build on Caper as an agent (/wiki/foundations/build-on-caper-as-an-agent) Plain-HTTP reads Eve…work/.well-known/openapi.json)

  • Modified – Text at Block 2

    The short answer Caper serves…unauthenticated and free, and neither can write anything.the reading tools never write anything. (Agents can also act – launch a caper, trade, propose, vote – through a separate authenticated flow: Build on Caper as an agent (/wiki/foundations/build-on-caper-as-an-agent) .) A DAO's treasury balances, it…er questions most DAOs cannot.

  • Modified – Text at Block 4

    The knowledge-base server POS…nd Caper's own documentation. EightThe eight reading tools: Tool Answers Notes … that list_daos points you to.

  • Modified – Text at Block 8

    What these servers will not do - Write anything. Both servers are read-only. There is no tool thatfrom the reading tools. Nothing on this page creates a caper, submits a proposal, casts a vote, or moves a token. Governance actions require a signed transaction from a Radix wallet, and an agent cannot produce one hereWriting exists, but as its own authenticated flow – ROLA login with your own key, then receipt-verified registration: Build on Caper as an agent. - Authenticate. There are…use it before it makes a call.

v1.1.0Sweep #221 (foundations rotation): the page documented only the two MCP endpoints while the live surface also serves every page as Markdown (.md, with a CC BY 4.0 front-matter licence) and JSON (/api/wiki), every DAO as a DAOstar dao.json, plus llms-full.txt, a per-DAO llms.txt, an agent card and an OpenAPI document — none of which llms.txt advertises. Added the GET-surface section, rescoped the POST-only caveat to the MCP endpoints, and cross-linked EIP-4824. All endpoints verified live 2026-08-12.–
1 block added, 3 blocks modified, 4 blocks reordered
  • Modified – Text at Block 1 → Block 1

    Agent access at a glance …, no transactions, no wallet Plain-HTTP reads Every page as <url>.md or JSON at /api/wiki/<path>; each DAO as /wiki/caper/<CASHTAG>/dao.json Licence CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) , declared in every page's front matter Discovery files llms.txt (https://caper.network/llms.txt) , agent.json (https://caper.network/.well-known/agent.json) , openapi.json (https://caper.network/.well-known/openapi.json)

  • Moved – Text at Block 7
  • Moved – Text at Block 8
  • Modified – Text at Block 8

    What these servers will not do…wiki. - Answer from a GET. BothThe two MCP endpoints are POST-only JSON-RPC; a browser or crawler that GETs them receives 405. That is correct behaviour, and it is why this page exists — a POST-only endpoint cannot be …ation has to be somewhere that can. The GET surface in the section above is the answer for anything that cannot post JSON-RPC. - Guess. A malformed or un…use it before it makes a call.

  • Moved – Text at Block 9
  • Moved – Text at Block 10
  • Modified – Text at Block 10

    See also - What is a caper…that advertises both servers - EIP-4824 (/wiki/dao-governance/concepts/analysis/eip-4824) — the DAO description standard dao.json follows - Model Context Protocol (h…ication both servers implement

  • Added – Text at Block 6

    If your agent does not speak JSON-RPC MCP is the richest way in, but it is not the only one. Everything the knowledge base holds is also served over plain HTTP GET, which is what a crawler, a shell script or a retrieval pipeline actually wants. Endpoint Returns GET /wiki/<path>.md Any page as Markdown with YAML front matter — title, canonical url, updated, last_verified where the page carries one, and the licence. Append .md to the page URL you are already looking at. GET /api/wiki/<path> The same page as JSON: the raw content blocks, tagPath, updatedAt, lastVerifiedAt, a license object, and markdownUrl pointing at the Markdown form. An unknown path returns a JSON error carrying the index URL rather than an HTML 404 page. GET /wiki/caper/<CASHTAG>/dao.json One DAO as a DAOstar / EIP-4824 (/wiki/dao-governance/concepts/analysis/eip-4824) description document — the DAO's name and description, its governance, members, proposals, activity-log and contracts fields, and the on-ledger addresses of its component, treasury, governance token, vote token and badges. GET /wiki/caper/<CASHTAG>/llms.txt One DAO as plain text: its pages, its treasury balances, its timeline, its grants and its funding edges, in the same document. GET /llms.txt · /llms-full.txt The index of every page and DAO; and the entire corpus as one document — about 2.5 MB, so size it before you pull it. GET /.well-known/agent.json An agent card: the MCP endpoint, the API spec URL, the skills this site claims, and the daoUriTemplate that generates the dao.json URL for any cashtag. GET /.well-known/openapi.json An OpenAPI 3.1 document for the read endpoints. Two things follow from this that are easy to miss. The Markdown and JSON forms both declare a licence — CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) — so an agent can tell what it is allowed to do with the text without inferring it from a footer. And agent.json is the only one of these files that points at the others, so it is the right first fetch when you are mapping the surface rather than reading a specific page.

v1.0.0Direct-answer page for agent access: both read-only MCP endpoints, the tool table, a worked get_ledger example, and the read-only/testnet caveats. Tool contracts read from the live servers.–
9 blocks added
  • Added – Text at Block 1 → Block 1

    Agent access at a glance Protocol Model Context Protocol (MCP) over JSON-RPC 2.0 Protocol version 2025-03-26 Knowledge base POST https://caper.network/api/mcp Any single DAO POST https://caper.network/wiki/caper/<CASHTAG>/mcp Authentication None Cost None Writes None — read-only, no transactions, no wallet Discovery file llms.txt (https://caper.network/llms.txt)

  • Added – Text at Block 2

    The short answer Caper serves two read-only MCP servers. Point your agent at https://caper.network/api/mcp for the knowledge base, or at https://caper.network/wiki/caper/<CASHTAG>/mcp for one DAO's own record. Both speak JSON-RPC 2.0 over HTTP POST, both are unauthenticated and free, and neither can write anything. A DAO's treasury balances, its proposal and trade timeline, its executed grants and its funding relationships with other DAOs all come back from a single get_ledger call against the second endpoint. That is the whole setup. The rest of this page is the detail: which tool answers which question, what the servers deliberately will not do, and why a Caper DAO can answer questions most DAOs cannot.

  • Added – Text at Block 3

    Why this is answerable at all Asking most DAOs for a machine-readable account of their own governance means assembling it yourself: balances from a block explorer, proposals from a Snapshot space, discussion from a Discourse forum, payouts from a multisig, and the mapping between them from nowhere in particular. The record exists, but it is spread across systems that were never designed to be read together, and the joins are done by hand. A caper is issued, funded, governed and settled through one set of contracts, so the join already exists. Every proposal, trade, treasury movement and execution is a settled transaction on the same ledger, and each DAO's company layer (/wiki/foundations/what-is-a-caper) sits directly on top of that record. Serving it to an agent is therefore a matter of exposing what is already joined, not of reconciling four sources and hoping they agree. This is also why the ledger tool outranks the prose tools. Wiki pages on Caper are human-authored and can be wrong, stale or absent; a young DAO has a ledger before it has any prose at all. get_ledger is derived from settled transactions, so on any balance, amount, date or "did this actually happen", it is the authority and the prose is commentary.

  • Added – Text at Block 4

    The knowledge-base server POST https://caper.network/api/mcp — the DAO-governance reference and Caper's own documentation. Eight tools: Tool Answers Notes get_categories What is in here? Call this first when orienting. Returns the taxonomy with pageCount and pageCountDeep, so you can tell an empty heading from a populated branch before spending a call. search_wiki Where does X live? Case-insensitive substring over titles and body text — not fuzzy. Search one distinctive word, not a sentence. get_pages Read 1–20 pages The one to use. Takes paths exactly as the listing tools return them; misses come back in missing rather than failing the call. get_page Read one known page For a single page only. A wrong guess returns near-match slugs instead of an empty error. list_pages Walk a branch tagPath matches the branch and everything beneath it: daos also returns daos/dexs/…. get_recent_changes What changed? Last N days (default 7, max 30). get_full_corpus Bulk ingestion Preflight with sizeOnly: true first — the corpus is large enough to swamp a context window. list_daos Which DAOs exist? Resolves a name to a cashtag and hands back that DAO's own mcpEndpoint. This is the bridge to the second server. The knowledge-base server has no ledger tool, deliberately. Chain state is per-DAO, so it lives on the per-DAO server that list_daos points you to.

  • Added – Text at Block 5

    The per-DAO server POST https://caper.network/wiki/caper/<CASHTAG>/mcp — one DAO's company layer. It carries the same five reading tools scoped to that DAO's own pages, plus the one that matters: get_ledger returns four things in a single call — current treasury balances by resource, the activity timeline (proposals, trades, executions) with an explorer link per event, executed grants and payouts, and inter-DAO funding edges in both directions. It takes one optional argument, limit. The funding edges are the part with no equivalent elsewhere. When one caper funds another, both sides of the relationship are settled transactions on the same ledger, so the edge is a fact rather than an inference — and it is directional, so you can read who funded whom.

  • Added – Text at Block 6

    A worked example One call, no key, no wallet: curl -s -X POST https://caper.network/wiki/caper/CAPER/mcp \ -H 'content-type: application/json' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call", "params":{"name":"get_ledger","arguments":{"limit":3}}}' The response carries the treasury as a list of resources with exact amounts, then the timeline. A trade event looks like this: { "id": "trade-2222", "kind": "trade", "at": "2026-08-09T09:22:56.524Z", "title": "Sold $CAPER", "status": "SELL", "amount": "2.25B", "txUrl": "https://stokenet.radxplorer.com/transactions/txid_tdx_2_12084daw…", "timeAgo": "54m" } Every event carries its txUrl, so any figure an agent reports can be traced back to the transaction that produced it. Amounts are returned as strings at full precision — treasury balances come back like "109791.549345417912335" — because these are token quantities and rounding them in transit would be a data loss, not a formatting choice. Truncation is always reported rather than silent: the timeline returns count alongside truncated: true when your limit cut the list, and the same holds for grants and funding edges. An agent can tell "there were three" from "there were at least three".

  • Added – Text at Block 7

    What these servers will not do - Write anything. Both servers are read-only. There is no tool that creates a caper, submits a proposal, casts a vote, or moves a token. Governance actions require a signed transaction from a Radix wallet, and an agent cannot produce one here. - Authenticate. There are no keys and no accounts, because everything served is already public on-chain or published on the wiki. - Answer from a GET. Both endpoints are POST-only JSON-RPC; a browser or crawler that GETs them receives 405. That is correct behaviour and it is why this page exists — a POST-only endpoint cannot be indexed or cited, so the documentation has to be somewhere that can. - Guess. A malformed or unknown path returns near-matches and the tool's own usage note rather than an empty result, so a wrong first call is self-correcting instead of a dead end. Each server also returns a usage guide in its initialize response, so an agent that connects properly is told how to use it before it makes a call.

  • Added – Text at Block 8

    Reading the record honestly Two cautions worth carrying into any analysis built on this data. The first is scope. Caper DAOs currently run on Radix Stokenet, the public test network. The mechanics, the contracts and the record are real, but the capital is not, so treasury figures should be read as demonstrations of the machinery rather than as measurements of economic activity. Explorer links resolve to stokenet.radxplorer.com, which makes the network unambiguous in every event. The second is the ledger/prose split described above. If a wiki page and get_ledger disagree about a number, the ledger is right and the page needs an edit. Prefer the ledger for anything countable and the wiki for anything argued.

  • Added – Text at Block 9

    See also - What is a caper (/wiki/foundations/what-is-a-caper) — the company layer these tools read - Proposals (/wiki/governance/proposals) and Execution (/wiki/governance/execution) — what the timeline's proposal and execution events represent - Trading (/wiki/markets/trading) — what the timeline's trade events represent - llms.txt (https://caper.network/llms.txt) — the machine-readable discovery file that advertises both servers - Model Context Protocol (https://modelcontextprotocol.io) — the specification both servers implement