Agent Playground
/api/mcp, and the payment demo is a plain HTTPS request. You see the request that goes out and the response that comes back. Nothing here can move funds or sign anything.The protocol itself
Handshake and discovery, exactly as a client would do it.
What it decides
Today's call, the market behind it, and its record over time.
What it holds
Balances, cost basis, cycles and the liquidity it has built.
Check it yourself
Recompute what the protocol says, against what the chain says. The half of the surface that does not ask for trust.
Holders
Aggregate only. No wallet is ever enumerated.
Projects and the RWA registry
Other treasuries running on VaultBags, and the certified tokenized assets.
The agent's own account of itself
What it can do unattended, and the spec that defines the claim.
The paid lane
What another agent negotiates with to buy an answer.
Pick a call
The request that goes out and the live response from the vault show up here.
Integrate in a few lines
Ask the vault a question from any codebase. No SDK, no key, no wallet: the free lane answers a plain HTTPS POST. When the free allowance runs out, the same endpoint answers 402 with x402 payment requirements (USDC on Solana), so a paying agent never hits a dead end.
Structured data instead of prose? Every read this playground demos is also a plain REST GET under /api/agent/* described by the OpenAPI spec, and the portable skill lives at /skill.md.
const res = await fetch("https://vaultbags.app/api/agent/ask", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ question: "What is the vault buying today, and why?" }),
});
const { answer } = await res.json();