Skip to main content
Four objects, and it matters which one you’re asking about. Verification lives on the party. The gate on money movement lives on the account. Permission to receive a pay-out lives on the role.

Company (tenant)

You. Created and configured by Venly, not through the API. Your company carries the settings that silently decide what the rest of the API will let you do:
Most “why does this work in the docs but not for me” moments trace back to this table. None of it is visible in the API responses, so if a call fails on configuration grounds, check with Venly rather than reworking your request.

Party

The legal identity behind an account — a natural person or a business. This is the only object that gets identity-verified. A party’s own status is separate and unrelated to verification: Parties are created independently of accounts and can be reused: one party can hold roles on several accounts. See Individual KYC and Business KYB.

Account

The money container. It holds wallets, virtual bank accounts, and pay-out routes. An account carries its own kycStatus, and this is the field every money-movement endpoint checks:
Don’t read the party’s kycStatus to decide whether you can transfer. Read the account’s. They’re related but they are different fields on different objects, and only one of them is the gate.
An account needs exactly one active account-holder party. If it resolves to zero or several, provisioning calls fail with account-holder-unresolved.

Party role

The link between a party and an account, and what that party is allowed to do there. Each role has a status of ACTIVE or INACTIVE.

The recipient gate

PAYOUT_RECIPIENT is the one role with teeth beyond bookkeeping. Before you can create a pay-out route for a bank account, its owning party needs an ACTIVE PAYOUT_RECIPIENT role on the paying account with cleared KYC/KYB. It’s re-checked on every pay-out request, not just at route creation — so setting the role to INACTIVE stops future pay-outs immediately.
A party can hold PAYOUT_RECIPIENT and ACCOUNT_HOLDER on the same account. That’s the self-payout case: a user withdrawing to their own bank account.
Manage roles with Add a party to an account and Remove a party.

Wallet

Where crypto actually sits, one per chain per account. Wallets aren’t identity-verified, but they are screened, and screening is its own gate: A wallet has no status field. For self-custody, readiness also requires a CONFIRMED permit. See Wallets & balances.

Quick reference

Next steps

Onboarding lifecycle

How these objects move from created to able-to-transact.

Data model

The full resource graph.