execution.
How it differs from a transfer
A transfer moves funds to another Venly account. A payment request settles a payment out of the account’s balance — reserving the amount first, then executing on-chain — and returns anexecutions array describing each attempt.
Two ways to create one
| Endpoint | Use when |
|---|---|
For an account — POST /accounts/{accountId}/payment-requests | you have the Venly accountId. |
By card provider — POST /payment-requests | you only have a card-provider reference; the account is resolved from cardProviderReference (type + referenceId). |
Prerequisites
The account must be verified. For self-custody, the wallet must be active with an allowance to the orchestration wallet — see Approving transfers without gas.Create a payment request
Response
reserved balance.
Status lifecycle
status | Meaning |
|---|---|
PENDING | Created; not yet reserved. |
RESERVED | Funds held against the wallet’s reserved balance. |
SETTLED | Payment completed. |
REVERSED | A reserved or settled request was unwound. |
FAILED | Reservation or settlement failed. |
executions carries its own status (PENDING, RESERVED, or FAILED), transactionHash, and exchangeRate.
There is no GET endpoint for payment requests — the full object (including
executions) is only returned on create. Persist the create response and key off your own externalId and idempotencyKey.Idempotency
Send a uniqueidempotencyKey per request; a retry with the same key returns the original request and reserves only once. See Safe retries with idempotency keys.
Next steps
Create a payment request
The endpoint reference and full schema.
Wallets & balances
How reserved funds show up in a wallet balance.

