Skip to main content
Loading market data…
GET/api/v1/coins/top-moversHobbyist tier+ · 30 req/min

24h gainers + losers, pre-filtered by minimum volume floor.

Returns the exact pair of arrays the `/coins` home-panel consumes: top-N gainers and top-N losers by 24h % change, filtered to a minimum 24h volume floor (`MIN_MOVER_VOLUME_USD`) so microcap noise doesn't dominate. Gainers descend by change%, losers ascend.

Query parameters

All query parameters are optional unless marked required.

NameTypeRequiredDefaultDescription
limitnumberoptional5
Rows per side. Max 50.

Response shape

Always wrapped in the standard envelope. Nullable fields are explicitly marked — treat missing numeric data as a real data-source gap, not as an error.

data payloadtypescript
// Wrapped in the standard envelope:
// {
//   data: /* shape below */,
//   meta?: { total?: number; limit?: number; offset?: number; ... }
// }

{
  gainers: Array<CoinOverviewRow>;
  losers: Array<CoinOverviewRow>;
}

Example

Copy the curl, replace YOUR_KEY with a real key from your dashboard, and run.

Requestbash
curl -sS "http://localhost:3000/api/v1/coins/top-movers?limit=5"
Responsejson
{
  "data": {
    "gainers": [ { "base": "WIF", "price": 2.41, "priceChange24hPct": 18.4, "volume24hUsd": 380000000, "oiTotalUsd": 120000000, "oiChange24hPct": 4.1, "avgFundingRate": 0.00021, "rank": 27 } ],
    "losers": [ { "base": "TIA", "price": 4.02, "priceChange24hPct": -9.8, "volume24hUsd": 210000000, "oiTotalUsd": 98000000, "oiChange24hPct": -2.6, "avgFundingRate": -0.00014, "rank": 42 } ]
  },
  "meta": { "gainers": 1, "losers": 1, "limit": 5 }
}

Next

Check the error code reference, or get an API key to try the request against your own account.