USDT API (TRC20)
Activate, receive, and withdraw USDT on TRC20.
Authentication
Every request is authenticated with your secret key in the apiToken header. There is one base URL and one key: your account behaves as a sandbox until go-live is approved, on the same URL. Keep the key server-side only, and note that rotating it expires the previous one immediately.
Required Headers
apiToken
sp_sk_prod_XXXXXXXXXXXX
Content-Type
application/json
Overview
Activate once to get a permanent TRC20 address, watch deposits arrive through the usdt.received webhook, and withdraw in two calls: quote to lock the fee, then confirm with the quote reference. Only TRC20 is supported. Every route needs the matching scope on your API key (usdt:create, usdt:read, usdt:withdraw); a key without it gets 403 insufficient_scope.
Activate USDT wallet
Creates one permanent TRC20 address for your merchant account. Calling it again returns the same address. Requires scope usdt:create.
Use zonmpay.com specifically (without www the request is redirected and some HTTP clients drop the POST body — which causes a server error).
curl -X POST https://zonmpay.com/api/v1/usdt/activate \
-H "Authorization: Bearer SPP_live_YOUR_API_KEY"Get your USDT address
Returns your permanent TRC20 deposit address. Requires scope usdt:read.
Use zonmpay.com specifically (without www the request is redirected and some HTTP clients drop the POST body — which causes a server error).
curl https://zonmpay.com/api/v1/usdt/address \
-H "Authorization: Bearer SPP_live_YOUR_API_KEY"List USDT transfers
Paginated deposits and withdrawals plus your internal USDT balance. Requires scope usdt:read.
Use zonmpay.com specifically (without www the request is redirected and some HTTP clients drop the POST body — which causes a server error).
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| page | integer | No | Default 1. |
| limit | integer | No | Default 20, max 100. |
curl "https://zonmpay.com/api/v1/usdt/transfers?page=1&limit=20" \
-H "Authorization: Bearer SPP_live_YOUR_API_KEY"Quote a USDT withdrawal
Locks the fee and total for a TRC20 withdrawal. The quote expires, so confirm it promptly. Requires scope usdt:withdraw.
Use zonmpay.com specifically (without www the request is redirected and some HTTP clients drop the POST body — which causes a server error).
Request Body (JSON)
| Parameter | Type | Required | Description |
|---|---|---|---|
| address | string | Yes | Destination TRC20 address. |
| amount | decimal | Yes | USDT amount to send. |
curl -X POST https://zonmpay.com/api/v1/usdt/withdrawals/quote \
-H "Authorization: Bearer SPP_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"address":"TXk8...9fQ","amount":20}'Confirm a USDT withdrawal
Sends the withdrawal using a quote reference. Requires scope usdt:withdraw.
Use zonmpay.com specifically (without www the request is redirected and some HTTP clients drop the POST body — which causes a server error).
Request Body (JSON)
| Parameter | Type | Required | Description |
|---|---|---|---|
| quote_reference | string | Yes | Reference from the quote call. |
curl -X POST https://zonmpay.com/api/v1/usdt/withdrawals \
-H "Authorization: Bearer SPP_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"quote_reference":"usdtq_01H..."}'