Pay Mode
Use Pay Mode when you need an exact output and want to fund it through one or more deposits. Discover the destination first, then call payment:
{
"destination": "<destination asset_id>",
"amount": "50",
"recipient": "<recipient, when required>",
"idempotency_key": "<saved unique key>"
}
The amount is in destination units. Omit recipient for products that don't need one.
Add a contribution
Discover the source, then call funding:
{
"order_id": "<order_id>",
"source": "<source asset_id>",
"amount": "20",
"amount_side": "from"
}
Commit the returned quote_id with orders, then read order for its deposit instructions. Repeat only when another contribution is needed.
For funding quotes, amount_side: "to" means collection-asset units. It does not mean units of the final product. The order's payment.assetV1 identifies that collection asset; balanceRaw and targetRaw show collected and required raw amounts.
The required collection amount can change as the final route is repriced. Check the current order and outstanding wallet transactions before topping up.
Follow the final output
A completed funding intent means a contribution arrived. The payment can still be collecting or processing its final output. Wait for payment.status: "completed" and inspect delivery evidence.
Payments created here use automatic capture. If an order requires manual release, its actions identify that step. release_payment requests release; it is not evidence that delivery has finished.
cancel_payment closes collection. It does not automatically withdraw or refund the remaining balance. Use the app's controls for withdrawals and other payment management.
See Pay Mode in the user guides for the interface and order lifecycle for holds and refunds.