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/loginObtain an access tokenauth
POST/merchantsCreate a merchantmerchant
GET/merchants/{uuid}/walletsMerchant wallet balancesmerchant
POST/merchants/{uuid}/invoicesCreate a payment invoiceinvoice
GET/invoices/{uuid}Invoice stateinvoice
PATCH/invoices/{uuid}/currencySet the payment currency and networkinvoice
GET/invoices/{uuid}/transactionsTransactions for an invoiceinvoice
GET/invoices/{uuid}/amlAML report for an invoiceaml
POST/invoices/{uuid}/aml/approveApprove settlement after AMLaml
POST/invoices/{uuid}/refundRefund a payment to the senderrefund
POST/merchants/{uuid}/withdrawCreate a withdrawalpayout
PATCH/withdraw/{uuid}/confirmConfirm a withdrawalpayout
GET/directory/tokensAssets and networks directorydirectory
GET/directory/feesNetwork fees per pairdirectory
GET/public/invoices/{uuid}Invoice state for the frontendpublic
PATCH/public/invoices/{uuid}/currencyBuyer picks the networkpublic

Full documentation and OpenAPI specification

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 free

Invoice lifecycle

The statuses delivered in IPN notifications. You can treat an order as accepted at 21; 99 is the final settlement confirmation.

  1. 1Awaiting payment
  2. 2Partially paid
  3. 3Paid
  4. 13Awaiting AML decision
  5. 21Transfer in progress
  6. 39Refunded
  7. 98Cancelled
  8. 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.