Skip to main content
When you create an account, Venly provisions the crypto wallets that hold its funds. You don’t manage keys or contracts directly — you read balances and move funds through the API.

The two-wallet model

Each account has two wallets, both bound to the account’s chain: For self-custody accounts the only permit you handle is the account wallet’s — see Approving transfers without gas. On Venly-managed accounts both wallets are handled for you.

Custody type

A wallet’s type 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: 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. For Venly-managed wallets (which have no permits), amlStatus: APPROVED is the activation signal. 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.