Skip to main content
Every Finance API response uses the same envelope, so you can handle success and failure uniformly.

Response envelope

A successful response sets success: true and carries the payload in result (list endpoints also include a pagination object):
Success
A failure sets success: false and returns one or more errors, each with a stable code and a human-readable message:
Error
Branch on the code, not the message — messages may change, codes are stable.

Standard errors

These apply across endpoints:

Verification & activation gates

A new account can’t move money until it’s verified, and a self-custody wallet can’t until its permit confirms. These gates return different codes per operation — treat any of them as “not ready yet” rather than matching a single code: See Account verification and Approving transfers without gas.

Verification errors

Verification-provisioning calls — minting a link, forwarding a sumsubToken, and provisioning a virtual bank account — can also fail on the platform itself: See Troubleshooting verification for the retryable/terminal split on each of these.

Pay-out errors

Pay-out routes and pay-outs add these:
A pay-out request that returns 201 can still fail. Allowance and balance are not pre-checked, so an underfunded pay-out lands in FAILED with a failureReason instead of erroring at request time — see Pay-outs.

Rate limits

The Finance API doesn’t publish fixed numeric rate limits. Build for resilience regardless:
  • Cache your access token and reuse it until it nears expiry — don’t fetch one per request.
  • Back off and retry on 500 (and on 429, if returned), using exponential backoff with jitter.
  • Make retries safe with an idempotency key so a replay never double-charges.
If you expect high call volumes, confirm current limits with your Venly contact — they aren’t enumerated in the API contract.

Next steps

API conventions

Idempotency, pagination, and versioning rules.

Account verification

The most common reason an otherwise-correct request is rejected.

Troubleshooting verification

Every verification error code, and how to tell a stall from a failure.

Webhooks

Catch asynchronous failures that no HTTP response can tell you about.