execution you can read back.
Two wallets are involved: the account’s wallet, where the money starts, and a Venly-held escrow wallet that holds the reserved amount until it settles. Settling moves the money to the company’s settlement wallet — your platform’s wallet for collected payments; reversing returns it to the account wallet.
Payment request vs. transfer
A transfer sends money to another account in one move. A payment request reserves the money first and resolves it later — the pattern card and merchant payments need, where the final amount is known only after authorization.The flow
- Create — money is reserved from the account wallet into escrow. The request is
RESERVED. - Adjust (optional) — raise or lower the reserved amount while it’s
RESERVED. - Settle or reverse — settle sends the money to the company’s settlement wallet; reverse sends it back to the account. Either way the request reaches a final state.
Create a payment request
Response
reserved balance. There are two ways to create a request:
Settle
Settle moves the money from escrow to the company’s settlement wallet. The response isstatus: SETTLING, and the request becomes SETTLED once the on-chain transfers confirm. The settlement amount doesn’t have to equal the authorized amount:
Reverse
Reverse sends the full reserved amount back to the account wallet. The response isstatus: REVERSING, becoming REVERSED once the transfer confirms. Use it to release a hold you no longer need to charge.
Adjust the amount
Update sets a new authorizedamount while the request is RESERVED. A lower amount sends the difference back to the account; a higher amount reserves more from it. After the update, amount shows the new value and originalAmount keeps the amount you started with.
Amounts carry fiat and crypto
Every amount on a payment request is an object that shows both sides of the conversion:fiat is the value in the request currency; crypto is the stablecoin amount that actually moves on-chain. This applies to amount, originalAmount, settlementAmount, settledAmount, and shortfallAmount.
Status at a glance
Each
execution carries its own type (AUTHORIZATION, INCREMENTAL_AUTHORIZATION, AUTHORIZATION_ADJUSTMENT, SETTLEMENT, SETTLEMENT_OVERAGE, REFUND, REVERSAL), status, and transactionHash.
There’s no GET endpoint for a payment request. The full object — including
executions — comes back on create, settle, reverse, and update, so store the response and match on your own externalId.Safe retries
Send a freshidempotencyKey for each new request. To retry, reuse the same key with the same body and you’ll get the original result back instead of a second charge. See Idempotency.
Next steps
Settle a payment request
Finalize a reserved payment, with exact, lower, and higher amounts.
Wallets & balances
How reserved money shows up in a wallet balance.

