GET /v1/rates/spread
Returns bid, ask, mid-price, spread, synthetic price, and local premium for a pair.
warning
Bid/ask values are approximated from 5-minute OHLCV candles (5m low = bid, 5m high = ask). This is not live order-book depth. Do not use for execution decisions without accounting for this approximation.
Access: Builder, Professional, Enterprise. Free tier returns 403.
Authentication
Requires an API key. See Authentication.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
pair | string | Yes | Pair identifier (e.g., BTCNGN). |
Example
curl "https://api.moxiemetrx.com/v1/rates/spread?pair=BTCNGN" \
-H "X-API-Key: your_key"
{
"pair": "BTCNGN",
"bid": 91959575.75,
"ask": 92948735.0,
"mid": 92454155.38,
"spread": 989159.25,
"spread_bps": 106.99,
"synthetic": {
"price": 91959575.75,
"source": "USD/FIAT via ExchangeRate-API x CRYPTO/USDT via Binance"
},
"premium": {
"absolute": 494579.62,
"pct": 0.5378,
"interpretation": "near parity"
},
"timestamp": "2026-04-03T01:40:00+00:00",
"sources": [
{"exchange": "luno", "bid": 92948735.0, "ask": 92948735.0},
{"exchange": "quidax", "bid": 92541802.0, "ask": 92541802.0},
{"exchange": "synthetic", "bid": 91959575.75, "ask": 91959575.75}
],
"note": "bid/ask approximated from 5m low/high \u2014 not order-book depth"
}
Response fields
| Field | Type | Description |
|---|---|---|
bid | number | Approximated best bid (5m low). |
ask | number | Approximated best ask (5m high). |
mid | number | (bid + ask) / 2. |
spread | number | ask - bid. |
spread_bps | number | Spread in basis points: (spread / mid) * 10000. |
synthetic.price | number | Synthetic cross-rate price. |
synthetic.source | string | Description of the cross-rate calculation path. |
premium.absolute | number | mid - synthetic.price. |
premium.pct | number | Premium as a percentage. |
premium.interpretation | string | Human-readable premium assessment. |
sources | array | Per-exchange bid/ask including synthetic. |
note | string | Caveat about bid/ask approximation method. |