Skip to main content

GET /v1/rates/live

Returns the current volume-weighted average price (VWAP) for the requested pairs. Rates are computed from live order book data across all contributing exchanges.

Authentication

note

This endpoint requires an API key. See Authentication.

Parameters

ParameterTypeRequiredDescription
pairsstringYesComma-separated list of pair identifiers (e.g., USDTNGN or USDTNGN,BTCNGN).
max_ageintegerNoMaximum acceptable age of the rate in seconds. If the most recent data point is older than this threshold, the response includes a stale: true flag. Default: 60.

Response

FieldTypeDescription
ratesarrayArray of rate objects, one per requested pair.
rates[].pairstringPair identifier (e.g., USDTNGN).
rates[].vwapnumberVolume-weighted average price across all contributing exchanges.
rates[].timestampstringISO 8601 timestamp of the rate computation.
rates[].sourcesarrayPer-exchange breakdown of the VWAP inputs.
rates[].sources[].exchangestringExchange name.
rates[].sources[].pricenumberMid-price on this exchange.
rates[].sources[].volumenumberTradeable volume at this price level.
rates[].freshness_secondsintegerAge of the most recent data point in seconds.
rates[].stalebooleanPresent and true only when freshness_seconds exceeds the max_age threshold.

Examples

Single pair

curl
curl -X GET "https://api.moxiemetrx.com/v1/rates/live?pairs=USDTNGN" \
-H "X-API-Key: your_key"
Python
import requests

response = requests.get(
"https://api.moxiemetrx.com/v1/rates/live",
params={"pairs": "USDTNGN"},
headers={"X-API-Key": "your_key"},
)

rate = response.json()["rates"][0]
print(f"USDTNGN: {rate['vwap']} (age: {rate['freshness_seconds']}s)")

Response:

{
"rates": [
{
"pair": "USDTNGN",
"vwap": 1416.25,
"timestamp": "2026-03-23T12:00:00Z",
"sources": [
{ "exchange": "quidax", "price": 1415.80, "volume": 52340.0 },
{ "exchange": "luno", "price": 1416.50, "volume": 78210.0 }
],
"freshness_seconds": 4
}
]
}

Multiple pairs

curl
curl -X GET "https://api.moxiemetrx.com/v1/rates/live?pairs=USDTNGN,BTCNGN,ETHZAR" \
-H "X-API-Key: your_key"
Python
import requests

response = requests.get(
"https://api.moxiemetrx.com/v1/rates/live",
params={"pairs": "USDTNGN,BTCNGN,ETHZAR"},
headers={"X-API-Key": "your_key"},
)

for rate in response.json()["rates"]:
print(f"{rate['pair']}: {rate['vwap']}")

Response:

{
"rates": [
{
"pair": "USDTNGN",
"vwap": 1416.25,
"timestamp": "2026-03-23T12:00:00Z",
"sources": [
{ "exchange": "quidax", "price": 1415.80, "volume": 52340.0 },
{ "exchange": "luno", "price": 1416.50, "volume": 78210.0 }
],
"freshness_seconds": 4
},
{
"pair": "BTCNGN",
"vwap": 150234567.80,
"timestamp": "2026-03-23T12:00:00Z",
"sources": [
{ "exchange": "luno", "price": 150200000.00, "volume": 1.24 },
{ "exchange": "quidax", "price": 150280000.00, "volume": 0.87 }
],
"freshness_seconds": 7
},
{
"pair": "ETHZAR",
"vwap": 68420.50,
"timestamp": "2026-03-23T12:00:00Z",
"sources": [
{ "exchange": "luno", "price": 68400.00, "volume": 12.5 },
{ "exchange": "valr", "price": 68450.00, "volume": 18.3 }
],
"freshness_seconds": 3
}
]
}
tip

Requesting multiple pairs in a single call counts as one request against your rate limit. Prefer this over making separate calls per pair.