Developer overview
Quickstart, keys, webhook verification and test mode in one place.
Solutions · Platforms and developers
Create a hosted checkout from your server with one request, hear the result through signed webhooks, and build against testnets before a single live payment. The money settles to an account your business owns.
Plain REST over HTTPSHMAC-signed webhooksTestnets included
Illustrative. A sample session; your customer is redirected to your callback URL when it ends.
How it works
The same code runs in both modes. The key you send decides which one a request belongs to, so going live is a change of keys, not a rewrite.
Get test keys from the dashboard and run whole payments on Base Sepolia and Celo Sepolia. Test payments settle to wallets only, so nothing real can move.
Each webhook carries an HMAC-SHA256 signature over its timestamp and raw body. Check it, then confirm the payment with your secret key before you ship anything.
Once your business is verified, swap in your live keys and set your live webhook URL. Choose where Checkout and API payments settle, and you are taking real payments.
Illustrative. Sample keys; real keys are shown once, when you create them.
What you get
A small, plain API. The checkout handles the coin, the network and the one-time address, so your code only deals with orders and outcomes.
One POST with a publishable key returns a payment URL. Send your customer there.
Each session gets its own deposit address, valid for 60 minutes, so every payment matches one order.
payment.received, payment.completed and payment.failed, retried up to 7 times over about 31 hours.
With your secret key, verify a payment by its id or your reference, and list your payments.
Test and live, publishable and secret. Each is shown once and stored only as a hash.
Limit your secret keys to up to three server addresses you name.
30 requests a minute on a publishable key and 100 on a secret key.
Checkout and API payments settle to the destination you choose: your bank, your treasury or your own wallet.
Test and live
Your staging servers can call with test keys while production calls with live ones. Switch the view to see what changes, and what stays exactly the same.
Requests are routed by the key you send. Nothing to toggle.
Illustrative. Sample keys, addresses and URLs; real keys are shown once, when you create them.
Works with
The checkout is the integration. The rest of ChainPal decides where the money goes once it arrives. The full reference lives in the API docs.
Quickstart, keys, webhook verification and test mode in one place.
The hosted pay page your customers see, from details to receipt.
Route Checkout and API payments to a reviewed destination you own.
No code at all: a shareable pay page for anything you sell.
Questions
Stuck on something? Write to developer support with your payment reference, never a secret key.
Not today. The API is plain REST over HTTPS, small enough to call with any HTTP client, and the full reference is in the API docs.
Three events: payment.received, payment.completed and payment.failed. Each is signed with HMAC-SHA256 in X-ChainPal-Signature, with X-ChainPal-Timestamp alongside. If your endpoint does not answer, ChainPal retries up to 7 times over about 31 hours.
Send your own unique reference with every payment. The reference is the duplicate guard, so the same order cannot become two payments.
The deposit address is valid for 60 minutes. A payment moves through pending, processing and completed, or ends as expired or failed, and your customer returns to your callback or failure URL.
No. Customers pay in USDC and USDT, on Base, BNB Chain, Celo and Polygon depending on your market. You can settle to your bank in local currency in Nigeria, Ghana, Kenya and South Africa.
Yes. Test keys run on Base Sepolia and Celo Sepolia, have their own webhook URL, and test payments settle to wallets only. A test payment is and stays a test payment.
Open for business
Open an account, choose where each product settles and take your first payment in digital dollars. No setup fee, and no balance held on your behalf.