Direct settlement
Funds move from the customer wallet straight to your verified payout wallet. Nothing pools in between.
Customers pay in CHR and the funds settle straight to your wallet. No pooled custody between you and your customer, and no keys held on your behalf.
Built for merchants
Funds move from the customer wallet straight to your verified payout wallet. Nothing pools in between.
Take CHR on the Chromia economy chain or as BEP-20 on BNB Smart Chain. USDC settlement is available on BNB Smart Chain.
Send customers to a hosted payment page or embed checkout in your storefront, with payment creation server-side.
Signed webhooks tell your server when a payment is confirmed, so fulfilment never depends on a browser return.
Developer integration
Create the payment on your server and redirect to the checkout URL it returns. When the signed webhook arrives, verify it and fulfil the order. Amounts are decimal strings, and the idempotency key makes creation safe to retry.
POST /v1/payments
Authorization: Bearer cpay_sk_test_...
Idempotency-Key: order-1041
{
"amount": "1250.00",
"currency": "chr",
"settlement_asset": "chr",
"description": "Order #1041",
"success_url": "https://shop.example.com/thanks",
"metadata": { "order_id": "1041" }
}{
"id": "evt_...",
"type": "payment.confirmed",
"data": {
"payment": {
"id": "pay_...",
"status": "confirmed",
"amount_expected": "1250.00",
"amount_paid": "1250.00",
"metadata": { "order_id": "1041" }
}
}
}How it works
Verify a payout wallet, then create your API key and webhook endpoint in the Merchant Portal.
Create the payment server-side and send the customer to the returned checkout URL.
Verify the signed webhook and fulfil confirmed or overpaid orders idempotently.
Product destinations
Configure your store, payout wallets, API keys, and webhook endpoints.
Open Merchant Portal→Preview the customer-facing payment experience used by hosted and embedded flows.
View checkout→API reference, webhook verification, status semantics, and test-mode keys.
Read documentation→