Do you need this?
You need the Wallet API
You have no wallet infrastructure · you want Venly to generate and secure wallets for your users ·
you want to issue wallets under your own brand
You can skip it
Your users already hold their own wallets and you’ll register their addresses — that’s
self-custody
Which path you’re on is a company-level setting on your Venly tenant,
VENLY_MANAGED or
SELF_CUSTODY — not a per-request choice. See
Venly-managed vs self-custody, and tell your Venly contact
which model you want.Two products, two sets of credentials
Before you start, know that Venly Wallet and Venly Finance are separate products with separate authentication. Mixing up the realm is the single most common early mistake, because the failure looks like bad credentials rather than a wrong URL.
Both use OAuth2
client_credentials. A Wallet API token will not authenticate a Finance API call,
and vice versa — you’ll hold two tokens.
Get access and credentials
Venly Wallet API access is not self-serve. There is no public signup — you request access and Venly
provisions your account.
1
Request access
Get in touch with Venly to have a business account provisioned.
Tell them you want Wallet API access, and mention if you also need the
Finance API — the two are provisioned separately.Once your account exists you’ll be able to sign in to
portal.venly.io, where your credentials live.
2
Copy your client credentials
Go to the authentication section of the portal
(portal.venly.io/authentication) and copy your
Client ID and Client Secret.There are two sets, switched with a toggle:
3
Get a bearer token
refresh_token is returned but is deprecated; just request a new token.Issue your first wallet
Three Wallet API concepts, and they nest in this order: A user is one of your end-users. A signing method is how that user authorises actions. A wallet belongs to a user and needs a signing method to create. Sandbox base URL:https://api-wallet-sandbox.venly.io
1
Create a user
result.id — that’s your userId. Use your own identifier as the reference so you can
reconcile against your user table.2
Create a signing method
result.id — that’s your signingMethodId.3
Create a wallet
Signing-Method header — {signingMethodId}:{pinValue}. Wallet creation needs the user’s
authorisation, so this isn’t optional.Keep result.id and result.address.Your sandbox tenant may already contain a testnet user and wallet preloaded with test assets, so check
before creating your own — list what’s there with
GET /api/users?includeSigningMethods=true and
GET /api/wallets?userId={userId}.secretType and chain names
The Wallet API names chains with secretType, and a few differ from the Finance API’s chain values.
Translate when you cross between the two products:
The Wallet API supports more chains than the Finance API settles on — see
Supported chains & assets for what Finance accepts.
Connecting it to the Finance API
With wallets in hand, you’re a wallet provider. Now wire it to Venly Finance:1
Ask Venly to set your wallet type
Tell your Venly contact whether your Finance tenant should be
VENLY_MANAGED (Venly generates
wallets for accounts) or SELF_CUSTODY (you supply addresses). If you’re issuing wallets through
the Wallet API yourself and registering those addresses, that’s SELF_CUSTODY.2
Create a party and an account
Follow the Finance API quickstart. For
SELF_CUSTODY, pass the
wallet address you got above when
creating the account.3
Verify the party
Send the party through verification before attempting to
move money.
4
Sign the permit (self-custody)
A self-custody wallet needs a one-time signed permit
before Venly can move its funds. You sign it with the wallet you just created — via the Wallet API’s
signing endpoints, using that user’s signing method.
Next steps
Wallet API documentation
The full reference — users, signing methods, wallets, balances, transactions, signing.
Wallet API quickstart
Venly’s own getting-started guide, in more depth.
Venly-managed vs self-custody
Which custody model your Finance tenant should use.
Finance API quickstart
Party → account → verification → bank rails.

