Show HN: Send21 – Crypto pay links an AI agent can create but can't spend Send21 launched a testnet demo of a crypto payment-link service in which an AI agent holds a scoped API key that can create and track payment drafts but cannot spend, since a human must sign each draft in their own wallet. The service, which never holds keys, signs or broadcasts, exposes the same draft-only flow over a REST API and an MCP server at send21.io/mcp, and notifies backends via a signed draft.confirmed webhook when a payment confirms on-chain. Send21 said account drafts run on live networks, and that a draft moves no money until someone signs it, so small live drafts to one's own address are a safe integration test. Testnet demo. You sign with your own wallet, on test networks only. The coins are free test coins from public faucets and have no value. Try send21 with a real test payment See the whole flow in a few minutes, with no account and no email. send21 creates a payment draft, you pay it from your own wallet, and the page shows the confirmation from a public test network. How it works 1. send21 creates a payment draft , with the same draft-only access an AI agent gets. Nothing here can spend. 2. You check and sign in your own wallet . send21 never holds keys, never signs and never broadcasts. 3. send21 watches the chain until the payment confirms. In a real integration your backend gets a signed draft.confirmed webhook at that moment. Need test coins? Faucets For AI agents: the same flow over API or MCP An agent gets a scoped API key that can create and track drafts but never spend . A person always signs in their own wallet. Test networks on send21.io are for this demo only, and account drafts use the live networks. That is still safe while you integrate: a draft moves no money until someone signs it, so create small drafts to your own address and cancel them. an AI agent or your backend creates the draft with a scoped key. draft-only scopes: the key can create and track drafts but can never spend a draft moves no money until a human signs it, so a small live draft is a safe test curl -X POST https://send21.io/api/v1/drafts \ -H "Authorization: Bearer s21 YOUR KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: agent-demo-001" \ -d '{ "receiverAddress": "0x...your-own-address", "network": "Base", "currency": "Usdc", "paymentMethod": "MultiOutput", "singleOutput": true, "amountSats": 1000000, "memo": "agent integration test, 1 USDC" }' // MCP Streamable HTTP , same key, same draft-only scopes { "mcpServers": { "send21": { "url": "https://send21.io/mcp", "headers": { "Authorization": "Bearer s21 YOUR KEY" } } } } // then call the create draft tool with { "network": "Base", "currency": "Usdc", ... } Full API: /swagger https://send21.io/swagger/index.html | agent overview: /llms.txt https://send21.io/llms.txt | status via GET /drafts/{id}/status or signed webhooks draft.confirmed . Ready for real payments? Create a free account and send your first pay link. No subscription, only a small fee per payment.