Densities

Order-book walls across the whole market, rescanned every 2 seconds, with a strength ratio against the pair's own book and a spoof-resistant age for every wall.

GET/v1/densities
GET/v1/densities/{symbol}

A density (wall) is a resting limit order (or a stack of them at one price) large enough to stand out from everything around it. Walls matter to short-term traders because they act as magnets and barriers: price often accelerates toward large liquidity, stalls into it, and moves sharply when a wall is consumed or pulled. The Osiris detector maintains live order books for every tracked pair and re-scans all of them every 2 seconds.

Detection is relative, not absolute. There is no fixed dollar threshold; a level qualifies as a wall by dwarfing the median level size of its own book. That is what makes the ratio comparable across pairs: a $200k order is furniture on BTCUSDT and a skyscraper on a small alt, and the ratio field captures exactly that difference.

Request

ParameterInDescription
exchangequeryVenue whose books are scanned. See Exchanges. Default: Binance. Wall detection runs on every venue's own order books.
Whole market in one call, or one pair
curl "https://osiristrader.com/api/v1/densities" \
  -H "Authorization: Bearer osk_YOUR_KEY"

curl "https://osiristrader.com/api/v1/densities/BTCUSDT" \
  -H "Authorization: Bearer osk_YOUR_KEY"

Response

{
  "symbol": "BTCUSDT",
  "data": {
    "price": 63972.9,
    "ts": 1783877000000,
    "walls": [
      { "side": "bid", "price": 63600.0, "qty": 44.86, "usd": 2853096, "dist": 0.58, "ratio": 466.1, "age": 1240 },
      { "side": "ask", "price": 64500.0, "qty": 21.10, "usd": 1360950, "dist": 0.82, "ratio": 218.4, "age": 315 }
    ]
  }
}
FieldDescription
sidebid: buy wall below price (potential support). ask: sell wall above (potential resistance).
priceThe wall's price level.
qty / usdResting size in base asset and its USD value. usd is the cross-pair comparable one.
distDistance from the current price, percent. Walls within a fraction of a percent are actionable now; walls 3% away are context.
ratioSize relative to the median book level of this pair. 466 means this order is ~466× a typical level. This is the strength score.
ageSeconds this wall has existed continuously at this level. The anti-spoofing field; see below.

Reading age: the spoof filter

The largest orders in crypto books are frequently fake: placed to be seen, not filled, and pulled the moment price approaches (spoofing). Size alone therefore means little. The age counter is our countermeasure: it tracks continuous presence, and a wall that vanishes and reappears restarts from zero. Spoofers flicker; real liquidity sits. A $500k wall 20 seconds old is a rumor; the same wall after 20 minutes, through several approaches, is infrastructure. As a rule of thumb, treat walls under ~60 seconds as unconfirmed, and weight your confidence by age × ratio rather than either alone.

Notes

  • /v1/densities/{symbol} answers 404 when no walls are detected on that pair right now. That is an honest "nothing to see", not an error. The bulk endpoint simply omits quiet pairs.
  • Walls appear and disappear naturally as orders fill and cancel. Diff consecutive polls: a wall that grew while price approached is being defended; a bid wall that vanished untouched just removed support.
  • Each pair's snapshot carries its own price and ts so you can compute distances and staleness without an extra call.
  • Combine with Levels: a density wall sitting on a structural level is the strongest support/resistance configuration this API can show you: two independent detection methods agreeing.
The 2-second rescan is the fastest cadence in the REST API; polling faster returns identical data. If you are watching walls on many pairs at once, poll the bulk endpoint rather than looping per-symbol calls.