Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.ledger.so/llms.txt

Use this file to discover all available pages before exploring further.

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)