The states
An account’skycStatus (returned by Get an account) is one of:
kycStatus | Meaning |
|---|---|
VERIFICATION_PENDING | New account. Can be set up, but can’t move money yet. |
VERIFIED | Approved. All operations are available. |
REJECTED | Verification was declined. |
How an account gets verified
Verification is reviewed and approved by a Venly admin — it does not happen through the API, and there’s no endpoint to trigger it. After you create an account, your Venly contact reviews it; once approved, the account’skycStatus becomes VERIFIED.
Check the current status at any time with Get an account and read the kycStatus field.
What’s blocked until VERIFIED
These calls fail while an account is VERIFICATION_PENDING:
- Create a crypto transfer and Create a fiat transfer
- Create a payment request
- Create a pay-in session
- Create a virtual bank account
code and HTTP status depend on the operation, so handle any of them as not-verified rather than matching a single code:
- Virtual bank account →
400with codekyc-not-verified:
- Pay-in session →
422with codekyc-required:
- Payment request →
400with codeaccount-not-active:
What you can do before verification
Plenty of setup doesn’t require a verified account:- Create parties and accounts
- Add and remove party roles
- Read wallets, balances, permits, and allowances
- For self-custody, sign and submit the token permit — see Approving transfers without gas
Build the pending state into your flow: create the account, then wait for your Venly contact to verify it (poll Get an account until
kycStatus is VERIFIED) before attempting transfers, payments, pay-ins, or virtual bank accounts.
