Egress

The measurement

The same book, priced twice

A tokenized stock trades around the clock. The market that prices the share underneath it does not. When New York is shut, a market maker cannot hedge, so the quote widens - and the holder who needs out pays for it. Median spread across every quoted name: 235 bp while the US market is shut, 11 bp while it is open.

Spread by market phase

Every row is a median across every quoted symbol of that type in every snapshot taken during that phase. Phase is decided from the venue timestamp, not from the clock on the machine that ran the crawl.

Market phaseListed 30d+ Listed under 30dCrypto controlRatio Snapshots
open6.7 bp13.1 bp12.7 bp0.5x1812
pre109.3 bp945.6 bp12.4 bp8.8x1236
post74.3 bp348.5 bp12.4 bp6.0x768
overnight63.2 bp397.0 bp12.4 bp5.1x2271
weekend111.9 bp443.9 bp12.5 bp9.0x2395

Why the control column matters. The crypto pairs trade on the same venue, through the same matching engine, under the same fee schedule. Their liquidity has no reason to care whether the NYSE is open. If both columns moved together the effect would be venue-wide and this whole site would be wrong.

The worst hour to leave is not the middle of the night

Splitting the closed window into pre-market, after-hours and the genuinely shut hours was expected to flatter the overnight figure: the reference venue quotes in pre and post, thinly, so a maker can still hedge there. It did the opposite. Established names sit at 6.7 bp while New York trades, 63.2 bp in the shut hours, 74.3 bp after the close - and 109.3 bp in the pre-market, the widest of the four. The hour before the opening bell is the most expensive time to leave a tokenized stock, and it is the hour a holder reacting to overnight news is most likely to be trying to.

Why the split, and what it found

Splitting by how long a name has been listed was not cosmetic. Overnight, names listed thirty days or more sit at 63 bp; names listed more recently sit at 397 bp - 6x wider. A median over every listed name blends the two into 235 bp, which is why it moves when Bitget lists in bulk rather than when liquidity changes. Listing age predicts overnight spread better than anything else measured here, and a new listing is exactly the position a holder is least likely to know is expensive to leave.

This is a record in progress, not a finished study. The snapshot count behind each row is printed above so you can see how thin it still is. Nothing here is a claim about the future.

What a row does not say

A median spread is not a cost. It is the price of the first share, not of the position. What the position costs depends on size, and that is the method page. Whether the quote behind the spread is real at all is the validation page.

One research task, frozen

The desk on the front page needs JavaScript and a POST, which makes it unreadable to anyone browsing with scripts off. This is one real run of it, recorded and written into this page as plain HTML — the same question a holder would ask, and the answer that came back, including the parts that did not work.

Captured 2026-09-22T16:48:17+00:00 from POST /api/ask on the live site. A recording of one moment, not a live figure. The book it was priced against has moved since.

what does leaving 40k of TSLA cost?

11 bp to leave 40,000 USDT - about 43 USDT. 0.8 bp of that is the book, 10 bp the assumed taker fee.

Symbol
RTSLAUSDT
Session
open
Filled
39,997 of 40,000 USDT
Book behind it
515,385 USDT
Book exhausted
no
Slippage
0.76 bp
Assumed taker fee
10 bp
Listed share (equity_price_quote)
377.105 · token 376.735 · basis -9.8 bp
bitget-signal (context only)
no reply inside 6s; the scheduled probe last got 44 feeds and 0 articles at 2026-09-22T10:03:23+00:00

Split as bounds: 1× 10.76–10.76 bp, 4× 10.13–10.76 bp, 12× 10.13–10.76 bp. The best case assumes the book refills between clips; the worst assumes it never does.

Leaving 40,000 USDT of RTSLAUSDT costs about 11 bp (43 USDT) in one clip, with the open book as it stands.

what does leaving 5k of RIOT cost?

