iCryptoNow

Create deposit address

POST/v1/addresses

Returns the deposit address for one player on one chain. Each player gets their own permanent address, so every incoming payment is matched to the right account.

Request body

FieldTypeDescription
chainstring · requiredChain id: tron, bsc, eth, arbitrum, base or polygon.
player_refstring · requiredYour id for the player. 1–128 characters from A–Z a–z 0–9 _ . : @ -.

Idempotent by design

The address is unique per (chain, player_ref). The first call returns 201 Created. Every later call with the same pair returns 200 OK with the same address, so it is safe to call this every time you show the deposit page.

Example

const { status, body } = await icn("POST", "/v1/addresses", {
  chain: "tron",
  player_ref: "player_1024",
});
201 Created
{
  "id": "6f1c2b9e-4a7d-4c1e-9a43-0f6f3b2d8e51",
  "chain": "tron",
  "address": "TQ9xG7c2...7kLm",
  "player_ref": "player_1024",
  "created_at": "2026-10-10T08:00:00.000Z"
}

EVM addresses (bsc, eth, arbitrum, base, polygon) are EIP-55 checksummed 0x… strings. TRON addresses are base58 T… strings. icn() is the signing helper from Authentication.

Errors

  • 404 chain_not_enabled: the chain is not enabled for your account.
  • 501 not_implemented: addresses are not available on this chain yet (Solana).
  • 503 chain_unavailable: the chain is temporarily unavailable. Retry later.

What happens next

When the player pays, you receive deposit.detected and deposit.confirmed webhooks that include this player_ref.

Chat with us