FX and rate locking (Pay-Out)
Where the rate comes from
When you create a quotation, Cashela asks every payer that can deliver to the destination country and currency for a quote, applies the exchange rate and the fee, and selects one of the quotes. The payers that can deliver it are listed in payers_available.
To see the options before you commit, call POST /api/v1/pay-out/calculate: it returns a selected_quote and the available_quotes, without creating a quotation. See Preview without saving.
What the quotation tells you
| Field | Meaning |
|---|---|
source.amount | Amount sent, in the source currency. |
destination.amount | Amount the beneficiary receives, in the destination currency. |
wholesale_fx_rate | Exchange rate applied. |
fee.amount | Fee, in the source currency. |
With mode: "SOURCE_AMOUNT" you set source.amount and Cashela calculates destination.amount. With mode: "DESTINATION_AMOUNT" you set destination.amount and Cashela calculates source.amount.
What you pay
The payout is funded from your Cashela wallet in the source currency. You need an active wallet in that currency: a source.currency you have no wallet for is rejected with 422. When you execute, the amount shown in the transaction’s funding.amount is reserved from your available balance.
How long the rate holds
The rate, the fee and the amounts are fixed for 30 minutes, until expiration_date. Execute the transaction before then. After that the quotation becomes EXPIRED and cannot be executed: create a new one with a new external_identifier. See Quotation rate locking.
Good practice
- Show the user the amount received, the rate and the fee before they confirm.
- Show the time left before
expiration_date. - Use the values of the quotation, not a rate you calculated yourself.