Customers
A Customer represents a person or business using your platform. Every resource in Ledger — crypto wallets, virtual accounts, counterparties — belongs to a Customer. Customers are active immediately on creation. To unlock capabilities like crypto wallets and transfers, customers need to pass identity verification (KYC/KYB). Ledger handles this for you.
Verification links:
kycLink: hosted identity verification URLtosLink: hosted terms acceptance URL
Crypto Wallets
A Crypto Wallet is a custodial onchain wallet Ledger manages on behalf of a customer. Crypto wallets hold stablecoin balances and are the foundation for most money movement. What you can do with a crypto wallet:- Receive deposits via crypto deposit addresses
- Send onchain or fiat transfers
- Check balance via the balance endpoint
- Hold stablecoin balances (USDC, USDT, PYUSD, EURC)
Virtual Accounts
A Virtual Account provides fiat deposit instructions (routing/account numbers, IBAN, CLABE, etc.) that route incoming fiat into a linked wallet as stablecoins.Counterparties
A Counterparty is a customer-owned external account that can receive funds — bank accounts, mobile money wallets, or international wire destinations. Supported types:us_bank, iban, clabe, pix, gb_bank, mobile_money, ghipss, nip, swift
Bank-backed types (us_bank, iban, clabe, pix, gb_bank) require customer KYC approval. Direct types (mobile_money, ghipss, nip, swift) can be created without KYC.
Transactions
A Transaction records any value movement in Ledger. Every deposit and transfer creates a transaction.
Transaction fields vary by type:
Crypto transfers include:
destinationAddress, destinationTxHash, gasFee, finalAmount, exchangeFee
Fiat transfers include: payoutAccountId, finalAmount, exchangeFee
Transactions are read-only — they are created automatically when money moves through the system.
Transfers
A Transfer is a directed movement of value that you initiate viaPOST /v1/transfers. It creates a transaction automatically.
The source is always the customer’s crypto wallet. You specify the destination:
- Crypto address on any supported chain (onchain transfer)
- Payout account (
pa_...) via a fiat rail like ACH, SEPA, or Faster Payments (requires customer KYC)
Webhooks
Webhooks let you receive real-time notifications when events happen in Ledger. Register a URL and Ledger pushes events to you. Event types:customer.created,customer.updatedwallet.created,wallet.updatedvirtual_account.created,virtual_account.updatedtransaction.created,transaction.updated,transaction.completedcounterparty.createdwebhook.test