Liquidity recycling engine · BTC/USDT perpetuals · Binance · Bybit · OKX · 2026-10-02

Astra Evidence Log

Five recorded public sessions ( hours), three tests, every number regenerated from the recordings. Fills are simulated against public order books; no order was ever sent. P&L is in USDT per BTC traded, after retail fees.

Test 1 · pre-registered in commit , results in

Does waiting for a void revisit pick better trades?

The gated strategy (variant P2) and an ungated control share the same exits: take profit at +450 ticks, otherwise leave at the touch after 60 s, both fills paying 0.02%. Bars show the mean net result per round trip with ±1 standard error.

Ungated control Void-revisit gate (P2)
Every round trip

Gated trades land inside the control's spread

Each dot is one round trip of 0.001 BTC in sessions B–E, scaled to USDT per BTC. The cluster at about +10.8 is the take-profit exit after fees; the long left tail is the 60 s exit after the price moved away. The dashed line marks the round-trip maker fee.

Test 2 · exploratory, sessions B–E

Loosening the two-sided entry only multiplies the loss

From the shipped scopes (L0) to quoting both sides whenever flat (ungated dual), trades rise from about one per session to hundreds per hour, while the loss per trip stays near −46 to −51 USDT per BTC.

Round trips per hour

Mean net per round trip, ±1 SE

Session detail

Where the detector could see, and what fills cost

Left: the composite midpoint against the research corridor fixed at session start; dots mark observed void revisits. In session E the price left the corridor after about 12 minutes, after which no void could form. Right: the fill study's mean markout per BTC after a passive fill at the touch (proportional queue model, 50 ms latency), against the maker fee per fill and the unconditional spread of midpoint moves.

Session

Price within the research corridor

Markout after a passive fill

Test 3 · exploratory, all sessions

After a mega pump, the next candle continues no more often than any candle

A pump is a candle whose move is at least 3σ or 5σ of the previous 120 candles. Amber is how often the next candle moves the same way; slate is the base rate for every pair of candles. When a continuation happens it is brief, and even its full excursion is smaller than the 0.05% + 0.05% taker fees a momentum entry pays.

Next candle continues after a pump Base rate, any candle
Evidence ledger

Recordings behind every number

The recordings are not published: exchange terms forbid redistributing them. Each replays to the identical engine state and inventory journal, and its SHA-256 is listed here and in docs/evidence/recordings.sha256, so anyone holding the files can verify them.

Regenerate this page

cargo build --release -p cli --locked
python3 scripts/momentum.py $RECORDINGS docs/evidence/momentum.json
python3 scripts/build-evidence.py $RECORDINGS
python3 scripts/render-evidence.py