POST /wallet/create Create a wallet and receive its identifier and address.

Request

{
  "api_key": "sk_live_...",
  "wallet_name": "first_wallet",
  "network": "eth",
  "testnet": false,
  "metadata": {
    "customer_id": "cust_123",
    "environment": "staging"
  }
}
FieldTypeRequiredNotes
api_keystringCustomer API key.
wallet_namestringWallet label reused when fetching or deleting by name.
networkstringSupported values: btc, eth, tron (case-insensitive).
testnetbooleanDefaults to false. Set to true for Sepolia, Nile, or Bitcoin testnet wallets.
metadataobjectOptional JSON object stored alongside the wallet. Keys must be strings and the payload must be JSON serializable.

Response

{
  "id": "w_c8b07c7d-9c7d-4a33-9200-0bdfa82dc497",
  "wallet_name": "first_wallet",
  "address": "0xf3e1...",
  "created_at": 1711370574,
  "network": "eth",
  "testnet": false,
  "included_in_plan": true,
  "metadata": {
    "customer_id": "cust_123",
    "environment": "staging"
  }
}
FieldDescription
idWallet identifier (w_<uuid>).
addressBlockchain address for deposits.
included_in_plantrue if the wallet is counted against the plan quota.
created_atUnix timestamp when the wallet was provisioned.
metadataCustom JSON blob you supplied on creation (null when omitted).

Errors

StatusPayloadWhen 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

curl https://api.1151.to/wallet/create \
  -X POST \
  -H 'Content-Type: application/json' \
  -d '{
    "api_key": "sk_live_...",
    "wallet_name": "first_wallet",
    "network": "eth",
    "testnet": true,
    "metadata": {
      "customer_id": "cust_123"
    }
  }'

SDK equivalents

  • JavaScript: client.createWallet({ name, network, testnet, metadata? })
  • Python: client.create_wallet(name=name, network=network, testnet=testnet, metadata=None)
Both SDKs return helper instances that expose the same fields as the REST response, allowing you to reuse the ID immediately for follow-up calls.