Help center

Ultraner FX

Know your rate before you charge anyone

A free API that tells you exactly what a payer in another currency will be charged for something you priced in yours, using the same rate Ultraner itself applies when the payment settles. No account, no API key, no waiting for the transaction to land to find out.

Why this exists

When a buyer pays you across currencies, several parties can each apply their own exchange rate before the money reaches you: the buyer's issuing bank, the card network (Visa/Mastercard), the payment processor (Stripe, PayPal), and Ultraner itself. Each one can move independently. That makes it genuinely hard, as a seller, to know in advance how much a payer needs to send, or what you'll actually end up with.

Ultraner FX collapses that uncertainty down to one number you can trust: the rate Ultraner will use to convert this specific payment. It's the same rate applied at settlement for mobile money, card and PayPal, so what this endpoint tells you matches what actually happens, not an estimate you have to hope holds up.

What it gives you

  • Pre-compute what a payer owes before you create a payment link or charge, in your currency and theirs.
  • The exact sell rate Ultraner will apply, not a generic mid-market number that ignores Ultraner’s own margin.
  • A separate mid rate too, so you can see the market rate versus the effective rate side by side.
  • No authentication, no rate limit tied to an account, call it from your backend or frontend.

How to use it

Say you price a product at 10,000 TZS and want to know what a payer paying in USD will be charged:

Code
curl "https://api.ultraner.com/v0/fx/quote?sellerAmount=10000&sellerCurrency=TZS&payerCurrency=USD"
Three query params: sellerAmount (what you priced it at), sellerCurrency (your currency), payerCurrency(the payer's currency). That's it.

Reading the response

Code
{
  "success": true,
  "data": {
    "sellerAmount": 10000,
    "sellerCurrency": "TZS",
    "payerAmount": 380,
    "payerCurrency": "USD",
    "rate": 2632.5,
    "midRate": 2600.0,
    "side": "sell"
  }
}
payerAmountWhat the payer needs to pay, in payerCurrency's smallest unit (cents for USD/EUR/GBP, whole units otherwise).
rateThe effective rate actually used, mid rate plus Ultraner's FX spread. This is what will apply at settlement.
midRateThe plain market rate, no margin, shown for transparency so you can see the spread.
sideAlways "sell" here, incoming payments settle at sell, this endpoint matches that automatically.

One honest caveat

This is a live spot quote, not a locked-in number. Ultraner's rate can move between the moment you call this and the moment the payer actually pays, same as checking any exchange rate. It also only covers Ultraner's own conversion, if a payer's card is billed in a currency their bank then converts again, that step happens before the money reaches Ultraner and isn't something this endpoint (or Ultraner) can see or control.

Just want the rate table?

If you don't need a specific quote and just want to see or list every current buy and sell rate, use GET /v0/fx/rates, or browse it visually, grouped by region, on the live exchange rates page.

Questions? Contact support@ultraner.com.