POST /wallet/create
Create a wallet and receive its identifier and address.
Request
Field | Type | Required | Notes |
---|---|---|---|
api_key | string | ✓ | Customer API key. |
wallet_name | string | ✓ | Wallet label reused when fetching or deleting by name. |
network | string | ✓ | Supported values: btc , eth , tron (case-insensitive). |
testnet | boolean | ✕ | Defaults to false . Set to true for Sepolia, Nile, or Bitcoin testnet wallets. |
metadata | object | ✕ | Optional JSON object stored alongside the wallet. Keys must be strings and the payload must be JSON serializable. |
Response
Field | Description |
---|---|
id | Wallet identifier (w_<uuid> ). |
address | Blockchain address for deposits. |
included_in_plan | true if the wallet is counted against the plan quota. |
created_at | Unix timestamp when the wallet was provisioned. |
metadata | Custom JSON blob you supplied on creation (null when omitted). |
Errors
Status | Payload | When it happens |
---|---|---|
400 | { "error": "Missing required fields" } | Missing wallet_name , network , or malformed JSON. |
403 | { "error": "API key is not valid" } | API key fails validation. |
403 | { "error": "Standard plan allows max 5 wallets" } | standard plan exceeded. |
400 | { "error": "Unsupported network: <value>" } | Unsupported network string. |
500 | { "error": "<message>" } | Unexpected service error. |
cURL example
SDK equivalents
- JavaScript:
client.createWallet({ name, network, testnet, metadata? })
- Python:
client.create_wallet(name=name, network=network, testnet=testnet, metadata=None)