Developers
Developer documentation
A REST API with predictable responses, signed IPN notifications and a separate group of public endpoints you can call straight from your frontend.
API endpoints
| POST | /auth/login | Obtain an access token | auth |
| POST | /merchants | Create a merchant | merchant |
| GET | /merchants/{uuid}/wallets | Merchant wallet balances | merchant |
| POST | /merchants/{uuid}/invoices | Create a payment invoice | invoice |
| GET | /invoices/{uuid} | Invoice state | invoice |
| PATCH | /invoices/{uuid}/currency | Set the payment currency and network | invoice |
| GET | /invoices/{uuid}/transactions | Transactions for an invoice | invoice |
| GET | /invoices/{uuid}/aml | AML report for an invoice | aml |
| POST | /invoices/{uuid}/aml/approve | Approve settlement after AML | aml |
| POST | /invoices/{uuid}/refund | Refund a payment to the sender | refund |
| POST | /merchants/{uuid}/withdraw | Create a withdrawal | payout |
| PATCH | /withdraw/{uuid}/confirm | Confirm a withdrawal | payout |
| GET | /directory/tokens | Assets and networks directory | directory |
| GET | /directory/fees | Network fees per pair | directory |
| GET | /public/invoices/{uuid} | Invoice state for the frontend | public |
| PATCH | /public/invoices/{uuid}/currency | Buyer picks the network | public |
IPN notifications
A notification hits your webhook_url when the invoice status changes and whenever the received amount changes.
- The HMAC-SHA256 signature arrives in the Sig header — verify it before processing the body.
- Parameters are sorted by key, joined as key=value with &, and signed with your merchant secret.
- Up to three delivery attempts with increasing backoff; the request times out after three seconds and expects a 2xx.
- A notification can be re-sent manually: GET /webhook/{uuid}/resend.
Signing withdrawal requests
Every withdrawal request is signed separately: an X-Timestamp header with the timestamp in milliseconds, and X-Merchant-Signature with an HMAC-SHA256 of the sorted parameters amount, network, timestamp, to_address and token. A timestamp more than ±30 seconds out is rejected.
Start for freeInvoice lifecycle
The statuses delivered in IPN notifications. You can treat an order as accepted at 21; 99 is the final settlement confirmation.
- 1Awaiting payment
- 2Partially paid
- 3Paid
- 13Awaiting AML decision
- 21Transfer in progress
- 39Refunded
- 98Cancelled
- 99Successful
Start accepting crypto today
We will help with the integration, match the terms to your volume, and advise which assets and networks are worth enabling at checkout.