>12 bp to leave 5,000 USDT - about >6 USDT. 2.0 bp of that is the book, 10 bp the assumed taker fee.

Symbol
RRIOTUSDT
Session
open
Filled
2,965 of 5,000 USDT
Book behind it
2,965 USDT
Book exhausted
yes
Slippage
2.02 bp
Assumed taker fee
10 bp
Listed share (equity_price_quote)
24.58 · token 24.715 · basis 54.9 bp
bitget-signal (context only)
no reply inside 6s; the scheduled probe last got 44 feeds and 0 articles at 2026-09-22T10:03:23+00:00

Split as bounds: 1× 12.02–12.02 bp, 4× 12.02–12.02 bp, 12× 12.02–12.02 bp. The best case assumes the book refills between clips; the worst assumes it never does.

Leaving 5,000 USDT of RRIOTUSDT costs about >12 bp (>6 USDT) in one clip, with the open book as it stands. The venue showed no depth for this symbol, only a top-of-book quote, so this is a floor and the real cost is higher.

Why two names. The first fills: the book carries the whole order and the answer is a price. The second does not, and the desk degrades to a floor it marks with > rather than quoting a number it cannot stand behind. A single worked example would only have shown the half that works.

What is not validated yet

We cannot validate the liquid names, and that is the honest state of it. The validation page excludes 6 symbols — RNVDAUSDT, RTSLAUSDT, RAAPLUSDT, RMSFTUSDT, RSYKUSDT and RPBRUSDT — because two of the venue's own volume feeds disagree about them: the candle volume runs 11.8× to 23.8× the 24h turnover the ticker reports for the same symbol. Which feed is right is not something this project can settle from outside, and scoring a prediction against a number that may be wrong would be worse than not scoring it. So the overnight widening holds as a quote, across every name the crawl can see. It is not yet established as a fill on the names most people actually hold. Those are the symbols where it matters most, and they are the ones still outstanding.

This gate moves. It is re-measured on every build from the last twenty-four hours, and a name that passes it today can fail tomorrow: on 2026-09-28 it excluded six symbols in the morning and two by the afternoon. So this section reports what the last run found rather than a settled state, and the overnight widening is stated as a quote wherever it has not been scored as a fill.

The same book, read twice

Every figure on this site comes through one HTTP client, and a bug in that client would look exactly like a property of the market. Since the argument here is that the venue's own numbers do not always agree with each other, the same scepticism is owed to our own reads. So the same exit is priced a second time through the Bitget Agent Hub CLI — a different SDK, in a different process, with no credentials — and both are costed by the same code, so any gap is the book and not the arithmetic.

Both clients asked for the same 25,000 USDT exit, 2026-10-22T10:45:40+00:00. 9 of 9 could be compared; 9 agree within 0.5 bp.

SymbolThis siteAgent HubGapVerdict
RNVDAUSDT11.84 bp11.84 bp0.00 bpagree
RTSLAUSDT12.42 bp12.42 bp0.00 bpagree
RAAPLUSDT11.46 bp11.46 bp0.00 bpagree
RMSFTUSDT13.88 bp13.88 bp0.00 bpagree
RSYKUSDT130.82 bp130.82 bp0.00 bpagree
RPBRUSDT46.67 bp46.67 bp0.00 bpagree
BTCUSDT10.00 bp10.00 bp0.00 bpagree
ETHUSDT10.02 bp10.02 bp0.00 bpagree
SOLUSDT11.29 bp11.20 bp0.09 bpagree

What agreement does and does not prove. It does not prove the cost is right; both clients read the same exchange and would inherit the same error. It does rule out our transport as the explanation, which was previously unchecked. The two reads are sequential and seconds apart on a live book, so a sub-bp gap is the market moving between them rather than a disagreement — which is why the threshold exists and is printed rather than hidden. The failures are the interesting rows: where the Hub cannot return a two-sided book at all, that is a second client independently finding the same thinness that got those names excluded from validation.