Partner program
Crypto payments
for your platform.
Integrate once. Accept ETH, BNB, TRX, TON and USDT across four networks. Prices stay in USD and we handle wallets and settlement. All networks remain available in simulated test mode.
Supported currencies
| Currency | Network | Live status |
|---|---|---|
| ETH | Ethereum | GET /v1/currencies → live: true/false |
| USDT | Ethereum (ERC20) | GET /v1/currencies → live: true/false |
| BNB | BNB Smart Chain | GET /v1/currencies → live: true/false |
| USDT | BNB Smart Chain (BEP20) | GET /v1/currencies → live: true/false |
| TRX | TRON | GET /v1/currencies → live: true/false |
| USDT | TRON (TRC20) | GET /v1/currencies → live: true/false |
| TON | TON | GET /v1/currencies → live: true/false |
| USDT | TON (jetton) | GET /v1/currencies → live: true/false |
Live availability comes from GET /v1/currencies. Ethereum, TRON and TON can add a buyer network fee in pay.networkFee; pay.amount includes it. The surcharge is excluded from merchant credit.
SMM panel scripts
Balance top-ups with a per-order callback. Each panel owner connects their own CoinAvio account with one API key.
Carts and storefronts
A WooCommerce plugin is ready to install. Other carts integrate with the same invoice and webhook API.
Billing systems and custom apps
Hosting, SaaS and subscription billing: create a USD invoice, redirect, and credit the account from a signed webhook.
How it works
Four steps from setup to a paid order.
- 1
The merchant opens a CoinAvio account
We review the account. Once it is approved, the merchant creates an API key and copies the webhook signing secret.
- 2
They paste two values into your platform
API key and webhook secret. Optionally call GET /v1/account to confirm the key and show the store name and test or live mode.
- 3
Your platform creates an invoice
A USD amount, your order ID and a per-order callback URL. Redirect the buyer to the hosted checkout URL.
- 4
A signed webhook credits the order
Verify the HMAC signature, de-duplicate on the event ID and credit the order on invoice.paid or invoice.overpaid.
Built for platforms
The fields platforms ask for.
One header, no request signing
Authorization: Bearer <apiKey>. The key prefix tells you whether it is a test or live key.
Per-order callback URL
callbackUrl sends each invoice's webhooks to the endpoint you choose. You don't need one global webhook per merchant.
Buyer pays the fee
buyerPaysFee adds the processing fee on top, so the merchant receives the full amount they asked for.
Idempotent order IDs
Sending the same orderId again returns the same invoice. You can also look an invoice up by your own order ID.
Test keys and simulation
Test invoices can be marked paid from your server, and the real webhooks fire. No crypto moves.
Signed, retried webhooks
HMAC-SHA256 with a timestamp. Failed deliveries are retried, 8 attempts over about an hour.
curl -X POST "https://api.coinavio.com/v1/invoices" \
-H "Authorization: Bearer $MERCHANT_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"priceAmount": "25.00",
"orderId": "topup-1048",
"description": "Balance top-up",
"successUrl": "https://panel.example.com/addfunds?status=success",
"cancelUrl": "https://panel.example.com/addfunds",
"callbackUrl": "https://panel.example.com/callback/coinavio",
"buyerPaysFee": true
}'
# → { "id": "…", "status": "NEW", "checkoutUrl": "https://coinavio.com/pay/…",
# "price": { "amount": "25", "baseAmount": "25", "fee": "0", … } }Swipe within the code to read long lines.
Redirect the buyer to checkoutUrl. The buyer picks a coin and network, and the rate is fixed until the invoice deadline. Credit the order for price.baseAmount only after a verified webhook arrives.
Already support another gateway?
Most crypto gateway modules map one to one.
If your platform has a module for a typical crypto invoice gateway, CoinAvio usually fits the same shape. Only the field names and the signature scheme change.
Swipe within the table to see all mappings.
| Typical gateway field | CoinAvio |
|---|---|
| merchant id + API key + signed request | Authorization: Bearer <apiKey> |
| amount, currency = USD | priceAmount (always USD) |
| order_id | orderId (idempotent) |
| url_success / url_return | successUrl / cancelUrl |
| url_callback | callbackUrl |
| subtract / commission payer | buyerPaysFee |
| additional_data | metadata (JSON) |
| payment url | checkoutUrl |
| paid / paid_over / wrong_amount / cancel | PAID / OVERPAID / UNDERPAID / EXPIRED |
| payment info | GET /v1/invoices/by-order/{orderId} |
Resources
Everything your engineers need.
Platform guide
Settings fields, status mapping, multi-merchant safety and a complete PHP example.
Read the guidePartner API guide (PDF)
The full reference: flows, statuses, webhooks, fees and test mode. Also online as Markdown.
Download PDFOpenAPI 3.1 spec
Import into Postman or Swagger, or generate a client.
Download specDeveloper docs
Quickstart with cURL, Node.js and PHP, plus signature checks.
Read docsWooCommerce plugin
A working reference implementation in PHP.
Download zipIntegrating CoinAvio into your platform?
The platform guide covers everything your engineers need, and we answer questions during the integration. The launch offer is 0% for the first 6 months after approval; check the configured rate in your merchant dashboard.
or write to support@coinavio.com