Skip to main content
POST
Create Wallet

Overview

Create a new digital wallet for storing and managing user funds. Each wallet is tied to a specific user and currency, supporting both fiat currencies (USD, EUR, GBP) and cryptocurrencies (BTC, ETH, SOL, USDC). Use Cases:
  • Onboarding new users with their first wallet
  • Creating multi-currency wallets for international users
  • Setting up merchant settlement wallets
  • Establishing escrow or custody wallets

Authentication

Request Body

userId
string
required
The unique identifier of the user who will own this wallet. Must be a valid user ID from your system.Example: "user_1a2b3c4d5e"
currency
string
required
The currency code for this wallet. Supports ISO 4217 codes for fiat currencies and standard crypto ticker symbols.Supported Fiat: USD, EUR, GBP, CAD, AUD, JPY, CHF, CNY, INR, BRL, MXNSupported Crypto: BTC, ETH, SOL, USDC, USDT, MATIC, AVAX, NEARExample: "USD" or "USDC"
label
string
A human-readable label for the wallet to help users identify it. Maximum 50 characters.Examples:
  • "Primary Wallet"
  • "Savings Account"
  • "Business Operations"
initialBalance
number
Optional initial balance to credit to the wallet in the smallest currency unit (cents for USD, wei for ETH, etc.). Only available for sandbox environments or with special permissions.Example: 10000 (represents $100.00 for USD)

Request Examples

Response

id
string
Unique identifier for the wallet
userId
string
The user who owns this wallet
currency
string
The wallet’s currency code
balance
object
Current balance information
status
string
Current wallet status: pending_verification, active, suspended, frozen, or closed
label
string
Human-readable wallet label
limits
object
Transaction limits for this wallet
createdAt
string
ISO 8601 timestamp of wallet creation
updatedAt
string
ISO 8601 timestamp of last update

Response Examples

Code Examples

Error Handling

Best Practices

1. One Wallet Per Currency Per User

Users should have only one wallet per currency. Always check for existing wallets before creating new ones:

2. Use Descriptive Labels

Help users identify their wallets with clear labels:

3. Handle Errors Gracefully

Always implement proper error handling:

4. Implement Idempotency

Use idempotency keys for safe retries:

Webhooks

When a wallet is created, the following webhook event is triggered:
Learn more about webhooks →

Rate Limits

  • 100 requests per minute per API key
  • 1000 wallet creations per day per merchant

Support

Need help? Contact us: