#37 shows the pool's ask side: the 150k QTC sell ladder from $20 to $220. For anyone holding QTC, the question is the other side: how much USDC is there to sell into, at what prices, and is it growing or being pulled? The market page doesn't answer that, and it changes by the minute.
Before launch on 2026-10-06 (18:00 EEST), the bid side came almost entirely from limit orders, not swaps. get_pool on pool 17208628…6133a1|qtc.omft.near|2000:
Time (EEST)
total_x (USDC in pool)
total_order_x (limit bids)
Net swap USDC (volume_x_in − volume_x_out)
~09:30
3.99
0
~4
16:42
14,503.62
13,500.00
1,003.62
16:49
34,003.62
~33,000
1,003.62
16:51
46,003.62
45,000.00
1,003.62
get_pointorder_range(pool_id, left_point, right_point) lists them by price. As of ~17:00 EEST:
Point
USD/QTC
USDC bid
Cumulative
QTC it absorbs
108,200
20.01
6,000
6,000
299.9
111,080
15.00
7,500
13,500
500.0
115,120
10.02
9,000
22,500
898.7
118,000
7.51
10,500
33,000
1,398.3
122,080
4.99
12,000
45,000
2,403.2
This is a descending bid ladder, $45k for about 5,500 QTC, heavier the lower it goes. That shape catches panic sellers cheaply, and it is exactly what a seller needs to see before deciding when to sell. It can also vanish: limit orders can be cancelled at any time.
The pool's quote view turns the whole bid side (orders, plus liquidity the price has passed, which holds USDC) into a seller's price:
Sell
Gets (USDC)
Avg $/QTC
10 QTC
201.13
20.11
100
2,002.50
20.03
880
14,787.76
16.80
2,000
25,361.45
12.68
5,000
43,206.26
8.64
What
A bid side panel on /:chain/market/ref-dcl, read with view calls once a minute (same cadence and view_urls as the pool state in #37), stored as a series.
Bid composition over time (stacked):
limit-order USDC (total_order_x)
liquidity USDC: total_x − total_order_x, which includes the net USDC buyers paid in
net swap USDC (volume_x_in − volume_x_out) as a line. This separates organic buying from posted orders, which can disappear.
The order book as a depth chart, from get_pointorder_range: cumulative USDC against price, both now and as it was a chosen time ago, so added and pulled orders are visible. Store each snapshot's levels, so a level that disappears without filling (cancelled, not taken) can be told apart from one consumed by a swap. The swap index from #37 says which.
What N QTC fetches over time, from quote at fixed sizes (say 10, 100, 1,000 and 5,000 QTC), drawn as average $/QTC. This is the most direct "what would I get" line. It's a computation from on-chain pool state, not a solver's offer. Label it that way, so it doesn't break #27's rule against showing quotes as prices: a seller still pays the solver's spread and the 0.2% pool fee.
Events worth marking on the chart:
a limit level appearing or disappearing
total_order_x moving by ≥ 10%
net swap USDC turning negative over an hour, which means sellers are outpacing buyers
Verify while building
Whether get_pointorder_range caps the point range per call. It answered -800000..800000 in one call today, but that may not hold with more levels.
Whether dcl.ref logs order events. If it does (something like order_added / order_cancelled, possibly with the owner), index them on shard 8 when option B lands (#39). That would give exact add and cancel times and who posts the bids. A view-only series can't show who.
How DCL reports a partially filled order in get_pointorder_range, so a partial fill isn't misread as a partial cancellation.
Guessing who posts the orders before the order events above are confirmed.
## Why
#37 shows the pool's **ask** side: the 150k QTC sell ladder from $20 to $220. For anyone holding QTC, the question is the other side: **how much USDC is there to sell into, at what prices, and is it growing or being pulled?** The market page doesn't answer that, and it changes by the minute.
Before launch on 2026-10-06 (18:00 EEST), the bid side came almost entirely from **limit orders**, not swaps. `get_pool` on pool `17208628…6133a1|qtc.omft.near|2000`:
| Time (EEST) | `total_x` (USDC in pool) | `total_order_x` (limit bids) | Net swap USDC (`volume_x_in − volume_x_out`) |
|---|---|---|---|
| ~09:30 | 3.99 | 0 | ~4 |
| 16:42 | 14,503.62 | 13,500.00 | 1,003.62 |
| 16:49 | 34,003.62 | ~33,000 | 1,003.62 |
| 16:51 | 46,003.62 | **45,000.00** | 1,003.62 |
`get_pointorder_range(pool_id, left_point, right_point)` lists them by price. As of ~17:00 EEST:
| Point | USD/QTC | USDC bid | Cumulative | QTC it absorbs |
|---|---|---|---|---|
| 108,200 | 20.01 | 6,000 | 6,000 | 299.9 |
| 111,080 | 15.00 | 7,500 | 13,500 | 500.0 |
| 115,120 | 10.02 | 9,000 | 22,500 | 898.7 |
| 118,000 | 7.51 | 10,500 | 33,000 | 1,398.3 |
| 122,080 | 4.99 | 12,000 | 45,000 | 2,403.2 |
This is a descending bid ladder, $45k for about 5,500 QTC, **heavier the lower it goes**. That shape catches panic sellers cheaply, and it is exactly what a seller needs to see before deciding when to sell. It can also vanish: limit orders can be cancelled at any time.
The pool's `quote` view turns the whole bid side (orders, plus liquidity the price has passed, which holds USDC) into a seller's price:
| Sell | Gets (USDC) | Avg $/QTC |
|---|---|---|
| 10 QTC | 201.13 | 20.11 |
| 100 | 2,002.50 | 20.03 |
| 880 | 14,787.76 | 16.80 |
| 2,000 | 25,361.45 | 12.68 |
| 5,000 | 43,206.26 | 8.64 |
## What
A **bid side** panel on `/:chain/market/ref-dcl`, read with view calls once a minute (same cadence and `view_urls` as the pool state in #37), stored as a series.
1. **Bid composition over time** (stacked):
- limit-order USDC (`total_order_x`)
- liquidity USDC: `total_x − total_order_x`, which includes the net USDC buyers paid in
- net swap USDC (`volume_x_in − volume_x_out`) as a line. This separates **organic buying** from **posted orders**, which can disappear.
2. **The order book as a depth chart**, from `get_pointorder_range`: cumulative USDC against price, both now and as it was a chosen time ago, so **added and pulled orders** are visible. Store each snapshot's levels, so a level that disappears without filling (cancelled, not taken) can be told apart from one consumed by a swap. The swap index from #37 says which.
3. **What N QTC fetches over time**, from `quote` at fixed sizes (say 10, 100, 1,000 and 5,000 QTC), drawn as average $/QTC. This is the most direct "what would I get" line. **It's a computation from on-chain pool state, not a solver's offer.** Label it that way, so it doesn't break #27's rule against showing quotes as prices: a seller still pays the solver's spread and the 0.2% pool fee.
4. **Events worth marking on the chart:**
- a limit level appearing or disappearing
- `total_order_x` moving by ≥ 10%
- net swap USDC turning negative over an hour, which means sellers are outpacing buyers
## Verify while building
- **Whether `get_pointorder_range` caps the point range per call.** It answered `-800000..800000` in one call today, but that may not hold with more levels.
- **Whether `dcl.ref` logs order events.** If it does (something like `order_added` / `order_cancelled`, possibly with the owner), index them on shard 8 when option B lands (#39). That would give exact add and cancel times and **who** posts the bids. A view-only series can't show who.
- **How DCL reports a partially filled order** in `get_pointorder_range`, so a partial fill isn't misread as a partial cancellation.
## Not in scope
- **Solver quotes** (#27).
- **Guessing who posts the orders** before the order events above are confirmed.
2026-10-06 ~17:25 EEST: the live ladder leaves out the bid book
/v1/chains/quantus/ref/pools reports counter_held102,003.62 USDC, up from 45,000 at 16:51. The ladder on /quantus/market/ref-dcl shows only ~1,001 USDC of bids: 0.011 + 988.30 in two liquidity ranges, plus 13.29 at the current point.
The cause: the ladder is built from get_liquidity_range alone, so no limit order appears in it. About 101k USDC of posted bids is invisible, and a seller reading the ladder sees almost no bid side. The "USDC in the pool" field is right; the ladder under it is wrong by omission. Fixing that is the first part of this issue, ahead of the series.
Link to #39 item 5: the direct-call scan shipped in e78e627 already queues every transaction that calls the pool from shards 4 and 8, which includes order adds and cancels by whitelisted accounts. refdcl::fetch reads each whole but parses only swap events. If dcl.ref logs order events, parsing them there gives exact add and cancel times, and the posting account, with no new scan. Orders placed from other shards would still be missed, the same limit as for swaps.
## 2026-10-06 ~17:25 EEST: the live ladder leaves out the bid book
`/v1/chains/quantus/ref/pools` reports `counter_held` **102,003.62 USDC**, up from 45,000 at 16:51. The ladder on `/quantus/market/ref-dcl` shows only **~1,001 USDC of bids**: 0.011 + 988.30 in two liquidity ranges, plus 13.29 at the current point.
The cause: the ladder is built from `get_liquidity_range` alone, so no limit order appears in it. About 101k USDC of posted bids is invisible, and a seller reading the ladder sees almost no bid side. The "USDC in the pool" field is right; the ladder under it is wrong by omission. Fixing that is the first part of this issue, ahead of the series.
**Link to #39 item 5:** the direct-call scan shipped in `e78e627` already queues every transaction that calls the pool from shards 4 and 8, which includes order adds and cancels by whitelisted accounts. `refdcl::fetch` reads each whole but parses only `swap` events. If `dcl.ref` logs order events, parsing them there gives exact add and cancel times, and the posting account, with no new scan. Orders placed from other shards would still be missed, the same limit as for swaps.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Why
#37 shows the pool's ask side: the 150k QTC sell ladder from $20 to $220. For anyone holding QTC, the question is the other side: how much USDC is there to sell into, at what prices, and is it growing or being pulled? The market page doesn't answer that, and it changes by the minute.
Before launch on 2026-10-06 (18:00 EEST), the bid side came almost entirely from limit orders, not swaps.
get_poolon pool17208628…6133a1|qtc.omft.near|2000:total_x(USDC in pool)total_order_x(limit bids)volume_x_in − volume_x_out)get_pointorder_range(pool_id, left_point, right_point)lists them by price. As of ~17:00 EEST:This is a descending bid ladder, $45k for about 5,500 QTC, heavier the lower it goes. That shape catches panic sellers cheaply, and it is exactly what a seller needs to see before deciding when to sell. It can also vanish: limit orders can be cancelled at any time.
The pool's
quoteview turns the whole bid side (orders, plus liquidity the price has passed, which holds USDC) into a seller's price:What
A bid side panel on
/:chain/market/ref-dcl, read with view calls once a minute (same cadence andview_urlsas the pool state in #37), stored as a series.total_order_x)total_x − total_order_x, which includes the net USDC buyers paid involume_x_in − volume_x_out) as a line. This separates organic buying from posted orders, which can disappear.get_pointorder_range: cumulative USDC against price, both now and as it was a chosen time ago, so added and pulled orders are visible. Store each snapshot's levels, so a level that disappears without filling (cancelled, not taken) can be told apart from one consumed by a swap. The swap index from #37 says which.quoteat fixed sizes (say 10, 100, 1,000 and 5,000 QTC), drawn as average $/QTC. This is the most direct "what would I get" line. It's a computation from on-chain pool state, not a solver's offer. Label it that way, so it doesn't break #27's rule against showing quotes as prices: a seller still pays the solver's spread and the 0.2% pool fee.total_order_xmoving by ≥ 10%Verify while building
get_pointorder_rangecaps the point range per call. It answered-800000..800000in one call today, but that may not hold with more levels.dcl.reflogs order events. If it does (something likeorder_added/order_cancelled, possibly with the owner), index them on shard 8 when option B lands (#39). That would give exact add and cancel times and who posts the bids. A view-only series can't show who.get_pointorder_range, so a partial fill isn't misread as a partial cancellation.Not in scope
2026-10-06 ~17:25 EEST: the live ladder leaves out the bid book
/v1/chains/quantus/ref/poolsreportscounter_held102,003.62 USDC, up from 45,000 at 16:51. The ladder on/quantus/market/ref-dclshows only ~1,001 USDC of bids: 0.011 + 988.30 in two liquidity ranges, plus 13.29 at the current point.The cause: the ladder is built from
get_liquidity_rangealone, so no limit order appears in it. About 101k USDC of posted bids is invisible, and a seller reading the ladder sees almost no bid side. The "USDC in the pool" field is right; the ladder under it is wrong by omission. Fixing that is the first part of this issue, ahead of the series.Link to #39 item 5: the direct-call scan shipped in
e78e627already queues every transaction that calls the pool from shards 4 and 8, which includes order adds and cancels by whitelisted accounts.refdcl::fetchreads each whole but parses onlyswapevents. Ifdcl.reflogs order events, parsing them there gives exact add and cancel times, and the posting account, with no new scan. Orders placed from other shards would still be missed, the same limit as for swaps.