Skip to main content

Create a crypto wallet

Create a crypto wallet for a customer:
curl -X POST https://api.ledger.so/v1/crypto-wallets \
  -H "Authorization: Bearer $LEDGER_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: create-wallet-1" \
  -d '{
    "customerId": "cus_..."
  }'
Response:
{
  "ok": true,
  "data": {
    "id": "wal_...",
    "customerId": "cus_...",
    "status": "active",
    "createdAt": 1710000000000,
    "updatedAt": 1710000000000
  }
}
Ledger provisions an onchain address and creates deposit addresses across multiple chains automatically.
Crypto wallets are separate from virtual accounts. Virtual accounts provide fiat deposit instructions (bank details), while crypto wallets hold onchain stablecoin balances.

Check wallet balance

curl https://api.ledger.so/v1/crypto-wallets/wal_.../balance \
  -H "Authorization: Bearer $LEDGER_API_KEY"
{
  "ok": true,
  "data": {
    "walletId": "wal_...",
    "balance": "4.40"
  }
}

Get crypto deposit addresses

Each wallet has dedicated deposit addresses across multiple chains. Send USDC or USDT to any of these addresses and funds are automatically routed to the wallet balance.
curl https://api.ledger.so/v1/crypto-wallets/wal_.../crypto-deposit-addresses \
  -H "Authorization: Bearer $LEDGER_API_KEY"
Supported chains: Solana, Ethereum, Arbitrum, Base, Optimism, Polygon, Avalanche, Tron.

What you can do with crypto wallets

  • Receive deposits via crypto deposit addresses
  • Check balance via the balance endpoint
  • Send transfers to external addresses or payout accounts via POST /v1/transfers
  • Hold stablecoin balances (USDC, USDT, PYUSD, EURC)