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)