Payments for software partnersProduct offering

Multi-currency accounts

Hold balances in multiple currencies, view total and available funds, top up or convert balances, and pay recipients directly from an account balance. Multi-currency accounts reduce the need to fund every payment separately and give clients control over when and how to convert currencies.

A balance can be used in two ways: as a settlement source to fund a spot or forward contract, or as a delivery destination to receive the bought currency. The API represents these choices with the FundsOnBalance settlement and delivery methods.

Available balance: Funds currently accessible for making payments or conversions.
Total balance: The full currency-account balance, including funds that may not yet be available for payment.

Current currency and corridor availability

Warning

Multi-Currency Account functionality is not available in the UK or EU regions.

As of March 2026, Corporate Currency Accounts are currently enabled across the CA, NZ, AU, EU, US and UK regions for the following balance currencies:

EUR, NZD, PLN, NOK, GBP, SEK, SGD, CHF, AUD, HUF, CZK, HKD, JPY, DKK, CAD, USD and THB.

For the most up to date list of supported currencies, please visit our Help Centre.

These currencies describe the currencies that can be held in a balance; they are not a promise that every country-to-country payment corridor is available. For a specific top-up, conversion or payment, the client, currency pair, destination country, delivery method and provider configuration must all support the requested route. Clients should therefore use the account and settlement-options responses, and the quote response, as the source of truth for current corridor availability.

Additional payout-only currencies: AED, ILS, KWD, OMR and PHP may be supported for paying out from a balance in configured scenarios, but are not supported as sell currencies for balance funding. MXN, ZAR, CNY, QAR and RON are listed as potential or restricted currencies and should be treated as corridor- and configuration-dependent rather than generally available for holding.

Availability can differ by client account and user configuration. The definitive supported route is the one returned by the relevant API for that account at the time of the request.


API Endpoints

View balances

Retrieve the currency accounts linked to a client account, including available and total balances. Use the available balance to determine whether funds can be used for a payment or conversion.

GET /v2/currencyAccounts

To retrieve one currency account, provide its ISO currency code:

GET /v2/currencyAccounts/{currencyCode}

Top up a balance

Top up a new or existing currency account by creating a quote with FundsOnBalance as the delivery method. Settle the quote using BankTransfer or DirectDebit. If the settlement currency is different from the delivery currency, FundsOnBalance can be used as the settlement method to convert from another balance.

POST /v2/fxquotes

For a top-up, the quote request specifies the sell currency and amount, the buy currency, the settlement method, and deliveryMethod: FundsOnBalance. Approving the quote credits the bought currency to the account balance and returns the updated balance information.

Convert between balances

Convert funds from one currency balance to another without sending money to a recipient. Use the source balance as the settlement source and the destination currency balance as the delivery destination.

POST /v2/fxquotes

settlementMethod: FundsOnBalance
deliveryMethod: FundsOnBalance

The sell currency balance is debited for the total settlement amount, including fees, and the converted buy currency is credited to the destination balance after the contract is approved.

Pay from a balance

Pay a registered recipient using funds already held in the relevant currency balance. Create or approve the FX contract with FundsOnBalance as the settlement method, then attach payment instructions to the contract when the delivery method is BankAccount.

POST /v2/fxquotes
POST /v2/contracts/quote/{quoteId}
POST /v2/contracts/{contractNumber}/payments

The balance funds the contract and the bought currency is delivered to the recipient’s bank account. Once the recipient and payment details are attached, the contract can move through release and payment processing without a separate bank transfer to settle the contract.

How balance scenarios use existing payment functionality

Balances extend the existing quote-to-contract and payment journeys rather than introducing a separate FX execution model. The same quote, contract and payment lifecycle is used; the settlement and delivery methods determine whether money comes from or goes to a currency account.

Important

This balance functionality applies only to spot and forward contracts. It is not available for, and does not apply to, mass payment contracts, which continue to follow their existing funding, settlement and payment flows.

ScenarioSettlement methodDelivery methodExisting functionality used
View balancesNot applicableNot applicableCurrency-account read APIs return current, available and total balances.
Top up a balanceBankTransfer or DirectDebitFundsOnBalanceUses the existing spot quote-to-contract flow to buy currency and deliver it to a currency account. The resulting contract and settlement status remain trackable through the standard contract lifecycle.
Convert between balancesFundsOnBalanceFundsOnBalanceUses the existing spot FX quote and contract flow. The source balance funds the FX contract and the bought currency is delivered to another balance.
Pay from a balanceFundsOnBalanceBankAccountUses the existing spot payment flow: create or approve the contract, attach the recipient and payment instructions, then release the payment to the recipient.

Spot payments

For immediate FX needs, top-ups, conversions and balance-funded payments use spot quotes and spot contracts. A spot quote provides the rate, fees and settlement details; approving it creates the contract. The existing payment APIs then attach recipients and track payment status.

Forward payments

Forward contracts are used when the exchange rate is agreed today for settlement on a future value date. Balance support for forward settlement or delivery is subject to the enabled account capabilities and rollout scope. Where supported, the balance scenarios follow the same forward quote, contract and payment lifecycle, with FundsOnBalance identifying the balance leg. If not supported, use the normal forward settlement methods and deliver to a recipient or another supported destination.

Settlement

Use the settlement-options capability before creating a quote to determine which methods are available for the client, currency and amount:

GET /v2/settlement-options

BankTransfer and DirectDebit bring external funds into the contract or balance. FundsOnBalance uses funds already held in the relevant currency account. Settlement, contract and payment statuses continue to be reported through the existing contract and payment endpoints.

Typical end-to-end flows

  1. Top up: Check the target currency account, request a spot quote with FundsOnBalance as delivery, settle by bank transfer or direct debit, and approve the contract.
  2. Convert: Check the source balance, request a quote with FundsOnBalance for both settlement and delivery, and approve the contract.
  3. Pay: Check the available balance, create a balance-funded contract, attach the recipient and payment instructions, and track settlement and payment status.

On this page

Get help