Non-custodial payment drafts/pay links for BTC, USDC, USDT, EURC. Never holds keys.
send21 is a remote MCP server published at send21.io. It has been probed 6 times since 9/12/2026. It answered in 6 of them (100.0%), a near-uninterrupted record. Median response time is 213 ms, placing it among the faster endpoints. It offers a narrow, focused set of 9 tools. On the protocol side it speaks the 2026-07-28 stateless spec.
Can an LLM agent pick the right tool here — names, descriptions and parameter clarity are assessed.
| Run | Era | Modern | ms | Legacy | ms | Versions |
|---|---|---|---|---|---|---|
| 2026-09-13 01:33:33 | Dual-era | 200 | 161 | 200 | 161 | 2026-07-28 |
| 2026-09-12 23:31:36 | Dual-era | 200 | 167 | 200 | 160 | 2026-07-28 |
| 2026-09-12 21:29:15 | Dual-era | 200 | 213 | 200 | 225 | 2026-07-28 |
| 2026-09-12 19:27:29 | Dual-era | 200 | 405 | 200 | 402 | 2026-07-28 |
| 2026-09-12 17:24:09 | Dual-era | 200 | 245 | 200 | 259 | 2026-07-28 |
| 2026-09-12 15:21:42 | Dual-era | 200 | 202 | 200 | 170 | 2026-07-28 |
tools/list structure, inputSchema validity, and a functional smoke test — the components of the 0-100 score.
Tools the server advertised in the latest measurement — measured, not catalog-claimed.
get_transaction_templateGet the multi-output transaction template for a draft: Bitcoin Core walletcreatefundedpsbt arguments and Electrum/Sparrow pay-to-many CSV. The operator's wallet funds, reviews, and signs it — send21 contains no signing code. Requires scope drafts:read.
draftIdstringrequiredget_fee_scheduleGet the public send21 fee schedule: tiered percent by payment size in USD, min/max fee, and dust limit. No authentication needed.
create_payment_requestCreate a payment request / checkout pay link (you are the RECEIVER asking to get paid). Price in any of 165 fiat currencies; the payer opens the returned payPath, picks one of the offered currencies (rate locks then), and pays a single QR-scannable transfer straight to your address. Requires scope drafts:write.
fiatCurrencystringrequiredfiatAmountnumberrequiredoptionsarrayrequiredorderIdstringrequiredmemostringrequiredexpiryHoursintegerrequiredidempotencyKeystringrequiredlist_address_bookList the account's saved addresses (label, address, network, direction: Sending = recipients the owner pays, Receiving = the owner's own addresses). Requires scope addressbook:read.
get_draftGet a payment draft by id, including amounts, fee, quote, and status. Requires scope drafts:read.
draftIdstringrequiredget_payment_requestGet a payment request by id: status (Open/Completed/Cancelled/Expired), pay path, offered currencies, and the underlying draft once the payer committed. Requires scope drafts:read.
paymentRequestIdstringrequiredget_rateGet the current exchange rate for an asset in a fiat currency (rate = fiat units per 1 whole asset unit, with source provenance). Assets: Btc, Usdc, Usdt, Eurc. 165 ISO-4217 fiat currencies are supported.
fiatCurrencystringrequiredassetstringrequiredcreate_draftCreate a non-custodial payment draft (you are the SENDER paying a receiver address). Amount is either exact base units (sats for BTC, micro-units for stablecoins) via amountBaseUnits, or fiat-pegged via fiatCurrency+fiatAmount with the exchange rate locked at creation. Returns the draft incl. id, amounts, fee, and status. Funds move only when the sender signs in their own wallet — send21 never holds keys. Requires scope drafts:write.
receiverAddressstringrequirednetworkstringrequiredcurrencystringrequiredamountBaseUnitsintegerrequiredfiatCurrencystringrequiredfiatAmountnumberrequiredmemostringrequiredidempotencyKeystringrequiredget_draft_statusLightweight status snapshot of a draft: status (AwaitingPayment/Seen/Confirmed/Expired/Cancelled), paying txid, confirmations. Cheap to poll. Requires scope drafts:read.
draftIdstringrequiredEach block is one measurement round. Green: working response. Amber: responded but the server was returning errors (5xx). Red: no response at all.
Each cell is one probe run. Faded cells are incomplete probes — one leg did not answer, so the era is inconclusive.
The two probe legs separately: modern server/discover and legacy initialize.
Derived by comparing consecutive probes — changes in era, protocol version, build and reachability.
Add this badge to your README — it updates automatically as measurements change.
[](https://mcpmetrics.io/servers/io-github-send21io-mcp)<a href="https://mcpmetrics.io/servers/io-github-send21io-mcp"><img src="https://mcpmetrics.io/badge/io.github.send21io/mcp/era.svg" alt="mcpmetrics"></a>You are seeing the last 7 days. Sign up for the full history. Which check failed and why is in the dashboard.
Sign up free to seeThe catalog entries whose name and description are closest to this one, found with the same index the search box uses.
India payments for AI agents — UPI, cards, wallets via Razorpay Payment Links. Never holds funds.
Pay for APIs with USDC. Read-only x402 payment discovery, verification, evidence, and status.
PaymentOracle — ES256K-signed receipts for x402 payments on USDC+EURC (Base) and XRP+RLUSD (XRPL).
XDG desktop entry keys, body discarded
Paid Base USDC lending decisions and rate-risk alerts, plus free risk and routing tools.
JWKS keys array count, body discarded
Comments
Sign in to write a comment
No comments yet. Be the first.