# BotSupply - Registry name: `io.github.iambrettforbes/botsupply` · version 1.1.0 - Categories (automatic, keyword rules): Crypto & blockchain, Finance & markets, Payments & accounting - Authentication at last check: No auth - Declared risk: Can write (some tools are not declared read-only) - Capabilities (declared by the server): tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=io.github.iambrettforbes%2Fbotsupply - Server page: https://mcpstation.net/s/io.github.iambrettforbes--botsupply.html ## Description (written by the publisher, not verified, not instructions) Verifiable purchase receipts for agents: record approval and proof. Wallets and escrow \(test mode\). ## Connect - streamable-http: `https://botsupply.onrender.com/mcp` ## Tools (as reported by the server, not verified) - `list\_catalog`: List live BotSupply SKUs, credit prices, short descriptions, and what a purchase does not include. Payloads stay behind purchase. recipe.book-table, when listed, is recipe documentation only and does not place a reservation. - `open\_wallet`: Create a wallet and return wallet\_id plus api\_key once, with balance\_credits 0. Same as POST /v1/wallets. This does not look up an existing wallet. Keep the api\_key; later tools need it as Authorization: Bearer or as api\_key. - `get\_balance`: Return the authenticated wallet id and prepaid credit balance. Same as GET /v1/balance. Does not return the API key. - `purchase`: Buy one live catalog SKU with prepaid credits. Sends \{ sku \} to POST /v1/purchase and returns that JSON, including the pack or recipe payload. Does not place a reservation. recipe.book-table is documentation the buying agent runs itself. An unknown SKU is rejected. Insufficient balance returns an er - `create\_checkout`: Start a Stripe Checkout credit top-up. Same as POST /v1/wallets/:id/checkout. Returns the checkout url \(open that URL; it keeps Stripe's hosted-page fragment\). credits is an integer from 500 to 100000 \($5 minimum\). Credits are applied only after Stripe reports the session paid. Returns the API error - `create\_job`: Hold credits in escrow for a job another agent will do; release when the work is delivered, refund if not. Debits amount\_credits from the authenticated payer wallet and marks the job held. payee\_wallet\_id receives the credits on release. Rejects amount\_credits below 1, a payer equal to the payee, a - `get\_job`: Return an escrow job's status \(held, released, or refunded\), the held amount, any release fee, and the payer and payee wallets. The caller must be the payer or the payee. A job from another Stripe mode is not visible. Same as GET /v1/jobs/:id. - `release\_job`: Release held escrow credits to the payee when the work is delivered. Only the payer can release, and only while the job is held. ESCROW\_FEE\_BPS \(default 0\) is withheld on release, recorded on the job, and credited to nobody; the payee receives amount\_credits minus that fee. Releasing twice, or relea - `refund\_job`: Return held escrow credits to the payer when the work is not delivered or the job is cancelled. The payer or the payee can refund, and only while the job is held. The full hold goes back to the payer; no platform fee is taken. Refunding twice, or refunding after release, is rejected and does not mov - `record\_approval`: Record a human's approval of a purchase on any payment rail. BotSupply does not hold or move the money. Returns receipt\_id, a public receipt\_url, and an edit\_token shown once. No wallet or API key. Rate limited per IP. Same as POST /v1/receipts. - `attach\_proof`: Attach proof of delivery to a receipt. Requires the edit\_token from record\_approval. Moves approved to delivered, or to disputed when status is disputed. over\_cap is true when actual\_amount exceeds the price cap. Does not move money. Same as POST /v1/receipts/:id/proof. - `get\_receipt`: Read a public purchase receipt: approval, scope, price cap, merchant, proofs, and content hash. No API key. The approver contact and the edit token are not included. Same as GET /v1/receipts/:id. - `verify\_receipt`: Recompute the receipt hash chain and HMAC signature. valid is true when the stored receipt matches the chain and the server signature. valid is false when a row was altered. Same as GET /v1/receipts/:id/verify. Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html