Bitcoin payment API
A non-custodial Bitcoin payment API for developers.
Create an on-chain Bitcoin payment, expose only the returned payment instructions to checkout, and drive order state from verifiable events.
Payments go directly to your wallet. Manatee handles monitoring and signed webhooks; your application controls checkout and refunds. Review the free beta access and usage limits before integrating.
POST /v1/btc/paymentsapplication/json
Requestcurl
curl -X POST /v1/btc/payments \
-H "Authorization: Bearer $MANATEE_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-10042" \
-d '{
"fiat_amount": "51.00",
"fiat_currency": "EUR",
"reference": "order-10042",
"required_confirmations": 1
}'Response200 OK
{
"id": "pay_abc123",
"status": "pending",
"amount_sats": 85000,
"address": "tb1q...",
"expires_at": "2026-07-20T18:30:00Z"
}State model
Four states. One fulfilment decision.
Use payment state as an explicit contract instead of inferring success from a browser redirect.- pending
Instructions issued
Show the exact address, satoshi amount, and expiry returned by the API.
- detected
Transaction seen
A matching transaction is visible, but has not reached your confirmation policy.
- confirmed
Ready to fulfil
The required confirmation threshold is met and a signed event is delivered.
- expired / cancelled
Capacity released
Closed payment attempts stop consuming webhook-enabled payment capacity.
Integration contract
The production details are part of the interface.
Authentication, retries, event verification, and reconciliation are documented behavior, not assumptions hidden behind an SDK.Start without moving real Bitcoin
Run the full integration on Testnet4 first.
Environment-scoped Test API keySigned webhook verificationDashboard usage visibility