30 seconds of saved NO quotes before each API trade timestamp. Rust samples every 500ms in a fixed fifteen-minute ring; HT's latest two trades are polled every minute. More than two trades between polls can be missed. Quiet quotes retain their original receipt time.
0s is the public API trade timestamp, not a verified execution instant. Its one-second precision and clock alignment do not establish ordering. A book change before 0s may already reflect HT's own trade. NO quotes are shown even for YES trades.
Green: NO bid / Orange: NO ask / Blue: spread. Missing values break the lines.
| Checkpoint | Actual offset s | Bid c | Ask c | Spread c | State |
|---|
| Sample UTC | Seconds vs API trade | NO bid c | NO ask c | Spread c | Quote received UTC | Quote age s | Book state |
|---|
P copies all saved samples with headers, including unchanged quotes. A missing ask is not a zero spread. Complete sampling coverage does not mean both sides were available.
Saved trades
| Market / outcome | Trade UTC | Side | Shares | Price c | Value $ | -10s bid / ask | spread c | Last two-sided bid / ask | spread c | Lead-in change | Last sample / coverage |
|---|