DocsREST APIWallet
REST API

Wallet

Read balances, list deposit addresses across all 12 supported networks, and pull a unified activity feed. All read endpoints require an API key with the read scope.

v1read endpoints live

Authentication

Pass your API key as a Bearer token. The key must include theread scope — generate one from /settings/security.

bash
1curl https://nextbridge.exchange/api/v1/wallet/balances \
2 -H "Authorization: Bearer nbx_user_…"

Read-bucket rate limits: 120 req/min, 5,000 req/day per key. See Rate limits.

Balances GET /api/v1/wallet/balances

Returns spot balances for every supported asset. Empty assets are included with amount: "0" so you can render a complete table without a second lookup. Amounts are strings — pass through your decimal library, don't parse to JS Number.

json
1{
2 "balances": [
3 { "asset": "USDT", "amount": "1234.567890" },
4 { "asset": "BTC", "amount": "0.00123456" },
5 { "asset": "ETH", "amount": "0" }
6 ],
7 "ts": "2026-05-22T12:00:00.000Z"
8}

Deposit addresses GET /api/v1/wallet/addresses

Returns one deposit address per supported network. Addresses are derived deterministically per account and persisted on first request — subsequent calls return the same address for the same (user, network).

Networks: BTC, BEP20, TRC20, SOL, ETH, ARBITRUM, OPTIMISM, BASE, AVAX, POLYGON, LTC, DOGE.

primaryAsset is the most common token deposited on each rail. Other tokens with the same address format also work (e.g. USDC on BEP20 lands on the same address as USDT).

json
1{
2 "addresses": [
3 { "network": "BTC", "address": "bc1q…", "primaryAsset": "BTC" },
4 { "network": "TRC20", "address": "T…", "primaryAsset": "USDT" },
5 { "network": "SOL", "address": "…", "primaryAsset": "SOL" }
6 ]
7}

Transactions GET /api/v1/wallet/transactions

Combined activity feed across trades, deposits, withdrawals, P2P, and Quick Trade orders. Sorted newest-first. Cursor-paginated.

Query parameters:

  • limit — 1 to 200. Default 50.
  • cursor — opaque token from a prior response's nextCursor.
bash
1curl "https://nextbridge.exchange/api/v1/wallet/transactions?limit=50" \
2 -H "Authorization: Bearer nbx_user_…"
json
1{
2 "transactions": [
3 {
4 "id": "ckl4…",
5 "ts": "2026-05-22T11:42:00.000Z",
6 "category": "TRADE",
7 "type": "SPOT_BUY",
8 "asset": "BTC",
9 "amount": "0.00123",
10 "usdValue": "82.34",
11 "status": "COMPLETED"
12 }
13 ],
14 "nextCursor": "ckl4…"
15}

Possible category values: TRADE,DEPOSIT, WITHDRAWAL,P2P, QUICK_TRADE.

Withdrawals POST /api/v1/wallet/withdrawals

Requires an API key with the withdraw scope. When 2FA is enabled on the account, you must include a validtotpCode. If the platform allowlist mode isstrict, the destination must already be approved on /settings/security.

Body fields:

  • asset — USDT, USDC, BTC, ETH, AVAX, MATIC, BNB, LTC, DOGE
  • network — must support the chosen asset (e.g. TRC20 for USDT)
  • amount — decimal string
  • address — destination on-chain address
  • totpCode — 6-digit code, required if 2FA is on
bash
1curl -X POST https://nextbridge.exchange/api/v1/wallet/withdrawals \
2 -H "Authorization: Bearer nbx_user_…" \
3 -H "Content-Type: application/json" \
4 -H "Idempotency-Key: $(uuidgen)" \
5 -d '{
6 "asset": "USDT",
7 "network": "TRC20",
8 "amount": "100",
9 "address": "T…",
10 "totpCode": "123456"
11 }'
json
1{
2 "withdrawal": {
3 "id": "ckl…",
4 "status": "COMPLETED",
5 "txHash": "0x…",
6 "fee": "1.0",
7 "amount": "100",
8 "asset": "USDT",
9 "network": "TRC20"
10 }
11}

Withdraw-bucket rate limits and the same Idempotency-Key contract as orders. Daily limit defaults to $5,000 USDT-equivalent — admins can adjust per-account in the platform settings.