Reference · v1
FX rates
Merchant offramp rate and OnSwitch onramp reference quotes.
Two rate endpoints, two directions. Offramp is what you use for settlement and checkout today; onramp is a live OnSwitch reference quote for planning (Xpend does not process onramps yet).
Offramp — merchant settlement rate
GET
/v1/fx-ratesGet merchant offramp FX rateQuery params: fiat_currency (default NGN), optional storefront_id for storefront-scoped pricing. Any valid merchant API key may call this endpoint.
{
"data": {
"environment": "test",
"direction": "offramp",
"fiat_currency": "NGN",
"fiat_currency_meta": {
"code": "NGN",
"display_name": "Nigerian Naira",
"symbol": "₦",
"display_decimals": 4
},
"crypto_chain": "ethereum",
"crypto_token": "usdc",
"merchant_rate": "1485.50",
"rate_unit": "fiat_per_stablecoin",
"quoted_at": "2026-07-08T12:00:00.000Z",
"storefront_id": null
}
}merchant_rate is your dedicated platform offramp rate (fiat per 1 stablecoin), including merchant pricing adjustments. It is not the raw OnSwitch provider rate.
Onramp — provider reference rate
GET
/v1/fx-rates/onrampGet onramp FX reference rateQuery params: fiat_currency (default NGN). Any valid merchant API key may call this endpoint.
{
"data": {
"environment": "test",
"direction": "onramp",
"country": "NG",
"fiat_currency": "NGN",
"fiat_currency_meta": {
"code": "NGN",
"display_name": "Nigerian Naira",
"symbol": "₦",
"display_decimals": 4
},
"crypto_chain": "ethereum",
"crypto_token": "usdc",
"provider_asset": "ethereum:usdc",
"provider_rate": "1500.50",
"channel": "BLOCKCHAIN",
"rate_unit": "fiat_per_stablecoin",
"quoted_at": "2026-07-08T12:00:00.000Z"
}
}Onramp vs offramp
This calls OnSwitch
POST /onramp/rate (fiat → stablecoin), not /offramp/rate. provider_rate is not merchant-adjusted. Xpend does not execute onramps today — use this for display, quoting, or future product planning.