Protective ruling card
- Card
- prot-547a4850632dd0d4244a3ca239c27df5
- At
- 2026-09-27 15:06 UTC
- Decision id
- —
- Ruling id
- 547a4850632dd0d4244a3ca239c27df55783441beb1748f48913ca7d0d7fe52a
- Outcome
- —
- Raw JSON
- prot-547a4850632dd0d4244a3ca239c27df5.json
What the risk kernel ruled
It can only shrink, refuse or close.
- Ruling
- 547a4850632dd0d4244a3ca239c27df55783441beb1748f48913ca7d0d7fe52a
- At
- 2026-09-27 15:06 UTC
- Answers
- protective: venue_integrity
- Breaker
- active → active
- Guards applied
- G1_venue_integrity, G2_weekend_freeze, G5_daily_kill, G10_breaker
| instrument | held | asked | approved | set by |
|---|---|---|---|---|
| BTCUSDT | +4.96% | hold | 0 (flat) | G1_venue_integrity |
Book-level guards
| guard | status | ceiling | reason |
|---|---|---|---|
| G5 daily kill | passed | — | day return within the -1.5% kill basis and inputsEnvelope simulation uses a -1.5% daily kill (envelope_clean.py) {
"day_open_equity": "49999.97612376",
"day_return": -0.0002863481515383438,
"equity": "49985.65872302",
"kill_at": -0.015
} |
| G10 breaker | passed | — | breaker active; snapshot and quote fresh basis and inputs2.5% is past the worst no-edge 72h drawdown (-2.48%, envelope_clean.json); losing-streak and staleness rules ported from ARGUS risk/circuit.py (MIT); a model outage never leads to a deterministic trade (DESIGN.md §9.5) {
"book_demands": "active",
"book_trips": "",
"breaker_state": "active",
"breaker_trips": "",
"consecutive_losses": 0.0,
"drawdown": -0.0003644728893276236,
"effective": "active",
"llm_outage": false
} |
BTCUSDT: every guard
| guard | status | ceiling | reason |
|---|---|---|---|
| G1 venue integrity | fired | exit | exit: Demo last 84328.6 is 8.3 bps from live 84398.8, beyond the measured p99 of 8.3 bps basis and inputsDemo flash prints (BTCUSDT Demo mark 65.6% from its index, 2026-06-29 00:00 UTC); excursion counts and p99 gaps in demo_integrity.json and fade_demo.json; weekend Demo index moves 0.1-1.5 bps/h vs 18-66 bps/h on weekdays (weekend_vol.json) {
"demo_index": "84419.4553599200304622",
"demo_index_move_bps_3h": 32.21225178904885,
"demo_last": "84328.6",
"demo_live_gap_bps": 8.317653805504344,
"demo_live_p99_bps": 8.3,
"demo_mark": "84374.6",
"live_last": "84398.8",
"mark_index_gap": 0.0005313391294552999,
"mark_index_limit": 0.03,
"session_open": true,
"stale_index_min_move_bps_3h": 2.0
} |
| G2 weekend freeze | not applicable | — | crypto trades through the weekend on Demo basis and inputsUTA Demo does not track these perps on weekends. Mostly it freezes: weekend mean |1H move| of the Demo index 0.1-1.5 bps against 5.6-29.1 bps live (weekend_vol.json); MSTR +204 bps live vs +5 bps Demo from Saturday 00:00 to 12:00 UTC on 2026-09-19. Sometimes it jumps on its own: AAPL +80 bps Demo vs +17 bps live on 2026-09-12 (fade_demo2.txt) {
"asset_class": "crypto"
} |
| G5 daily kill | passed | — | day return within the -1.5% kill basis and inputsEnvelope simulation uses a -1.5% daily kill (envelope_clean.py) {
"day_open_equity": "49999.97612376",
"day_return": -0.0002863481515383438,
"equity": "49985.65872302",
"kill_at": -0.015
} |
| G10 breaker | passed | — | breaker active; snapshot and quote fresh basis and inputs2.5% is past the worst no-edge 72h drawdown (-2.48%, envelope_clean.json); losing-streak and staleness rules ported from ARGUS risk/circuit.py (MIT); a model outage never leads to a deterministic trade (DESIGN.md §9.5) {
"book_demands": "active",
"book_trips": "",
"breaker_state": "active",
"breaker_trips": "",
"consecutive_losses": 0.0,
"drawdown": -0.0003644728893276236,
"effective": "active",
"llm_outage": false,
"quote_age_seconds": 17.470625,
"snapshot_age_seconds": 235.424123
} |
What was sent and what came back
- clientOid
- sad5a9b03a2b969f2d0ee0c557e87053
- Venue orderId
- 1488120811372302336
- Stop
- —
- Net P&L realised
- -13.26 USDT
Dry-run preview (what Agent Hub would send)
order --action place --category USDT-FUTURES --symbol BTCUSDT --side sell --orderType market --qty 0.0294 --clientOid sad5a9b03a2b969f2d0ee0c557e87053 --posSide long --paper-trading --dry-run
{
"category": "USDT-FUTURES",
"clientOid": "sad5a9b03a2b969f2d0ee0c557e87053",
"orderType": "market",
"posSide": "long",
"qty": "0.0294",
"side": "sell",
"symbol": "BTCUSDT"
}| exec id | side | qty | price | fee | open/close | at |
|---|---|---|---|---|---|---|
| 1488120811379470336 | sell | 0.0294 | 84410.2 | 1.48899592 | — | 2026-09-27 15:06 UTC |
Proof
Read from ledger rows 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284 of ledger.jsonl; every blob those rows commit to is below, named by its SHA-256.
| blob | media type | bytes |
|---|---|---|
| bbefb6712c6aa94d90034d0c9e8a2fa920643b6c08aba24262f0805654eb60df | application/vnd.t2sa.ruling-context+json | 16889 |
| 7208fc2304b4f2351696717e333c5f2ba3c5ea9f99fb1d72c4064f37c08942d4 | application/json | 728 |
| 6ec4b0a2834455a586776bb9318d9f1c7598bedc42660d860f4442304ea8abc5 | application/json | 511 |
| e853450b7922404bf95876e77df231ab3a30faa8c847fe3460392cbb9e82e2d5 | application/json | 911 |