Send a crypto payment link or invoice priced in your own currency. The payer picks BTC (on-chain or Lightning), USDC, USDT, EURC, SOL or ETH and pays from their own wallet. send21 is non-custodial: it never holds your money or your keys. Built for people and for AI agents.
Works with any wallet that can scan a QR code
send21 has no wallets, no private keys and no signing code. Even a full server break-in cannot move your money.
The send21 fee is never taken from the payment. The receiver gets exactly what was billed, and the payer's wallet sets the network fee.
Bill in EUR, USD, SEK or any of 165 currencies. The exchange rate locks for 15 minutes and is recorded on the payment. Or ask for an exact crypto amount.

Set the amount, the currencies you accept and your own receiving addresses. In the app, or by API from your shop or AI agent.
They scan one QR code with any wallet and send. The money goes straight to you. send21 never touches it.
send21 watches the chain and tells you by email and signed webhook when the payment arrives and confirms.
| Network | Currencies |
|---|---|
| Bitcoin on-chain | BTC |
| Lightning to a Lightning address | BTC |
| Solana | USDCUSDTEURCSOLWrapped BTC |
| Ethereum | USDCUSDTEURCETHWBTC |
| Base | USDCEURCETH |
| Arbitrum | USDC (native)ETH |
| Polygon | USDC (native) |
Use any of these on pay links and drafts, priced in any of 165 currencies. For Lightning, send21 gets the invoice from your Lightning address and confirms the payment automatically when your Lightning provider supports it (LUD-21). Details per network.
An agent creates pay links and payment drafts over the REST API or the MCP server. A person, or the operator's own wallet, signs every payment. No API key can move funds, because send21 holds none.
Grant only what the agent needs: drafts:write, drafts:read, webhooks:manage.
Point any MCP client at https://send21.io/mcp and get tools for drafts, pay links, rates and fees.
HMAC-SHA256 signed events such as draft.confirmed, so you never need to poll.
An Idempotency-Key makes retries safe. Create up to 25 drafts in one call.
POST /payment-requests returns a hosted pay page priced in fiat, payable in any supported currency.
Daily, weekly or monthly drafts created automatically. The payer still signs each one.
curl -X POST https://send21.io/api/v1/drafts \
-H "Authorization: Bearer s21_yourkey" \
-H "Idempotency-Key: invoice-2026-001" \
-H "Content-Type: application/json" \
-d '{
"receiverAddress": "bc1q...",
"network": "Mainnet",
"paymentMethod": "MultiOutput",
"fiatCurrency": "USD",
"fiatAmount": 50.00,
"memo": "Invoice 2026-001"
}'Send a scoped key as Authorization: Bearer s21_....
POST /api/v1/drafts with the receiver address and either an exact amountSats or a fiatCurrency and fiatAmount. The response shows the receiver amount, the send21 fee and the locked rate.
GET /api/v1/drafts/{id}/tx-template returns the exact outputs, a bitcoin-cli example and a pay-to-many CSV. Sign and broadcast with your own node, wallet or HSM. Private keys never touch send21.
send21 matches the payment on-chain and sends draft.confirmed to your webhook. For a quick check, GET /drafts/{id}/status returns the status, txid and confirmations.
For machines: /llms.txt, the OpenAPI spec at /swagger, and the MCP endpoint at https://send21.io/mcp (Streamable HTTP).
From 0.49% on small payments down to 0.01% above $100,000. No subscription, no setup fee, no exchange-rate spread. The fee is never taken from the payment, so the receiver always gets the full amount.
Always check the address and amount in your own wallet before you sign.
Price in your own currency and show one QR code. Your customer pays with the crypto they hold, straight to your wallet. The confirmation webhook carries your order id and the exact rate for your books.
No. send21 is software that prepares payment instructions. It has no private keys, no signing code and no way to broadcast. Every payment is signed in the payer's own wallet, and funds move directly from payer to receiver.
BTC on-chain and over Lightning, USDC, USDT, EURC, SOL and ETH, across Bitcoin, Solana, Ethereum, Base, Arbitrum and Polygon. Prices can be set in any of 165 world currencies, and the exchange rate locks when the payer picks a currency.
Any wallet that scans a QR code. Pay links and new drafts are a single payment using the standard formats (BIP-21, Solana Pay, EIP-681, Lightning invoices). Batched drafts are an option for PSBT wallets such as Bitcoin Core, Sparrow and Electrum, and for batching wallets such as Safe.
Your backend creates a payment request with one API call: the price in your currency, your receiving addresses and your order id. The pay page and API responses are machine-readable, so an agent can pick a currency and pay from its operator's wallet. Your shop reconciles through a signed webhook that carries the order id and the exact rate.
One fee per payment, tiered by size: 0.49% on small payments down to 0.01% above $100,000, with a $0.01 minimum and a $100 maximum. There is no subscription, and the receiver always gets the exact billed amount.
Free account, no subscription. You only pay a small fee when you get paid.