Rolla holds your balances in per-currency wallets. Converting between them is a two-step flow: quote a rate, then swap with the quoted token.
1. Quote
Get Exchange Rates returns the live rate for every supported corridor, each with a rateToken:
Use the rate to show your user what they’ll receive; hold on to the rateToken for the corridor you’re converting.
2. Swap
Pass the token to Swap Currency to execute at the quoted rate:
fromAmount is in minor units of fromCurrency — 1000 cents = $10.00 — and so are source_amount and destination_amount on the way back: 1405399 kobo is ₦14,053.99. exchange_rate is the rate actually executed, and appears on swaps only.
If you omit rateToken, the swap executes at the current market rate — which may have moved since you quoted. Always pass the token when you’ve shown a rate to a user.
Converting as part of a payout
You don’t need to swap first to pay out in another currency — Withdraw Funds handles cross-currency payouts (fx_withdrawal) directly when the beneficiary’s currency differs from the wallet you’re paying from. Swaps are for rebalancing your own wallets; FX payouts are for converting on the way out.
Swaps appear in your history as transaction_type: "swap" — see Transactions.