FX & treasury
Convert with certainty. Lock the rate first.
Convert local-currency proceeds at the point of payment or in bulk into USD, EUR, GBP, CAD, AUD, NZD, CHF, USDC or USDT — with a quote token that holds the rate until you execute.
- 9 hard currencies
- Rate lock with a quote token
- BRL3.42M3,420,118.40
- MXN8.91M8,905,332.10
- COP912M912,450,000
- ARS249M248,901,220
USD balance
USD 4.97M
Converted today · 4 pairs
+ USD 312,400.00
Local balances stay available for payouts; convert to USD with a locked rate when you need to.
- Hard currencies: USD, EUR, GBP, CAD, AUD, NZD, CHF, USDC and USDT
- 9
- Dollar stablecoins you can convert into, alongside fiat
- USDC · USDT
- Rate lock by quote token: the exchangeRateToken holds the rate until it expires
- Locked
- Markets with published FX hours
- 13
Capabilities
Two ways to convert: on the payment, or between your accounts.
Convert when the payment happens, or convert balances between your own accounts in bulk when it suits your treasury plan.
FX on payment
Quote and convert when the payment happens, so collections land in the currency you settle in.
Bulk exchange
Convert balances between your own accounts in a single request, when it suits your treasury plan.
Money flow
Lock a rate, convert, move the funds
Ask for a quote, accept it before it expires and the conversion runs at the quoted rate.
- 1
Your platformLocalpayment:
Request a quote
Pair and amount, local currency to a hard currency or the other way round.
- 2
LocalpaymentYour platform:
Quote token with expiry
The rate is locked for the time the quote is valid.
- 3
Your platformLocalpayment:
Accept the quote
Send the token; conversion runs within local market hours.
- 4
LocalpaymentYour treasury:
Funds move between balances
Credit to your hard-currency balance, ready to withdraw.
- 5
LocalpaymentYour platform:
Confirmation and report
FX appears itemized in your reports.
Illustrative flow. Available currencies and market hours depend on the country.
Rate lock
Quote, lock, execute — no surprises
The rate you see is the rate you get, as long as you execute before the quote expires.
Quote
Call the FX quote endpoint for a pay-in, a payout or a currency exchange.
Lock
The response returns the rate, an exchangeRateToken and its expirationDate.
Execute
Send the token with your transaction before it expires to convert at the locked rate.
Confirm
A CurrencyExchange webhook confirms the conversion and your balances update.
Hard currencies
Settle in USD, EUR and other hard currencies.
Keep what you collect in local currency, or convert it into the hard currency your business reports in: USD, EUR, GBP, CAD, AUD, NZD, CHF, or the dollar stablecoins USDC and USDT.
- Fiat: USD, EUR, GBP, CAD, AUD, NZD and CHF
- Stablecoins: USDC and USDT
- Direction: between local and hard currencies
- Rates quoted at current market conditions
Total balance
USD 4,971,203.18
- USDUS Dollar1,284,560.00+4.2%
- BRLBrazilian Real3,420,118.40+12.8%
- MXNMexican Peso8,905,332.10+6.1%
- COPColombian Peso912,450,000+3.4%
- ARSArgentine Peso248,901,220.55+9.7%
Market hours
Conversion runs within local market hours
FX executes during each country’s operating window, so rates reflect a live local market.
Argentina
- Currency
- ARS
- FX window (local time)
- 10:00–14:30
Bolivia
- Currency
- BOB
- FX window (local time)
- 08:30–17:00
Brazil
- Currency
- BRL
- FX window (local time)
- 10:00–12:30
Chile
- Currency
- CLP
- FX window (local time)
- 08:30–13:30
Colombia
- Currency
- COP
- FX window (local time)
- 08:00–12:30
Costa Rica
- Currency
- CRC
- FX window (local time)
- 08:00–16:00
Dominican Republic
- Currency
- DOP
- FX window (local time)
- 09:00–14:30
Guatemala
- Currency
- GTQ
- FX window (local time)
- 08:00–16:30
Honduras
- Currency
- HNL
- FX window (local time)
- 08:00–15:00
Mexico
- Currency
- MXN
- FX window (local time)
- 08:00–15:30
Panama
- Currency
- USD
- FX window (local time)
- 08:00–15:00
Paraguay
- Currency
- PYG
- FX window (local time)
- 08:30–12:30
Peru
- Currency
- PEN
- FX window (local time)
- 09:00–13:00
Business days. Requests outside these hours are processed in the next session. Quotes are valid until the expiration date returned with the token.
Outcomes
Why treasury teams use Localpayment
Centralized liquidity
See and manage balances across markets from one account.
Faster redistribution
Move funds between countries and accounts without opening new banking relationships.
Predictable costs
Lock the rate before you commit, so the rate you plan with is the rate you get.
One platform
Collect, convert and pay out on the same integration, with the same reports.
For developers
Quote and convert in two calls
Request a quote for the flow you need, keep the exchangeRateToken, and send it with the conversion before its expirationDate. Every call uses a Bearer token.
- GET /api/fx/currency-exchange/{payin|payout|CurrencyExchange}
- POST /api/currency-exchange for bulk conversion
- POST /api/internal-transfer to move funds between accounts
# 1) Quote — illustrative parameters, see docs.localpayment.com
curl -G https://api.stage.localpayment.com/api/fx/currency-exchange/CurrencyExchange \
-H "Authorization: Bearer $ACCESS_TOKEN" \
--data-urlencode "sourceCurrency=BRL" \
--data-urlencode "quoteCurrency=USD" \
--data-urlencode "accountNumber=<your-BRL-account>" \
--data-urlencode "quoteAccountNumber=<your-USD-account>"
# → { "exchangeRateToken": "fxq_7Qk2...", "expirationDate": "2026-09-30T11:05:00-03:00", "quotes": [ ... ] }
# 2) Convert at the locked rate before it expires
curl -X POST https://api.stage.localpayment.com/api/currency-exchange \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"externalId": "b1d2c3e4-0000-4000-8000-000000000077",
"country": "BRA",
"currency": "BRL",
"exchangeRateToken": "fxq_7Qk2...",
"account": {
"debited": { "currency": "BRL", "accountNumber": "<your-BRL-account>", "amount": 250000.00 },
"credited": { "currency": "USD", "accountNumber": "<your-USD-account>" }
}
}'Use cases
Treasury flows by industry
SaaS
Convert local subscription revenue into USD or EUR on your own schedule.
SaaS —Remittances
Lock a rate with a quote token before you confirm the price to the sender.
Remittances —Advertising platforms
Repatriate ad spend collected in local currency with itemized FX.
Advertising platforms —B2B & high-value
Execute high-value transactions and reconcile them per account.
B2B & high-value —
Balances & transfers
See what you hold. Decide how to move it.
Check your balances in the Business Portal or via the balance API, then move funds between your own accounts.
Internal domestic transfer
Move funds between your accounts in the same country and currency.
Internal foreign transfer (same currency)
Move funds across countries in the same currency, without new banking relationships.
Low-balance alerts
Set a threshold per account and get notified before a balance runs short.
Frequently asked questions
Which currencies can I convert to?
Local-currency balances can be converted into USD, EUR, GBP, CAD, AUD, NZD, CHF, USDC and USDT.
Is FX available 24/7?
No. Conversions run within each local market’s hours — for example 10:00–12:30 in Brazil, 08:00–15:30 in Mexico and 10:00–14:30 in Argentina, local time.
How long is a quote valid?
Each quote returns an exchangeRateToken with an expirationDate. Execute before it expires to get the locked rate; after that, request a new quote.
Can I convert from a hard currency into local currency?
Yes. FX runs between local and hard currencies in both directions, for example USD ↔ BRL or EUR ↔ MXN.
What is the difference between domestic and foreign internal transfers?
A domestic transfer moves funds between your accounts in the same country and currency. A foreign transfer moves funds across countries in the same currency.
Is there a minimum or maximum amount per conversion?
Limits depend on the country and your account configuration. Talk to sales for the limits that apply to your flows.
How is the FX rate shown in my reports?
Each conversion is itemized with the rate applied, the local-currency amount and the hard-currency amount, in the Business Portal and in the activity API.
Also on the same API
Reporting & reconciliation
Balance, activity and reconciliation APIs, Business Portal reports and real-time webhooks for finance teams.
Reporting & reconciliation —Stablecoin rails
Fund and withdraw in USDC and USDT.
Stablecoin rails —Payouts
Pay out over local rails in 14 countries.
Payouts —Coverage
Licensed, registered or supervised presence in 18 countries and local rails in 14, country by country.
Coverage —Payment methods directory
Every documented method, with codes, limits and speed by country.
Payment methods directory —Developer quickstart
Get a token, send your first request and receive a webhook on Stage.
Developer quickstart —
Put your treasury to work
Tell us your corridors and volumes, and we’ll map the currencies, market hours and flows that fit your operation.

9 hard currencies