Skip to main content
Use staging credentials and URLs during development. Staging calls do not move real funds.

Authentication

Both the Fundflow API and Finance API use the same OAuth2 token endpoint:
EnvironmentURL
Staginghttps://login-staging.venly.io/auth/realms/VenlyFinance/protocol/openid-connect/token
Productionhttps://login.venly.io/auth/realms/VenlyFinance/protocol/openid-connect/token
Request (application/x-www-form-urlencoded):
ParameterValue
grant_typeclient_credentials
client_idYour client ID
client_secretYour client secret
Tokens are valid for 5 minutes (300 seconds). See the Authentication guide for refresh patterns.

Fundflow API

EnvironmentBase URL
Staginghttps://api-fundflow-staging.venly.io/v1
Productionhttps://api-fundflow.venly.io/v1

Key endpoints

EndpointMethodDescription
/companyGETVerify KYB status
/ramp-requestsGET / POSTList or create ramp requests
/ramp-requests/{id}GETGet ramp request by ID
/ramp-requests/{id}/approvePOSTApprove a ramp request
/ramp-requests/{id}/rejectPOSTReject a ramp request
/ramp-requests/{id}/cancelPOSTCancel a ramp request
/ramp-requests/on-ramp/pairsGETAvailable on-ramp currency pairs
/ramp-requests/off-ramp/pairsGETAvailable off-ramp currency pairs
/fees/calculatePOSTCalculate fee for a ramp request
/company-bank-accountsGET / POSTManage company bank accounts
/company-walletsGET / POSTManage company wallets

Finance API

EnvironmentBase URL
Staginghttps://api-staging.venlyfinance.com/v1
Productionhttps://api.venlyfinance.com/v1

Key endpoints

EndpointMethodDescription
/partiesGET / POSTList or create parties
/parties/{id}GET / PATCH / DELETEGet, update, or delete a party
/accountsGET / POSTList or create accounts
/accounts/{id}GETGet account details
/accounts/{id}/party-rolesGET / POSTList or add party roles on an account
/accounts/{id}/walletsGETList wallets for an account
/accounts/{id}/virtual-bank-accountsGET / POSTList or create IBANs
/accounts/{id}/transfersGETList transfers for an account
/accounts/{senderId}/transfers/crypto · /fiatPOSTCreate a crypto or fiat transfer
/accounts/{id}/payment-requests · /payment-requestsPOSTCreate a payment request
Relevant Finance API endpoints accept an idempotencyKey field in the request body to prevent duplicate operations on retry. Supply a unique UUID for every new request.

Quick Copy

curl -X POST https://login-staging.venly.io/auth/realms/VenlyFinance/protocol/openid-connect/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials" \
  -d "client_id=YOUR_CLIENT_ID" \
  -d "client_secret=YOUR_CLIENT_SECRET"