Identity
Party
The legal identity behind every account. Two types:INDIVIDUAL— a natural person (requiresfirstName,lastName)ORGANISATION— a company or business (requiresname, optionallyvatNumber)
Party Role
The relationship between a party and an account:ACCOUNT_HOLDER— the party owns or co-owns the accountPAYOUT_RECIPIENT— the party is an allowed pay-out destination for the account
KYC / KYB
Know Your Customer (individuals) and Know Your Business (organisations), tracked on two separate fields:kycStatus(individuals & accounts) —VERIFICATION_PENDING → VERIFIED(orREJECTED)kybStatus(organisations) —PENDING → VERIFIED(orDENIED)
VERIFIED. See Individual KYC and Business KYB.
Sumsub share token
A single-use, short-lived token from your own Sumsub account that forwards an existing verification to Venly, instead of putting the user through a second flow. Passed asparty.sumsubToken when creating an account; individuals on self-custody tenants only. See Sumsub token sharing.
IV case reference
ivCaseReference — a durable identifier for a party’s verification case, readable via Get verification linkage. Once set it is never cleared, so quote it to Venly support when investigating a stuck verification.
Account structure
Account
The container that holds wallets, virtual bank accounts, and transfer history for a party (or set of parties). Pinned to a single blockchain network at creation. Statuses:ACTIVE, SUSPENDED, CLOSED.
External ID
A merchant-supplied unique identifier for an account or party (externalId field). Use it as a shortcut in transfer requests (receiverExternalId) instead of looking up the Venly UUID.
Account wallet
The wallet that holds an account’s balance, bound to one chain. Itstype is either VENLY_MANAGED (Venly holds the keys; funds move via API calls) or SELF_CUSTODY (your customer holds the keys and signs a one-time permit so Venly can move funds). See Wallets & balances.
Escrow wallet
A second, always Venly-managed wallet on the account that holds funds in flight during settlement. You never sign for it.Orchestration wallet
The Venly-controlled wallet that pulls funds from a self-custody account wallet via ERC-20transferFrom. It is the spender a self-custody permit authorises, and it’s returned as orchestrationWallet on the allowances response.
Virtual Bank Account (VBA)
A bank account reference (IBAN + BIC for EUR_SEPA) attached to a Venly account. Used to receive fiat funding that’s auto-converted to crypto and credited to the wallet. See Create a virtual bank account.IBAN / BIC
International Bank Account Number and Bank Identifier Code — the standard EUR_SEPA addressing format returned on a virtual bank account.Reference Code
A unique string returned with each VBA. The end user must include this in their SEPA payment message — it’s how the incoming wire is matched to the right account. Without it, settlement falls back to manual reconciliation.Beneficiary Name
The legal name on the bank account record (typically a Venly custody entity). Display this to end users alongside the IBAN when they initiate a wire.Money movement
Transfer
A value movement from one account to another, addressed byreceiverAccountId or receiverExternalId. Two flavors, depending on how you denominate the amount:
- Fiat transfer — you send a fiat
currency+amount; it’s resolved to the underlying stablecoin and settled on-chain. The response carries afiatOriginblock (original currency, amount, exchange rate). - Crypto transfer — you send a crypto
asset+chain+amount, moved directly between the accounts on-chain.
Transfer Status
Lifecycle states:PENDING → COMPLETED (or FAILED with an errorMessage).
Payment Session (Fiat-to-Crypto)
A hosted checkout flow that converts a card or bank payment into crypto credited to an account’s wallet. Returns apaymentUrl you redirect the user to. See Create a fiat-to-crypto payment session.
Pay-out
Crypto leaves an account wallet and a bank beneficiary receives fiat — the opposite direction to a pay-in. Requires a payout bank account and a payout route. See Pay-outs.Payout Bank Account
An allow-listed beneficiary bank account, registered against a party. The only place raw bank credentials are accepted; reads expose justaccountNumberLast4. See Register a payout bank account.
Payout Route
An account-scoped pairing of a payout bank account with a crypto deposit asset. Fixes the beneficiary, rail, asset and fiat currency for every pay-out over it. OnlyACTIVE routes are usable. See Create a payout route.
Funding Mode (PULL / PUSH)
How a pay-out is funded on-chain:PULL— Venly sends from the account wallet using its permit. Created via the API.PUSH— the customer sent to the route’sdepositAddressthemselves; Venly observes the deposit and creates the pay-out. Self-custody only.
Deposit Rails
ThedepositRails array on a virtual bank account, listing every payment rail it is reachable over (ACH, WIRE, RTP, SWIFT, SEPA) with the complete instruction set each one needs. Build payment instructions from this rather than the single-rail summary fields.
Ownership Proof
A customer-signed message proving control of a self-custody destination wallet, required for a DIRECT pay-in-mode virtual bank account. Obtained from prepare and signed verbatim.Webhook
A registered HTTPS endpoint Venly pushes asynchronous events to, so you don’t poll. See Webhooks.On-chain primitives
Permit (EIP-2612)
A signed message that grants a spender permission to move tokens from a wallet, without an on-chain approval transaction. Used to delegate spending authority cheaply. See Get permit messages.Allowance (ERC-20)
The amount of a token that a third party is approved to spend from a wallet. Queried per wallet + token. See Get wallet token allowances.Stablecoin
A cryptocurrency pegged to a fiat currency. Which assets your tenant can settle in is configuration rather than a fixed list — readGET /supported-assets instead of hard-coding one. Support for gasless permits is a property of the token contract on a specific chain, so the same symbol can behave differently across chains.
Blockchain Network
The chain an account’s wallet is provisioned on, fixed at account creation. The chains the API accepts are listed in Supported chains & assets; the chains available to your company are configured by Venly. Requesting a chain your company isn’t set up for returns400 invalid-request with a message listing your supported chains. See Supported chains & assets.
API mechanics
Idempotency Key
A UUID supplied in the request body of state-changing endpoints to make retries safe. Same key + same body returns the original response; same key + different body returns422. See the Idempotency rules.
Optimistic Locking (version)
On update endpoints, the request body includes a version integer matching the resource’s current version. Concurrent updates with a stale version return 409 Conflict. Refetch the resource, submit the version it returned, and retry — don’t increment the number yourself.
Pagination
Paginated list endpoints acceptpage (1-based), size, sortOn, and sortOrder, and return a pagination object. Not every list is paginated — check the endpoint. See Pagination conventions.
Error handling
Every response carries asuccess flag and, on failure, an errors array of { code, message }. Branch on the stable code. See the Errors & error codes reference.
Status enums (quick reference)
A wallet has no
status field — GET .../wallets returns amlStatus only. Readiness isn’t a single returned value: a Venly-managed wallet is ready once amlStatus is APPROVED; a self-custody wallet is ready once its permit status is CONFIRMED.See also
Integration walkthrough
Watch every term above used in context, end to end.
API conventions
Idempotency, pagination, and versioning rules.

