
Your account is ready. Here's your API key — save it now.
✅ Your account is ready.
Your secret API key is in the Account tab. You have 5 free payments to get started.
✅ Your account is ready.
Your secret API key is in the Account tab. You have 5 free payments to get started.
This helps us show the right integration guide.
Direct backend API access (POST /payments, webhooks, idempotency keys) is included in Website Checkout Pro. Your current plan is Starter.
Create a Bitcoin payment in one API call.
Payments settle directly to your AQUA wallet — no custody, no withdrawal delays.
curl https://api.avopay.dev/api/v1/payments \
-H "Authorization: Bearer ak_live_..." \
-H "Content-Type: application/json" \
-d '{
"amount": 25.00,
"currency": "EUR",
"metadata": {"order_id": "ORD-1234"}
}'
{
"payment_id": "pmt_abc123",
"status": "pending",
"amount_fiat": 25.00,
"currency": "EUR",
"amount_sats": 12500,
"methods": ["lightning", "liquid"],
"lightning_invoice": "lnbc125u1p...",
"liquid_address": "VJL4iV2MML...",
"checkout_url": "https://avopay.dev/pay/pmt_abc123",
"expires_at": "2026-06-19T12:10:00Z"
}
methods lists active payment rails — lightning, liquid, and optionally bitcoin when on-chain is enabled for your account. On-chain fields are omitted here for clarity.
// redirect to the hosted checkout page res.redirect(payment.checkout_url); // or render your own UI directly // payment.lightning_invoice — bare BOLT11 for QR // payment.liquid_address — bare Liquid address for QR
Add your receiving URL in the Account tab. AvoPay signs every delivery — verify with the X-AvoPay-Signature header:
X-AvoPay-Signature: sha256=8a7d3fc4e2b1...
payment.confirmed{
"event": "payment.confirmed",
"payment_id": "pmt_abc123",
"amount_fiat": 25.00,
"currency": "EUR",
"amount_sats": 12500,
"metadata": {"order_id": "ORD-1234"},
"settled_at": "2026-06-19T12:07:43Z"
}
const sig = req.headers['x-avopay-signature'];
const expect = 'sha256=' + crypto
.createHmac('sha256', WEBHOOK_SECRET)
.update(rawBody).digest('hex');
if (!crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(expect)))
return res.sendStatus(403);
payment.confirmed to your webhookChoose a plan. First 5 payments are always free — no payment info required.
Lightning and Liquid are always active. Optionally accept on-chain Bitcoin payments via Boltz Chain Swaps (BTC→L-BTC atomic swap).
The Bitcoin Onchain tab only appears on the checkout page when the order amount meets Boltz's minimum of 25,000 sats. Orders below this threshold show Lightning and Liquid only.
Shown as "Sold By" on buyer receipts across all payment channels (Commerce, WooCommerce, Shopify). Also used on AvoPay subscription invoices. Leave blank to show your account email only.
Permanently delete your account, license, and all associated data. This cannot be undone.