Live FX rates

Receive live FX rates from your liquidity and payment providers in Mambu Payments

A live FX rate is an indicative exchange rate for a currency pair that Mambu Payments retrieves on demand from your liquidity or payment provider. It can be used to show a live FX rate to your users before you create a payment order that includes a currency conversion.

ℹ️

Live FX rates are currently only available for Mastercard Cross-Border Services. More liquidity and payment providers will be supported in the future.

How it works

Send a request to GET /v1/live_fx_rates with a currency pair. Mambu Payments requests the current rate from your provider, normalizes it, and returns it in the same response.

A live FX rate is indicative, so the rate the provider applies to a payment order can differ. To convert currencies, create a payment order with an fx block.

%%{init: {'themeVariables': {'actorBkg': '#E1F3F2', 'actorBorder': '#2FA5A1', 'actorLineColor': '#2FA5A1'}}}%%
sequenceDiagram
    participant Y as Your system
    participant M as Mambu Payments
    participant P as Your provider

    Y->>M: GET /v1/live_fx_rates
    M->>P: Request current FX rates
    P-->>M: FX rates
    M-->>Y: Records (normalized)

Retrieve live FX rates

  1. Get the ID of your connected account for Mastercard Cross-Border Services. Go to Settings > Connectivity > Connectors or use the List connected accounts API endpoint
  2. Choose a currency pair, for example EUR/USD
  3. Send the request
Query parameterTypeRequiredDescription
connected_account_idstringrequiredID of the connected account.
symbolstringrequiredCurrency pair, written <base currency>/<quote currency> with two different ISO 4217 codes. Mambu Payments validates the pair.
recipient_instrument_typeenumoptionalFilters rates by recipient account type: bank_account or wallet. Only for Matercard Cross-Border Services.

Request

curl --request GET \
     --url 'https://sandbox.numeral.io/v1/live_fx_rates?connected_account_id=9a2d6c41-7f3e-4b85-a0c9-1e5f8d2b7a64&symbol=EUR/USD' \
     --header 'Accept: application/json' \
     --header 'X-API-Key: Your_API_Key'

Response

{
  "records": [
    {
      "connected_account_id": "9a2d6c41-7f3e-4b85-a0c9-1e5f8d2b7a64",
      "symbol": "EUR/USD",
      "bid_price": "1.08500",
      "valid_from": "2026-10-06T08:00:00Z",
      "valid_until": "2026-10-06T09:00:00Z",
      "recipient_instrument_type": "bank_account"
    }
  ]
}
FieldTypeDescription
recordsarrayOne record per live FX rate.
connected_account_idstringID of the connected account that returned the rate.
symbolstringSame currency pair as in your request.
bid_pricestringRate for the pair. See Key concepts.
valid_fromdatetimeStart of the validity window, in UTC.
valid_untildatetimeEnd of the validity window, in UTC.
recipient_instrument_typeenumRecipient account type the rate applies to: bank_account or wallet.

Live FX rates can be used to calculate the amount sent or received when creating a processing a payment order using Mambu Payments and your preferred partner bank.

GoalCalculationResult
Send 1,000.00 EUR1,000.00 × 1.085001,085.00 USD
Deliver exactly 1,000.00 USD1,000.00 ÷ 1.08500921.66 EUR

Related resources




Did this page help you?