Skip to main content
POST
/
api
/
v1
/
accounts
Create account
curl --request POST \
  --url https://api.paratro.com/api/v1/accounts \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "wallet_id": "<string>",
  "chain": "<string>",
  "label": "<string>"
}
'
{
  "account_id": "acc_m1n2o3p4q5",
  "wallet_id": "wal_a1b2c3d4e5f6",
  "client_id": "cli_x1y2z3",
  "address": "0x1234567890abcdef1234567890abcdef12345678",
  "network": "mainnet",
  "address_type": "INBOUND",
  "status": "ACTIVE",
  "created_at": "2026-01-15T10:35:00Z",
  "label": "Main ETH Account"
}

Create Account

Create a new blockchain account under a wallet. This generates a new address on the specified chain.
wallet_id
string
required
Parent wallet ID (max 36 characters).
chain
string
required
Enabled chain name from the gateway chain registry, for example ethereum, base, tron, bitcoin, or solana.
account_type
string
Optional account type. The gateway currently supports INBOUND and defaults to it when omitted.
label
string
Optional account label (max 100 characters).
EVM-compatible chains (ethereum, bsc, polygon, avalanche, arbitrum, optimism) share the same key derivation and produce the same address. The system handles this internally.
The gateway derives network from its chain registry. Account responses currently include network, but do not echo the requested chain.

Response

{
  "account_id": "acc_01HXYZ...",
  "wallet_id": "w_01HXYZ...",
  "client_id": "c_01HXYZ...",
  "address": "0x1a2b3c4d5e6f...",
  "network": "mainnet",
  "address_type": "INBOUND",
  "label": "Deposit Account",
  "status": "ACTIVE",
  "created_at": "2025-01-15T10:30:45+08:00"
}

Errors

HTTPCodeCondition
400invalid_parameterInvalid parameters or unsupported chain
404not_foundWallet not found
400wallet_not_activeWallet is not active

Authorizations

Authorization
string
header
required

JWT access token obtained from the /api/v1/auth/token endpoint.

Body

application/json
wallet_id
string
required

The wallet ID to create the account under.

Maximum string length: 36
chain
string
required

Enabled chain name from the gateway chain registry.

account_type
enum<string>

Optional account type. Defaults to DEPOSIT.

Available options:
INBOUND
label
string

Optional human-readable label for the account.

Maximum string length: 100

Response

Account created successfully.

account_id
string
required

Unique identifier for the account.

Example:

"acc_m1n2o3p4q5"

wallet_id
string
required

The wallet ID this account belongs to.

Example:

"wal_a1b2c3d4e5f6"

client_id
string
required

The client ID that owns this account.

Example:

"cli_x1y2z3"

address
string
required

The blockchain address for this account.

Example:

"0x1234567890abcdef1234567890abcdef12345678"

network
string
required

Network value derived by the gateway from its chain registry.

Example:

"mainnet"

address_type
enum<string>
required

The type of address.

Available options:
INBOUND
Example:

"INBOUND"

status
enum<string>
required

Current status of the account.

Available options:
ACTIVE
Example:

"ACTIVE"

created_at
string<date-time>
required

Timestamp when the account was created.

Example:

"2026-01-15T10:35:00Z"

label
string | null

Optional human-readable label.

Example:

"Main ETH Account"