Quick overview
Freelancers, agencies and small businesses can invoice in EUR, USD or another currency and get paid in stablecoins or bitcoin straight to their own wallet. The workflow creates a send21 pay link, emails it to your client, and marks the invoice paid after a signed webhook.
How it works
- An n8n form or a JSON webhook takes the invoice: client, email, amount, currency.
- Creates a send21 pay link (USDC or USDT on Solana, USDC or EURC on Base, BTC over Lightning) to the receiving addresses you approved in send21. The invoice number is the order id and an idempotency key is sent, so a retry returns the same link.
- Emails the pay link to your client.
- When the client pays, send21 sends a signed webhook. The workflow checks the V2 signature over the raw body with n8n's Crypto node, rejects deliveries older than 5 minutes, ignores repeated delivery ids, and matches order, amount and currency.
- Marks the invoice paid and emails a receipt. A payment with a different amount is flagged to you, never accepted on its own. The client pays from their own wallet; send21 never holds keys or funds.
Setup
- Add a Bearer Auth credential with your send21 API key and an SMTP credential.
- Enter your own receiving addresses in the Settings node and approve them in the send21 app (unapproved addresses are refused with address_not_approved).
- Activate, run "Register webhook (run once)" and save the returned secret in a Crypto credential.
Requirements
- A send21 account (https://send21.io), an SMTP account, a public n8n URL. Works on n8n Cloud; no environment variables.
Customization
- Swap the email nodes for Gmail or Slack, or store invoices in a Data Table or Postgres for multi-worker setups.