CryptoPay API Reference

Back to Docs

Base URL: https://cryptopay.africa/api/v1

Create Invoice
POST /api/v1/invoices
{
  "reference": "INV-1001",
  "currency": "USD",
  "amount": 125.50,
  "chain": "tron",
  "asset": "USDT",
  "customer": {"name": "John Doe", "email": "john@example.com"}
}
Get Invoice
GET /api/v1/invoices/INV-1001
Create Payout
POST /api/v1/payouts
{
  "amount": 50,
  "asset": "USDT",
  "chain": "bsc",
  "destination": "0xRecipientAddress",
  "metadata": {
    "signed_raw_tx": "0x...signed_transaction_hex..."
  }
}
Payout pre-check notes
- CryptoPay validates destination address format before broadcast.
- CryptoPay checks treasury network-fee balances before broadcast.
- Common operational errors:
  * Invalid TRON destination address format
  * Insufficient ETH in treasury wallet for gas fees
  * Insufficient BNB in treasury wallet for gas fees
  * Insufficient TON in treasury wallet for payout amount + network fee reserve
Create Batch Payout
POST /api/v1/payouts/batch
{
  "items": [
    {"destination": "TXXXX1", "amount": 10, "asset": "USDT", "chain": "tron"},
    {"destination": "0xabc...123", "amount": 20, "asset": "USDT", "chain": "eth"},
    {"destination": "0xbsc...789", "amount": 25, "asset": "USDT", "chain": "bsc"},
    {"destination": "UQabc...xyz", "amount": 30, "asset": "USDT", "chain": "ton"}
  ]
}
Rail Matrix
Supported chain + asset combinations:
- tron + USDT
- eth  + USDT
- bsc  + USDT
- ton  + USDT
- ton  + TON   (native TON rail)
Webhook Test
POST /api/v1/webhooks/test
Required Auth Headers
X-API-KEY: cpk_xxxxx
X-API-TIMESTAMP: 2026-03-09T12:00:00Z
X-API-NONCE: 8c6eb6fd52f64b80
X-API-SIGNATURE: <hmac_sha256_signature>
Idempotency-Key: idem_47a4f8fbe71f

We may use cookies and similar tracking technologies to improve your experience. learn more

Allow