The two-wallet model
Each account has two wallets, both bound to the account’s chain:| Wallet | Holds | Who grants the permit |
|---|---|---|
| Account wallet | the customer’s balance | Self-custody: the holder signs. Venly-managed: signed automatically. |
| Escrow wallet | funds in flight during settlement | Always Venly-managed — permitted automatically. |
Custody type
A wallet’stype is either VENLY_MANAGED (Venly holds the keys) or SELF_CUSTODY (your customer holds them). This is fixed by your company setup and changes how funds move — see Venly-managed vs self-custody.
Reading wallets
List wallets for an account returns each wallet with its address, per-asset balances, and AML status:Response
Balance fields
Each asset balance has three amounts, returned as decimal strings:| Field | Meaning |
|---|---|
total | Everything in the wallet. |
available | Free to spend on a new transfer or payment. |
reserved | Held against in-flight payment requests — not spendable until they settle or reverse. |
total = available + reserved. Creating a payment request moves its amount from available to reserved; on settlement it leaves the wallet entirely.
AML status
amlStatus reflects the wallet’s screening: PENDING, APPROVED, or REJECTED. A wallet must clear AML (and, for self-custody, have a confirmed permit) before it can move funds.
The wallet’s activation
status isn’t currently returned by list wallets — the response exposes amlStatus only. For self-custody, use the permit status as your activation signal: once the account wallet’s permit is CONFIRMED, the wallet is active. See Approving transfers without gas.Next steps
Approving transfers without gas
Activate a self-custody wallet with a gasless permit.
List wallets
The endpoint reference, with the full response schema.

