Public integration guide. API base URL: https://api.toknex.space. Confirm network settings and one-time fees in your merchant account.

FAQ & troubleshooting

Payments

Which network and token are supported?

Only USDT on BNB Smart Chain (BSC, BEP-20), contract 0x55d398326f99059fF775485246999027B3197955. Other networks (Ethereum ERC-20, TRON TRC-20, Polygon, …) and other tokens are not supported.

A customer sent USDT on the wrong network. Can it be recovered?

Usually not. The deposit address exists on BNB Smart Chain; funds sent on another chain cannot be credited automatically. Contact support with the transaction hash: in some cases (for example the same token on BSC but not USDT) the operator can recover it manually, but this is not guaranteed.

A customer sent BNB or another BEP-20 token instead of USDT.

It is not credited. The operator can recover wrong tokens or BNB from the deposit address; contact support with the transaction hash.

How long until a payment is confirmed?

BNB Smart Chain produces a block every few seconds. We credit after account-configured confirmations confirmations, usually under a minute. The customer's exchange may take longer to broadcast the withdrawal.

The customer paid from an exchange. Is that OK?

Yes. Any wallet or exchange that withdraws USDT on BEP-20 works. The from_address will be the exchange's hot wallet, which is normal. Exchanges often deduct a withdrawal fee, so the amount received may be slightly lower than the customer intended.

The customer sent less than the minimum.

Deposits below account-configured min deposit USDT are recorded with below_minimum: true and are not credited. Ask the customer to send at least the minimum next time.

The customer paid twice, or sent the wrong amount.

Each transfer is a separate deposit and is credited separately. Handle over- and underpayments in your own system (see "Order-based checkout" in the Integration guide).

I see REORGED.

Very rarely the blockchain replaces recent blocks (a "reorganisation"). We detect this, mark affected unconfirmed deposits as REORGED and check again. If the transaction is included in the new chain, the deposit returns to DETECTED and continues normally. Because we only credit after account-configured confirmations confirmations, credited deposits are not affected in practice.

collection_paused is true / the deposit page says collection is paused.

The operator has paused collection, for example during maintenance. Ask customers not to send funds until it resumes. Funds sent during a pause are still safe on their address and are processed after the pause.

Integration

Can I create a new address for every order?

Addresses are per customer. Give each customer one permanent address and match deposits to orders in your system. This avoids confusion when customers reuse an address and keeps your integration simple.

My webhook never arrives.

Check Webhooks → deliveries in your dashboard. Common causes: the URL is not public HTTPS, a firewall blocks us, the endpoint redirects (redirects are not followed), or it takes longer than 10 seconds to answer. Press Send test event after fixing it. Failed events are retried for about two days; you can also reconcile with GET /api/v1/deposits.

My signature check always fails.

Make sure you hash the raw body, not re-encoded JSON; use the current secret (rotating it changes it); and compute HMAC-SHA256(secret, t + "." + body) as lowercase hex. See Webhooks.

I get 403 "This client account is suspended" or "not active".

Your account is not active yet (fee not paid or not yet confirmed), or it was suspended. Check Get started in your dashboard, or contact support.

I get 403 "Request IP is not in the allow-list".

Add your server's outbound IP under Account → API IP allow-list, or clear the list.

I get 429.

You exceeded account-configured rate limit requests per minute for this key. Wait retry_after seconds, cache addresses instead of fetching them on every page view, and use webhooks instead of polling.

Account

I forgot my password.

Use Forgot password? on the sign-in page. The reset link is valid for 60 minutes.

My registration payment is confirmed but my account is not active.

Activation happens automatically a few seconds after the payment reaches account-configured confirmations confirmations. If the Get started page still shows an amount due, the confirmed total is below the fee; send the remainder. If you are sure you paid the full amount on BNB Smart Chain, contact support with the transaction hash.