CChainPay
Sign in
Multi-chain deposit API · payouts coming soon

Settle crypto across five networks, without holding a wallet for each one.

One API issues deposit addresses across TRON, BNB Chain, Ethereum, Polygon and Arbitrum — HD-derived per client, confirmed on-chain, delivered by webhook. Payouts are coming soon.

Settlement registerexample
TRC20a41f…9c02 → TQn9Y…LK3j81,240.00 USDTconfirmed
BEP206b02…e714 → 0x9F1c…4Db20.842 BNB18/19 conf
ERC20f930…22a1 → 0x2Ae7…88Fc3,050.00 USDCconfirmed
webhook → POST callbackUrl19 / 19 conf
5
Networks supported
1%+flat
Deposit fee
0%
Token fee on payouts · coming soon
~1min
Typical confirmation
Why ChainPay

Public deposits — payouts coming soon

Deposits work without an account or key. Register optionally to attribute them to your cabinet and see full statistics.

No registration for deposits

POST /deposit-address with callbackUrl and forwardAddress — no API key, no account needed. Add your x-api-key and the address is tied to your cabinet with full stats.

Multi-chain, one ticker grammar

trc20/usdt, bep20/usdt, erc20/usdt — one request shape across TRON, BNB Chain, Ethereum, Polygon and Arbitrum.

Settled to your wallet

After confirmations clear, funds sweep to your forwarding address. You hold the destination; we never keep a merchant balance.

Webhooks you can trust

Pending and confirmed callbacks to your URL, with GET status/transactions as the reliable fallback if a delivery retries.

Transparent network cost

Percent plus a flat component priced off network cost. Min. value and est. fee listed per coin on the Networks page.

Cabinet when you want it

Optional cabinet + API key: attribute deposits to your account for complete statistics. Withdrawals are coming soon: 0% token fee, network gas from your own gas-station wallet.

How a deposit settles

Three calls, from address to swept balance

No pre-registration for deposits — every address is get-or-created per request, tracked by our own scanners, and confirmed against each chain's own threshold.

01

Create the address

Pass a chain, ticker and your callback URL. Get back a fresh HD-derived address, reused for every future deposit to the same reference.

POST /deposit-address
{ "chain":"tron", "ticker":"trc20/usdt" }
02

Scanner picks it up

A native block-walker on TRON and an event listener on BNB Chain match the incoming transfer and start counting confirmations.

GET /deposit-address/:id/status
→ "confirmations": 14
03

Confirmed & swept

Once the threshold clears, funds move to your forwarding address and your callback fires — retried with backoff if it doesn't answer.

POST callbackUrl
{ "status":"confirmed" }
Network coverage

5 chains live today, more shipping regularly

View all networks
Pricing

1% + network flat on deposits · payouts coming soon

View full pricing
Rates

Convert any amount — live market rates

Open converter
Getting started

One key for your server, one login for your team

  • →Register once, get an API key for attributing deposits (and for payout calls once payouts launch) and a login for the cabinet.
  • →See every wallet, payout request and balance scoped to your account — nothing anyone else created.
  • →Deposit-address creation stays public and key-free — the same call any of your own users can trigger.
  • →Rotate your API key yourself, any time, from the cabinet — no support ticket required.
# create a deposit address
curl -X POST \
 https://api.chainpay.site/deposit-address \
 -d '{
    "ticker": "bep20/usdt",
    "forwardAddress": "0xYourWallet…",
    "externalReference": "order-123",
    "callbackUrl": "https://you.io/hook"
 }'