Wallet
$99.66
−$0.3371 vs $100.00 contributed
NAV / unit0.996629
Units100.0000
Return-0.337%
Unrealised−$0.0059
Mean pair R
-0.010
real-money pairs only · n = 7
Best+0.749
Worst-1.057
Median+0.015
Sum-0.067
Floor breaches
1 ✓
resolved — all predate the 15 Aug ratchet fix, none since
Breach rate14.3%
Worst breach-1.057
Unresolvednone
Since fix5 pairs, 0 breaches
Selectivity
324
spikes evaluated → 10 taken (3.1%)
Gatervol 100 / 4σ
Risk / leg$0.7475
Worst case / pair−2R
Open cap1
Open now
| Symbol | Side | Entry | Mark | Unreal R | Peak R | Lock | Age | |
|---|---|---|---|---|---|---|---|---|
| STABLE | LONG | 0.03000000 | 0.03026525 | +0.209 | +0.481 | none | 2.6h | |
| STABLE | SHORT | 0.02999000 | 0.03026525 | -0.217 | +0.101 | none | 2.6h |
An open straddle sits near 0 gross R by construction — the two unrealised R values should very nearly cancel. A large sum means one leg already stopped.
Pair sequence 9 closed
JASMCROSALICWLFICOWTAGHEMISPORGPS
One tile per pair in decision order. Faded = shadow (no money moved). Red = floor breach. A calendar heat-map would be 99%% empty at this age; this is the honest version.
Symbol
STABLE
spike 435 · opened 2.6h ago
Stop distance0.00126786
Risk / leg$0.7468
Notional$17.71
Leverage5x CROSSED
LONG
+0.209
mark 0.03026525
Entry0.03000000
Stop resting0.02873000
Peak R+0.481
Lockednot yet
Stop gen1
To stop5.07%
SHORT
-0.217
mark 0.03026525
Entry0.02999000
Stop resting0.03126000
Peak R+0.101
Lockednot yet
Stop gen1
To stop3.29%
Pair gross
-0.008
the two legs should very nearly cancel
While both legs are live the pair is delta-flat: any sum far from zero means one leg has already stopped and the book is now carrying a naked directional position.
Why this spike was taken
rvol
227.75
gate ≥ 100
z-score
387.60
gate |σ| ≥ 4
15m move
2.69%
Decision lag
156s
freshness window 20 min
Executor
active
bothways-exec.serviceWatchdog timer
active
bothways-watchdog.timerDashboard timer
active
bothways-dashboard.timerScanner feed
7m
spike source age
Live configuration 17 keys
| Key | Value |
|---|---|
BOOK | BOTHWAYS_TIGHT |
BOTHWAYS_EQUITY_CAP | 100.0 |
BOTHWAYS_RISK_PER_LEG | 0.0075 |
DD_HALT_PCT | 0.25 |
GONE_STRIKES | 3 |
LEVERAGE | 5 |
LOSS_COOLDOWN_H | 6.0 |
MARGIN_MODE | CROSSED |
MAX_OPEN_PAIRS | 1 |
MAX_STALE_MIN | 20 |
MIN_MOVE_SIGMA | 4.0 |
MIN_RVOL_BOOK | 100.0 |
RATCHET_STEP | 0.1 |
RATCHET_TRIG | 1.0 |
STOP_ATR | 2.5 |
TIMEOUT_H | 192 |
WORKING_TYPE | MARK_PRICE |
Read through
cfg_get(), which raises on an unknown key. An unlisted knob silently returning a getattr default is how MIN_LOT_FLOOR stayed inert from the day it shipped.Watchdog history every 15 min
| When (UTC) | Status | Detail |
|---|---|---|
| 2026-08-16 17:30:02 | OK | restarts=0 rss=87MB heartbeat=0.1min pairs=324 taken=10 legs_open=2 legs_closed=19 dry_run=0 scanner=12min live_positions=2 wallet=$99.66 |
| 2026-08-16 17:15:03 | OK | restarts=0 rss=87MB heartbeat=0.1min pairs=324 taken=10 legs_open=2 legs_closed=19 dry_run=0 scanner=12min live_positions=2 wallet=$99.66 |
| 2026-08-16 17:00:02 | OK | restarts=0 rss=88MB heartbeat=0.1min pairs=324 taken=10 legs_open=2 legs_closed=19 dry_run=0 scanner=12min live_positions=2 wallet=$99.66 |
| 2026-08-16 16:45:02 | OK | restarts=0 rss=88MB heartbeat=0.1min pairs=323 taken=10 legs_open=2 legs_closed=19 dry_run=0 scanner=12min live_positions=2 wallet=$99.66 |
| 2026-08-16 16:30:04 | OK | restarts=0 rss=90MB heartbeat=0.1min pairs=321 taken=10 legs_open=2 legs_closed=19 dry_run=0 scanner=12min live_positions=2 wallet=$99.66 |
| 2026-08-16 16:15:02 | OK | restarts=0 rss=90MB heartbeat=0.1min pairs=319 taken=10 legs_open=2 legs_closed=19 dry_run=0 scanner=11min live_positions=2 wallet=$99.66 |
| 2026-08-16 16:00:04 | OK | restarts=0 rss=90MB heartbeat=0.1min pairs=318 taken=10 legs_open=2 legs_closed=19 dry_run=0 scanner=13min live_positions=2 wallet=$99.66 |
| 2026-08-16 15:45:01 | OK | restarts=0 rss=89MB heartbeat=0.1min pairs=317 taken=10 legs_open=2 legs_closed=19 dry_run=0 scanner=12min live_positions=2 wallet=$99.66 |
| 2026-08-16 15:30:03 | OK | restarts=0 rss=90MB heartbeat=0.1min pairs=316 taken=10 legs_open=2 legs_closed=19 dry_run=0 scanner=13min live_positions=2 wallet=$99.66 |
| 2026-08-16 15:15:03 | OK | restarts=0 rss=89MB heartbeat=0.1min pairs=316 taken=10 legs_open=2 legs_closed=19 dry_run=0 scanner=13min live_positions=2 wallet=$99.66 |
| 2026-08-16 15:00:03 | OK | restarts=0 rss=87MB heartbeat=0.1min pairs=314 taken=9 legs_open=0 legs_closed=19 dry_run=0 scanner=12min live_positions=0 wallet=$99.68 |
| 2026-08-16 14:45:03 | OK | restarts=0 rss=87MB heartbeat=0.1min pairs=314 taken=9 legs_open=0 legs_closed=19 dry_run=0 scanner=13min live_positions=0 wallet=$99.68 |
| 2026-08-16 14:30:02 | OK | restarts=0 rss=87MB heartbeat=0.1min pairs=314 taken=9 legs_open=0 legs_closed=19 dry_run=0 scanner=12min live_positions=0 wallet=$99.68 |
| 2026-08-16 14:15:03 | OK | restarts=0 rss=86MB heartbeat=0.1min pairs=312 taken=9 legs_open=0 legs_closed=19 dry_run=0 scanner=13min live_positions=0 wallet=$99.68 |
| 2026-08-16 14:00:02 | OK | restarts=0 rss=86MB heartbeat=0.1min pairs=311 taken=9 legs_open=0 legs_closed=19 dry_run=0 scanner=12min live_positions=0 wallet=$99.68 |
| 2026-08-16 13:45:02 | OK | restarts=0 rss=86MB heartbeat=0.1min pairs=310 taken=9 legs_open=0 legs_closed=19 dry_run=0 scanner=12min live_positions=0 wallet=$99.68 |
| 2026-08-16 13:30:02 | OK | restarts=0 rss=86MB heartbeat=0.1min pairs=310 taken=9 legs_open=0 legs_closed=19 dry_run=0 scanner=12min live_positions=0 wallet=$99.68 |
| 2026-08-16 13:15:01 | OK | restarts=0 rss=86MB heartbeat=0.1min pairs=310 taken=9 legs_open=0 legs_closed=19 dry_run=0 scanner=13min live_positions=0 wallet=$99.68 |
| 2026-08-16 13:00:03 | OK | restarts=0 rss=86MB heartbeat=0.1min pairs=310 taken=9 legs_open=0 legs_closed=19 dry_run=0 scanner=12min live_positions=0 wallet=$99.68 |
| WARN: 1 error li | WARN | in the last 32 min |
| 2026-08-16 12:53:36 | WARN | restarts=0 rss=86MB heartbeat=0.0min pairs=310 taken=9 legs_open=0 legs_closed=19 dry_run=0 scanner=6min live_positions=0 wallet=$99.68 |
| WARN: 1 error li | WARN | in the last 32 min |
| 2026-08-16 12:45:51 | WARN | restarts=0 rss=84MB heartbeat=0.1min pairs=309 taken=9 legs_open=0 legs_closed=19 dry_run=0 scanner=13min live_positions=0 wallet=$99.68 |
| WARN: 1 error li | WARN | in the last 32 min |
| 2026-08-16 12:45:03 | WARN | restarts=0 rss=84MB heartbeat=0.1min pairs=309 taken=9 legs_open=0 legs_closed=19 dry_run=0 scanner=12min live_positions=0 wallet=$99.68 |
| WARN: 1 error li | WARN | in the last 32 min |
| 2026-08-16 12:30:04 | WARN | restarts=0 rss=84MB heartbeat=0.1min pairs=309 taken=9 legs_open=0 legs_closed=19 dry_run=0 scanner=12min live_positions=0 wallet=$99.68 |
| WARN: 1 error li | WARN | in the last 32 min |
| 2026-08-16 12:28:27 | WARN | restarts=0 rss=84MB heartbeat=0.0min pairs=309 taken=9 legs_open=0 legs_closed=19 dry_run=0 scanner=10min live_positions=0 wallet=$99.68 |
| 2026-08-16 12:15:02 | OK | restarts=0 rss=86MB heartbeat=0.1min pairs=309 taken=9 legs_open=2 legs_closed=17 dry_run=0 scanner=12min live_positions=2 wallet=$99.71 |
| 2026-08-16 12:00:02 | OK | restarts=0 rss=86MB heartbeat=0.2min pairs=308 taken=9 legs_open=2 legs_closed=17 dry_run=0 scanner=13min live_positions=2 wallet=$99.71 |
| 2026-08-16 11:45:02 | OK | restarts=0 rss=86MB heartbeat=0.2min pairs=307 taken=9 legs_open=2 legs_closed=17 dry_run=0 scanner=13min live_positions=2 wallet=$99.71 |
| 2026-08-16 11:30:03 | OK | restarts=0 rss=84MB heartbeat=0.1min pairs=306 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=12min live_positions=0 wallet=$99.72 |
| 2026-08-16 11:29:04 | OK | restarts=0 rss=84MB heartbeat=0.1min pairs=306 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=11min live_positions=0 wallet=$99.72 |
| 2026-08-16 11:15:03 | OK | restarts=0 rss=86MB heartbeat=0.0min pairs=305 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=12min live_positions=0 wallet=$99.72 |
| 2026-08-16 11:00:04 | OK | restarts=0 rss=86MB heartbeat=0.0min pairs=303 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=13min live_positions=0 wallet=$99.72 |
| 2026-08-16 10:45:03 | OK | restarts=0 rss=86MB heartbeat=0.0min pairs=303 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=12min live_positions=0 wallet=$99.72 |
| 2026-08-16 10:30:03 | OK | restarts=0 rss=85MB heartbeat=0.0min pairs=302 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=13min live_positions=0 wallet=$99.72 |
| 2026-08-16 10:15:03 | OK | restarts=0 rss=86MB heartbeat=0.0min pairs=302 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=13min live_positions=0 wallet=$99.72 |
| 2026-08-16 10:00:04 | OK | restarts=0 rss=85MB heartbeat=0.0min pairs=301 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=13min live_positions=0 wallet=$99.72 |
| 2026-08-16 09:45:03 | OK | restarts=0 rss=86MB heartbeat=0.0min pairs=299 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=12min live_positions=0 wallet=$99.72 |
| 2026-08-16 09:33:29 | OK | restarts=0 rss=86MB heartbeat=0.1min pairs=299 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=1min live_positions=0 wallet=$99.72 |
| 2026-08-16 09:30:03 | OK | restarts=0 rss=89MB heartbeat=0.1min pairs=299 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=13min live_positions=0 wallet=$99.72 |
| 2026-08-16 09:15:03 | OK | restarts=0 rss=88MB heartbeat=0.0min pairs=299 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=13min live_positions=0 wallet=$99.72 |
| 2026-08-16 09:00:03 | OK | restarts=0 rss=88MB heartbeat=0.1min pairs=299 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=12min live_positions=0 wallet=$99.72 |
| 2026-08-16 08:45:03 | OK | restarts=0 rss=88MB heartbeat=0.1min pairs=296 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=12min live_positions=0 wallet=$99.72 |
| 2026-08-16 08:30:02 | OK | restarts=0 rss=88MB heartbeat=0.1min pairs=296 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=12min live_positions=0 wallet=$99.72 |
| 2026-08-16 08:15:03 | OK | restarts=0 rss=89MB heartbeat=0.1min pairs=296 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=12min live_positions=0 wallet=$99.72 |
| 2026-08-16 08:00:05 | OK | restarts=0 rss=89MB heartbeat=0.1min pairs=295 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=13min live_positions=0 wallet=$99.72 |
| 2026-08-16 07:45:01 | OK | restarts=0 rss=89MB heartbeat=0.0min pairs=295 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=13min live_positions=0 wallet=$99.72 |
| 2026-08-16 07:30:03 | OK | restarts=0 rss=88MB heartbeat=0.0min pairs=294 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=12min live_positions=0 wallet=$99.72 |
| 2026-08-16 07:15:04 | OK | restarts=0 rss=89MB heartbeat=0.1min pairs=293 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=13min live_positions=0 wallet=$99.72 |
| 2026-08-16 07:00:04 | OK | restarts=0 rss=89MB heartbeat=0.1min pairs=293 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=12min live_positions=0 wallet=$99.72 |
| 2026-08-16 06:45:03 | OK | restarts=0 rss=89MB heartbeat=0.1min pairs=293 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=12min live_positions=0 wallet=$99.72 |
| 2026-08-16 06:30:03 | OK | restarts=0 rss=88MB heartbeat=0.1min pairs=292 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=13min live_positions=0 wallet=$99.72 |
| 2026-08-16 06:15:03 | OK | restarts=0 rss=88MB heartbeat=0.1min pairs=292 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=11min live_positions=0 wallet=$99.72 |
| 2026-08-16 06:00:03 | OK | restarts=0 rss=89MB heartbeat=0.1min pairs=290 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=12min live_positions=0 wallet=$99.72 |
| 2026-08-16 05:45:02 | OK | restarts=0 rss=90MB heartbeat=0.1min pairs=289 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=13min live_positions=0 wallet=$99.72 |
| 2026-08-16 05:30:01 | OK | restarts=0 rss=90MB heartbeat=0.0min pairs=289 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=12min live_positions=0 wallet=$99.72 |
| 2026-08-16 05:15:03 | OK | restarts=0 rss=89MB heartbeat=0.1min pairs=289 taken=8 legs_open=0 legs_closed=17 dry_run=0 scanner=12min live_positions=0 wallet=$99.72 |
An independent process that reconciles the database against the exchange over direct signed REST and fails closed: if it cannot verify, it reports FAIL rather than OK.
Wallet
$99.66
exchange
totalWalletBalanceNAV per unit
0.996629
started at exactly 1.000000
Drawdown from peak
0.29%
halt breaker at 25%
Capital at work
$99.66
sizing cap $100
Wallet curve 245 watchdog marks
Backfilled from
watchdog_history.log. book holds a single row, so this is the only equity history that exists; it is a 15-minute sample, not a tick series.Cumulative R (real money) n = 7
Shadow pairs are excluded. R is the only size-independent unit this book has; dollars move with equity, R does not.
Sum R
-0.067
over 7 real pairs
Std dev of pair R
0.5359
dispersion, not a Sharpe input at this n
Sharpe / Calmar / CAGR
n = 7
suppressed
These need ~100+ observations to mean anything. Rendering them at n=7 would be noise with decimal places. Shown when the sample supports it.
Every pair, one row each n = 7 real 2 shadow 1 open
| Spike | Symbol | Mode | Long R | Short R | Pair R | Gross | Fees | Net | Floor | Age | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 435 | STABLE | shadow | — | — | — | — | — | — | open | 2.6h | |
| 426 | GPS | REAL | +0.982 | -1.001 | -0.019 | −$0.0144 | −$0.0153 | −$0.0297 | held | 6.1h | |
| 387 | SPORTFUN | REAL | +1.757 | -1.008 | +0.749 | +$0.5568 | −$0.0129 | +$0.5439 | held | 22.1h | |
| 369 | HEMI | REAL | +1.010 | -1.019 | -0.008 | −$0.0062 | −$0.0080 | −$0.0142 | held | 26.6h | |
| 346 | TAG | REAL | +1.199 | -0.995 | +0.204 | +$0.1517 | −$0.0099 | +$0.1418 | held | 32.1h | |
| 343 | COW | REAL | +0.985 | -0.935 | +0.050 | +$0.0368 | −$0.0135 | +$0.0233 | held | 32.4h | |
| 321 | WLFI | REAL | -1.016 | +1.030 | +0.015 | +$0.0108 | −$0.0308 | −$0.0200 | held | 45.4h | |
| 292 | ALICE | REAL | -0.066 | -0.991 | -1.057 | −$0.7923 | −$0.0160 | −$0.8083 | breach | 2.2d | |
| 281 | CROSS | shadow | -1.000 | +1.000 | +0.000 | — | — | — | held | 2.3d | |
| 275 | JASMY | shadow | +1.100 | -1.000 | +0.100 | — | — | — | held | 2.4d | |
| TOTAL | 7 real | -0.067 | −$0.0569 | −$0.1063 | −$0.1632 |
The pair is the unit of account. A single leg's R is meaningless here — every straddle is guaranteed exactly one loser, so a leg-level win rate is pinned near 50% by construction and says nothing.
Gross is before commission (
Gross is before commission (
pnl_usd = r_mult × risk_usd, verified to 1e-9). Net subtracts fees and funding. Totals cover real pairs only.Mean winner excess
-0.015
winner R − 1.0 · n = 7
Median
+0.010
Best
+0.757
Loser mean
-0.995
should sit just under −1R
Winner vs loser, per pair n = 7
| Symbol | Winner | Winner R | Peak R | Lock | Excess | Given back | Loser R | Pair R | Solo window |
|---|---|---|---|---|---|---|---|---|---|
| SPORTFUN | LONG | +1.757 | +1.850 | +1.802 | +0.757 | +0.093 | -1.008 | +0.749 | 16.0m |
| TAG | LONG | +1.199 | +1.215 | +1.199 | +0.199 | +0.016 | -0.995 | +0.204 | 8.0m |
| WLFI | SHORT | +1.030 | +1.030 ⚠ | none | +0.030 | +0.000 | -1.016 | +0.015 | 5.7m |
| HEMI | LONG | +1.010 | +1.010 ⚠ | +0.999 | +0.010 | +0.000 | -1.019 | -0.008 | 10s |
| COW | LONG | +0.985 | +1.176 | +1.098 | -0.015 | +0.191 | -0.935 | +0.050 | 2.7m |
| GPS | LONG | +0.982 | +1.021 | +1.001 | -0.018 | +0.040 | -1.001 | -0.019 | 4.0m |
| ALICE | LONG | -0.066 | +1.305 ⚠ | none | -1.066 | +1.371 | -0.991 | -1.057 | 13.9m |
Given back = peak minus realised: how much of the winner's best moment the ratchet failed to keep. Solo window is the time between the first leg exiting and the second — the book is an unhedged directional position for exactly that long, which is where a straddle actually takes risk.
Breaches
1
all 1 resolved — none since the fix
Breach rate
14.3%
Worst breach
-1.057
Cost of breaches
−$0.8083
net dollars lost to breaches
Exposure log — instrumentation, live since 2026-08-16
DEAD_ZONE
1
adaptive would have locked, fixed did not
EXPOSED
0
neither policy would have locked
PROTECTED
0
sibling already past +1R
WHIPSAW
0
both legs stopped — the −2R tail
| When (UTC) | Symbol | Stopped | Its R | Sibling peak | Sibling lock | Dead zone | Shadow trig | Verdict |
|---|---|---|---|---|---|---|---|---|
| 08-16 12:22:44 | GPS | SHORT | -1.001 | +0.926 | none | +0.031 | 0.9693 | DEAD_ZONE |
This is the evidence that decides the adaptive trigger. At the instant one leg stops, the sibling is in exactly one of four states:
· PROTECTED — peak already ≥ +1R, both policies lock.
· DEAD_ZONE — peak between the shadow trigger and +1R. An adaptive lock would have fired here and the deployed fixed trigger did not. Each of these is one unit of evidence for deploying it.
· EXPOSED — peak below the shadow trigger; neither policy would have locked, so there is nothing to fix.
· WHIPSAW — both legs stopped. The −2R tail. Has never fired live.
The adaptive policy is currently OFF (reverted 2026-08-16: benefit was never statistically significant and the tail it guards has never occurred). This log accumulates the evidence to revisit that with a real sample.
· PROTECTED — peak already ≥ +1R, both policies lock.
· DEAD_ZONE — peak between the shadow trigger and +1R. An adaptive lock would have fired here and the deployed fixed trigger did not. Each of these is one unit of evidence for deploying it.
· EXPOSED — peak below the shadow trigger; neither policy would have locked, so there is nothing to fix.
· WHIPSAW — both legs stopped. The −2R tail. Has never fired live.
The adaptive policy is currently OFF (reverted 2026-08-16: benefit was never statistically significant and the tail it guards has never occurred). This log accumulates the evidence to revisit that with a real sample.
Floor margin — the real residual risk
Widest dead zone
+0.031
the gap where loss is enforced but gain is not
Pairs with a dead zone
6
of 8 measured
Ratchet arms at
+1.0000R
RATCHET_TRIG| Symbol | Entry cost R | Winner at loser-stop | Dead zone | Status | Pair R |
|---|---|---|---|---|---|
| GPS | +0.031 | +0.969 | +0.031 | gap of 0.0307R | -0.019 |
| TAG | +0.026 | +0.974 | +0.026 | gap of 0.0255R | +0.204 |
| SPORTFUN | +0.019 | +0.981 | +0.019 | gap of 0.0194R | +0.749 |
| ALICE | +0.017 | +0.983 | +0.017 | gap of 0.0165R | -1.057 |
| STABLE | +0.008 | +0.992 | +0.008 | gap of 0.0079R | open |
| WLFI | +0.007 | +0.993 | +0.007 | gap of 0.0073R | +0.015 |
| COW | +0.000 | +1.000 | none | ✓ lock arms first | +0.050 |
| HEMI | -0.004 | +1.004 | none | ✓ lock arms first | -0.008 |
When one leg stops at −1R the other sits at exactly
The dead zone and the entry cost are the same number. Favourable skew (short filling above long) closes it completely — HEMI’s winner crossed +1R before its loser stopped. This makes floor risk an execution-quality problem, not an unfixable property of the strategy.
1 − entry_cost_R — the reference price cancels, so this is an identity, not an estimate. The ratchet only arms at +1R, so a positive entry cost opens a dead zone: the loss is already enforced by an exchange-side stop while the gain is not yet protected by a lock. Reverse inside it and the winner rides all the way back.The dead zone and the entry cost are the same number. Favourable skew (short filling above long) closes it completely — HEMI’s winner crossed +1R before its loser stopped. This makes floor risk an execution-quality problem, not an unfixable property of the strategy.
Breach register 1 ratchet-bug · 0 structural
| Symbol | Spike | Long R | Short R | Pair R | Best peak | Cause | Status | Net | When |
|---|---|---|---|---|---|---|---|---|---|
| ALICE | 292 | -0.066 | -0.991 | -1.057 | +1.305 ⚠ | ratchet bug | ✓ RESOLVED | −$0.8083 | 08-14 11:47:27 |
Best peak is the highest R either leg reached, so it separates the two causes:
· Below +1R → structural. The winner never earned a lock. No code change prevents this; it is the strategy's inherent failure mode.
· At or above +1R → ratchet bug. The lock was earned but not placed while price was still above it. This is what the mark-triggered ratchet fixed on 2026-08-15.
⚠ ALICE’s stored
· Below +1R → structural. The winner never earned a lock. No code change prevents this; it is the strategy's inherent failure mode.
· At or above +1R → ratchet bug. The lock was earned but not placed while price was still above it. This is what the mark-triggered ratchet fixed on 2026-08-15.
⚠ ALICE’s stored
peak_r is corrupt. The late-lock branch returned before persisting it, recording 0.2998 for a leg that actually reached +1.305R — proven by the lock level 0.1341 in the 15:15:04 alert against entry 0.1262 and stop distance 0.0060536. Taking the stored value at face value would misclassify the book’s only breach as unfixable. The bug deleted its own evidence.Mark-triggered
24
intra-bar crossings caught from
markPriceStops advanced
10
amendments the exchange accepted
Late locks
2
lock computed after price already passed it
Amend rejected
1
lock computed but not placed
Adaptive trigger — deployed 2026-08-16
Policy
OFF
base 1.0 · floor None
Times it lowered the trigger
0
ratchet/trig_adaptedZero means the branch has never been exercised on a live pair — it fires only when entry skew is adverse.
Pairs with a dead zone
6
of 10 taken
| Symbol | Entry cost R | Effective trigger | Would arm at | Status |
|---|---|---|---|---|
| STABLE | +0.008 | 0.9921 | +0.992 | closes 0.0079R zone |
| GPS | +0.031 | 0.9693 | +0.969 | closes 0.0307R zone |
| SPORTFUN | +0.019 | 0.9806 | +0.981 | closes 0.0194R zone |
| HEMI | -0.004 | 1.0000 | +1.004 | inert |
| TAG | +0.026 | 0.9745 | +0.974 | closes 0.0255R zone |
| COW | +0.000 | 1.0000 | +1.000 | inert |
| WLFI | +0.007 | 0.9927 | +0.993 | closes 0.0073R zone |
| ALICE | +0.017 | 0.9835 | +0.983 | closes 0.0165R zone |
| CROSS | +0.000 | 1.0000 | +1.000 | inert |
| JASMY | +0.000 | 1.0000 | +1.000 | inert |
The lock now arms at
1 − entry_cost instead of a flat +1.0R, so it lands exactly where the loser stops. On favourable or zero skew it is byte-identical to the old behaviour — validated in the replay at 0 of 73 pairs changed. Harness: worst pair equals −skew at every level and never −2.000R, where a flat 1.0 breaks to −2R once skew exceeds 0.0165. Shipped as a bounded-tail change; the mean-R difference was never statistically significant.Ratchet ladder, per leg
| Symbol | Side | Peak R | Locked | Gen | Final R | Given back | Exit |
|---|---|---|---|---|---|---|---|
| STABLE | LONG | +0.481 | never | 1 | — | — | open |
| STABLE | SHORT | +0.101 | never | 1 | — | — | open |
| GPS | LONG | +1.021 | +1.001 | 2 | +0.982 | +0.040 | ratchet_stop |
| GPS | SHORT | +0.000 | never | 1 | -1.001 | +1.001 | stop |
| SPORTFUN | LONG | +1.850 | +1.802 | 6 | +1.757 | +0.093 | ratchet_stop |
| SPORTFUN | SHORT | +0.320 | never | 1 | -1.008 | +1.328 | stop |
| HEMI | LONG | +1.001 | +0.999 | 2 | +1.010 | -0.010 | ratchet_stop |
| HEMI | SHORT | +0.464 | never | 1 | -1.019 | +1.483 | stop |
| TAG | LONG | +1.215 | +1.199 | 4 | +1.199 | +0.016 | ratchet_stop |
| TAG | SHORT | +0.251 | never | 1 | -0.995 | +1.246 | stop |
| COW | LONG | +1.176 | +1.098 | 2 | +0.985 | +0.191 | ratchet_stop |
| COW | SHORT | +0.000 | never | 1 | -0.935 | +0.935 | stop |
| WLFI | LONG | +0.000 | never | 1 | -1.016 | +1.016 | stop |
| WLFI | SHORT | +0.312 | never | 1 | +1.030 | -0.718 | stop |
| ALICE | LONG | +0.300 | never | 1 | -0.066 | +0.366 | stop |
| ALICE | SHORT | +0.942 | never | 1 | -0.991 | +1.933 | stop |
| CROSS | LONG | +0.000 | -1.000 | 0 | -1.000 | +1.000 | stop |
| CROSS | SHORT | +1.072 | +1.000 | 0 | +1.000 | +0.072 | ratchet_stop |
| JASMY | LONG | +1.189 | +1.100 | 0 | +1.100 | +0.089 | ratchet_stop |
| JASMY | SHORT | +0.000 | -1.000 | 0 | -1.000 | +1.000 | stop |
Gen counts stop replacements; anything above 1 means the ratchet moved. exit_reason is not evidence — every close is labelled
stop or ratchet_stop, including market-closes from the abort, late-lock and repair paths.Entry cost / pair
+0.014
+ paid · − better than mid
Reduces exactly to
(fill_long − fill_short) / stop_dist — the reference price cancels, so the gap between the two fills is the entry cost. The executor's OPEN log reports the same quantity with the opposite sign.Stop slippage
+0.005
vs exactly −1.0000R · n = 7
Only legs that genuinely stopped at their original stop. Ratchet-locked winners are excluded — on those
stop_slip_r reads r+1 (up to +2R) and is meaningless.Decision lag
158s
bar close → order sent
Freshness gate refuses anything older than 20 min.
Fee drag / pair
−0.0204R
round-trip, both legs, vs the risk unit
Funding is not modelled in
legs.funding_usd (all NULL); the Reconcile page takes it from exchange income instead.Per-pair execution real-money pairs only
| Symbol | Long fill | Short fill | Entry cost R | Fees | Fee R | Lag | Notional | Risk | Lev |
|---|---|---|---|---|---|---|---|---|---|
| GPS | 0.01019795 | 0.01018183 | +0.031 | $0.0153 | 0.0204 | 147s | $14.50 | $0.7476 | 5x |
| SPORTFUN | 0.02476000 | 0.02473000 | +0.019 | $0.0129 | 0.0174 | 155s | $11.89 | $0.7431 | 5x |
| HEMI | 0.00625308 | 0.00625570 | -0.004 | $0.0080 | 0.0108 | 165s | $7.23 | $0.7438 | 5x |
| TAG | 0.00095500 | 0.00095300 | +0.026 | $0.0099 | 0.0133 | 169s | $9.06 | $0.7431 | 5x |
| COW | 0.13860000 | 0.13860000 | +0.000 | $0.0135 | 0.0182 | 149s | $12.79 | $0.7376 | 5x |
| WLFI | 0.05855000 | 0.05854000 | +0.007 | $0.0308 | 0.0414 | 153s | $31.50 | $0.7431 | 5x |
| ALICE | 0.12620000 | 0.12610000 | +0.017 | $0.0160 | 0.0213 | 147s | $15.60 | $0.7494 | 5x |
Per-leg entry slippage — instrumented 2026-08-16
| Symbol | Side | Reference | Fill | Leg slip R | Pair cost R | Shadow trig |
|---|---|---|---|---|---|---|
| STABLE | LONG | 0.03006000 | 0.03000000 | -0.047 | +0.008 | 0.9921 |
| STABLE | SHORT | 0.03006000 | 0.02999000 | +0.055 | +0.008 | 0.9921 |
| GPS | LONG | 0.01017600 | 0.01019795 | +0.042 | +0.031 | 0.9693 |
| GPS | SHORT | 0.01017600 | 0.01018183 | -0.011 | +0.031 | 0.9693 |
| SPORTFUN | LONG | 0.02477000 | 0.02476000 | -0.006 | +0.019 | 0.9806 |
| SPORTFUN | SHORT | 0.02477000 | 0.02473000 | +0.026 | +0.019 | 0.9806 |
| HEMI | LONG | 0.00623400 | 0.00625308 | +0.030 | -0.004 | 1.0000 |
| HEMI | SHORT | 0.00623400 | 0.00625570 | -0.034 | -0.004 | 1.0000 |
| TAG | LONG | 0.00095600 | 0.00095500 | -0.013 | +0.026 | 0.9745 |
| TAG | SHORT | 0.00095600 | 0.00095300 | +0.038 | +0.026 | 0.9745 |
| COW | LONG | 0.13900000 | 0.13860000 | -0.050 | +0.000 | 1.0000 |
| COW | SHORT | 0.13900000 | 0.13860000 | +0.050 | +0.000 | 1.0000 |
| WLFI | LONG | 0.05845000 | 0.05855000 | +0.073 | +0.007 | 0.9927 |
| WLFI | SHORT | 0.05845000 | 0.05854000 | -0.065 | +0.007 | 0.9927 |
| ALICE | LONG | 0.12600000 | 0.12620000 | +0.033 | +0.017 | 0.9835 |
| ALICE | SHORT | 0.12600000 | 0.12610000 | -0.017 | +0.017 | 0.9835 |
| CROSS | LONG | 0.12415000 | 0.12415000 | +0.000 | +0.000 | 1.0000 |
| CROSS | SHORT | 0.12415000 | 0.12415000 | +0.000 | +0.000 | 1.0000 |
| JASMY | LONG | 0.00393700 | 0.00393700 | +0.000 | +0.000 | 1.0000 |
| JASMY | SHORT | 0.00393700 | 0.00393700 | +0.000 | +0.000 | 1.0000 |
Leg slip is adverse-positive against the spike reference price: a long filling above it, or a short below it, paid up. The two legs’ slips largely cancel — what survives is the pair cost, which is the dead-zone width.
funding_usd remains NULL on every leg — funding is taken from exchange income on the Reconcile page instead, where it is measured rather than assumed.
entry_slip_r had never been written until now; historical pairs were backfilled from the stored fills.funding_usd remains NULL on every leg — funding is taken from exchange income on the Reconcile page instead, where it is measured rather than assumed.
How 324 evaluated spikes became 10 pairs
below_rvol_book
128
below_sigma
115
stale
58
taken
10
capacity
7
loss_cooldown
5
aborted
1
One decision is recorded per spike, permanently. A rejected spike is never re-evaluated later at a stale price — that is what makes this a real denominator rather than a running tally.
below_rvol_book and below_sigma are the strategy gates. stale are spikes outside the 20-minute window, including everything predating this executor. capacity are qualifying setups the book declined.What the one-pair cap costs
Turned away
7
qualifying spikes blocked by the cap
Cap
1
MAX_OPEN_PAIRSTaken
10
the sample we actually have
The cap is not free — it is also why the sample is small. But it blocked 2 of the 3 spikes that produced the paper book's worst outcomes on 15 Aug, so at this account size it is doing real protective work. Raising it should be a deliberate decision, not a default.
Scanner context for every taken pair joined from
spikes.db| Symbol | Spike | rvol | z-score | Tier | 15m move | 1h σ | price/stop | Pair R |
|---|---|---|---|---|---|---|---|---|
| STABLE | 435 | 227.8 | 387.6 | 100 | 2.69% | 4.80 | 23.7 | open |
| GPS | 426 | 106.0 | 161.3 | 100 | -9.58% | -12.00 | 19.4 | -0.019 |
| SPORTFUN | 387 | 107.8 | 140.7 | 100 | 10.57% | 16.40 | 16.0 | +0.749 |
| HEMI | 369 | 133.3 | 137.1 | 100 | 13.45% | 12.30 | 9.7 | -0.008 |
| TAG | 346 | 246.8 | 313.5 | 100 | -17.08% | -31.80 | 12.2 | +0.204 |
| COW | 343 | 1418.7 | 2365.1 | 100 | 26.54% | 114.20 | 17.3 | +0.050 |
| WLFI | 321 | 232.9 | 267.4 | 100 | 8.20% | 75.80 | 42.4 | +0.015 |
| ALICE | 292 | 127.5 | 118.7 | 100 | 1.79% | 7.70 | 20.8 | -1.057 |
| CROSS | 281 | 104.4 | 113.4 | 100 | 5.95% | 10.50 | 12.6 | +0.000 |
| JASMY | 275 | 124.1 | 161.1 | 100 | -6.06% | -15.80 | 29.4 | +0.100 |
pairs.spike_id joins directly to spikes.id. price/stop ratio is how many stop-widths fit in the price — a high ratio means a tight stop relative to the instrument.With 10 pairs across 10 distinct symbols there is not yet enough data to say which spike characteristics pay. Any “best symbol” ranking at this n would just be naming the one that won.
Live − paper
-0.567
per pair vs BOTHWAYS_TIGHT · n = 7 real
Live mean
-0.010
Paper mean, same spikes
+0.557
The same spikes, three paper configurations
| Symbol | Mode | LIVE | BW_TIGHT | BW | BW_ALL | Δ vs TIGHT |
|---|---|---|---|---|---|---|
| GPS | REAL | -0.019 | +0.100 | +0.000 | +0.100 | -0.119 |
| SPORTFUN | REAL | +0.749 | +2.500 | +1.000 | +2.500 | -1.751 |
| HEMI | REAL | -0.008 | +0.000 | +0.500 | +0.000 | -0.008 |
| TAG | REAL | +0.204 | +0.200 | +0.000 | +0.200 | +0.004 |
| COW | REAL | +0.050 | +0.300 | +0.000 | +0.300 | -0.250 |
| WLFI | REAL | +0.015 | +0.300 | +0.500 | +0.300 | -0.285 |
| ALICE | REAL | -1.057 | +0.500 | +0.500 | +0.500 | -1.557 |
| CROSS | shadow | +0.000 | +0.000 | +0.000 | +0.000 | +0.000 |
| JASMY | shadow | +0.100 | +0.100 | — | +0.100 | +0.000 |
Divergence is live − paper: negative means live finished behind the paper book on that spike. Two structural reasons they differ, in opposite directions:
· Paper flatters — it assumes the lock was resting at the trigger during a retrace, and fills both legs at one price with no spread.
· Paper penalised — a 15m bar containing both a stop touch and a ≥1R excursion cannot order the two events, so it booked −2R where the live 10s clock locks a profit. Corrected 15 Aug.
That gap, not the paper mean, is what this account should be expected to earn.
· Paper flatters — it assumes the lock was resting at the trigger during a retrace, and fills both legs at one price with no spread.
· Paper penalised — a 15m bar containing both a stop touch and a ≥1R excursion cannot order the two events, so it booked −2R where the live 10s clock locks a profit. Corrected 15 Aug.
That gap, not the paper mean, is what this account should be expected to earn.
NAV per unit
0.996629
-0.337% since inception
Units outstanding
100.0000
issued at NAV 1.000000
Net contributed
$100.00
deposits $100.00 · withdrawals $0.00
P&L since inception
−$0.3371
wallet − net contributed
Capital events
| When (UTC) | Kind | Holder | Amount | NAV at event | Units | Note |
|---|---|---|---|---|---|---|
| 2026-08-13 23:10:41 | deposit | omid | +$100.00 | 1.000000 | 100.0000 | auto from exchange TRANSFER |
Sourced from exchange
TRANSFER rows, not typed in. Units are issued at the NAV implied by the wallet immediately before the transfer, so a later deposit neither dilutes nor enriches existing holders.NAV history 1207 samples
Capital in
$100.00
1 rows
Transfer+$100.0000
Strategy
−$0.2835
68 rows
Commission−$0.2265
Funding Fee+$0.0000
Realized Pnl−$0.0569
Wire tests
−$0.0536
21 rows
Commission−$0.0452
Realized Pnl−$0.0084
Unattributed
+$0.0000
none
Strategy P&L by pair, from exchange income
| Symbol | Spike | Pair R | Realised | Commission | Funding | Net | Rows | First |
|---|---|---|---|---|---|---|---|---|
| STABLE | — | — | +$0.0000 | −$0.0000 | $0.0000 | +$0.0000 | 2 | 08-16 16:00:00 |
| STABLE | 435 | — | +$0.0000 | −$0.0177 | $0.0000 | −$0.0177 | 2 | 08-16 15:02:36 |
| GPS | 426 | -0.019 | −$0.0144 | −$0.0298 | $0.0000 | −$0.0442 | 15 | 08-16 11:32:27 |
| SPORTFUN | 387 | +0.749 | +$0.5568 | −$0.0248 | $0.0000 | +$0.5320 | 9 | 08-15 19:32:36 |
| HEMI | 369 | -0.008 | −$0.0062 | −$0.0153 | $0.0000 | −$0.0215 | 11 | 08-15 15:02:45 |
| TAG | 346 | +0.204 | +$0.1517 | −$0.0189 | $0.0000 | +$0.1328 | 6 | 08-15 09:32:50 |
| COW | 343 | +0.050 | +$0.0368 | −$0.0262 | $0.0000 | +$0.0106 | 6 | 08-15 09:17:30 |
| WLFI | 321 | +0.015 | +$0.0108 | −$0.0624 | $0.0000 | −$0.0516 | 7 | 08-14 20:17:33 |
| ALICE | 292 | -1.057 | −$0.7923 | −$0.0316 | $0.0000 | −$0.8239 | 10 | 08-14 11:47:28 |
| TOTAL | −$0.0569 | −$0.2265 | +$0.0000 | −$0.2835 |
Attributed by symbol and time window against the live book. Commission is charged on both legs, both ways — four taker fills per pair — which is why it can exceed the realised price move on a book whose pairs are engineered to finish near zero.
Management fee
0.0000%
founder class — no fee
Performance fee
0.0000%
founder class — no fee
High-water mark
1.000000
highest NAV ever marked
NAV above HWM
0.000000
the base a performance fee would bill on
Share classes
| Class | Investor split | Mgmt / yr | Hurdle | Lock | Status |
|---|---|---|---|---|---|
| A — Founder / Omid | 0% | 0% | 0% | 0 mo | current |
| B — Standard investor | 30% | 2% | 5% | 12 mo | available |
| C — Friends & family | 20% | 1% | 0% | 6 mo | available |
Mirrors the main book's
share_classes so the two are consistent. This book is entirely class A, so every fee below is structurally zero — the machinery is present and exercised, not merely stubbed.Accrual
Accrued mgmt fee
$0.0000
0% × $99.66 × elapsed
Accrued perf fee
$0.0000
0% × 0.000000 above HWM
Payable now
$0.0000
nothing is owed to anyone
Deliberately not built: investor grid, payout schedule, withdrawal queue, investor portal and statement PDFs. Rendering that UI over zero rows would misrepresent what this book is. The tables behind it are keyed by holder, so they appear the moment a holder exists.
Ledger net
$99.66293085
Exchange wallet
$99.66293085
Residual
+0.0000000000
tolerance 1e-6
Ledger rows
90
income entries ingested
Reconciliation history
| When (UTC) | Ledger | Wallet | Residual | Rows | |
|---|---|---|---|---|---|
| 2026-08-16 17:40:17 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:39:16 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:38:12 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:37:10 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:36:12 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:35:11 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:34:10 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:33:10 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:32:08 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:31:07 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:30:01 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:28:56 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:27:51 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:26:47 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:25:46 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:24:46 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:23:46 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:22:45 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:21:40 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:20:40 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:19:39 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:18:39 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:17:38 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:16:38 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:15:38 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:14:37 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:13:37 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:12:36 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:11:33 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:10:29 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:09:28 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:08:26 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:07:25 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:06:26 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:05:26 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:04:25 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:03:24 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:02:23 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:01:23 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
| 2026-08-16 17:00:23 | $99.66293085 | $99.66293085 | +0.0000000000 | 90 | OK |
Income ledger showing 90 of 90
| When (UTC) | Type | Symbol | Amount | Spike | Category | tranId |
|---|---|---|---|---|---|---|
| 08-16 16:00:00 | FUNDING_FEE | STABLE | −$0.02095473 | — | strategy | 1414009819640876391 |
| 08-16 16:00:00 | FUNDING_FEE | STABLE | +$0.02095473 | — | strategy | 1414009819640876390 |
| 08-16 15:02:37 | COMMISSION | STABLE | −$0.00883205 | 435 | strategy | 103760101201162 |
| 08-16 15:02:36 | COMMISSION | STABLE | −$0.00883500 | 435 | strategy | 103761101201156 |
| 08-16 12:26:16 | COMMISSION | GPS | −$0.00420485 | 426 | strategy | 99660113795535 |
| 08-16 12:26:16 | REALIZED_PNL | GPS | +$0.40431466 | 426 | strategy | 99660113795535 |
| 08-16 12:26:16 | COMMISSION | GPS | −$0.00342816 | 426 | strategy | 99660113795534 |
| 08-16 12:26:16 | REALIZED_PNL | GPS | +$0.32963233 | 426 | strategy | 99660113795534 |
| 08-16 12:22:22 | COMMISSION | GPS | −$0.00762873 | 426 | strategy | 99661113794105 |
| 08-16 12:22:22 | REALIZED_PNL | GPS | −$0.74837100 | 426 | strategy | 99661113794105 |
| 08-16 12:00:00 | FUNDING_FEE | GPS | +$0.00074594 | 426 | strategy | 1413405838145209311 |
| 08-16 12:00:00 | FUNDING_FEE | GPS | −$0.00074594 | 426 | strategy | 1413405838145209310 |
| 08-16 11:32:28 | COMMISSION | GPS | −$0.00031049 | 426 | strategy | 99660113760127 |
| 08-16 11:32:28 | COMMISSION | GPS | −$0.00252488 | 426 | strategy | 99660113760126 |
| 08-16 11:32:28 | COMMISSION | GPS | −$0.00252513 | 426 | strategy | 99660113760125 |
| 08-16 11:32:28 | COMMISSION | GPS | −$0.00189403 | 426 | strategy | 99660113760124 |
| 08-16 11:32:27 | COMMISSION | GPS | −$0.00217748 | 426 | strategy | 99661113760110 |
| 08-16 11:32:27 | COMMISSION | GPS | −$0.00254440 | 426 | strategy | 99661113760109 |
| 08-16 11:32:27 | COMMISSION | GPS | −$0.00254415 | 426 | strategy | 99661113760108 |
| 08-15 20:35:39 | COMMISSION | SPORTFUN | −$0.00659520 | 387 | strategy | 10437021961952 |
| 08-15 20:35:39 | REALIZED_PNL | SPORTFUN | +$1.30560000 | 387 | strategy | 10437021961952 |
| 08-15 20:19:40 | COMMISSION | SPORTFUN | −$0.00630960 | 387 | strategy | 10437121944490 |
| 08-15 20:19:40 | REALIZED_PNL | SPORTFUN | −$0.74880000 | 387 | strategy | 10437121944490 |
| 08-15 20:00:00 | FUNDING_FEE | SPORTFUN | +$0.01157084 | 387 | strategy | 1410989919292866931 |
| 08-15 20:00:00 | FUNDING_FEE | SPORTFUN | −$0.01157084 | 387 | strategy | 1410989919292866930 |
| 08-15 19:32:37 | COMMISSION | SPORTFUN | −$0.00593520 | 387 | strategy | 10437021917928 |
| 08-15 19:32:36 | COMMISSION | SPORTFUN | −$0.00584336 | 387 | strategy | 10437121917925 |
| 08-15 19:32:36 | COMMISSION | SPORTFUN | −$0.00009904 | 387 | strategy | 10437121917924 |
| 08-15 17:40:30 | COMMISSION | HEMI | −$0.00400258 | 369 | strategy | 102400158225672 |
| 08-15 17:40:30 | REALIZED_PNL | HEMI | +$0.75159200 | 369 | strategy | 102400158225672 |
| 08-15 17:40:24 | COMMISSION | HEMI | −$0.00400721 | 369 | strategy | 102401158224805 |
| 08-15 17:40:24 | REALIZED_PNL | HEMI | −$0.75782900 | 369 | strategy | 102401158224805 |
| 08-15 16:00:00 | FUNDING_FEE | HEMI | +$0.00025591 | 369 | strategy | 1410385939894355851 |
| 08-15 16:00:00 | FUNDING_FEE | HEMI | −$0.00025591 | 369 | strategy | 1410385939894355850 |
| 08-15 15:02:46 | COMMISSION | HEMI | −$0.00109149 | 369 | strategy | 102400157592598 |
| 08-15 15:02:46 | COMMISSION | HEMI | −$0.00253680 | 369 | strategy | 102400157592597 |
| 08-15 15:02:45 | COMMISSION | HEMI | −$0.00068168 | 369 | strategy | 102401157592565 |
| 08-15 15:02:45 | COMMISSION | HEMI | −$0.00253871 | 369 | strategy | 102401157592564 |
| 08-15 15:02:45 | COMMISSION | HEMI | −$0.00040638 | 369 | strategy | 102401157592563 |
| 08-15 10:37:02 | COMMISSION | TAG | −$0.00497173 | 346 | strategy | 10189056663998 |
| 08-15 10:37:02 | REALIZED_PNL | TAG | +$0.89102600 | 346 | strategy | 10189056663998 |
| 08-15 10:29:00 | COMMISSION | TAG | −$0.00488642 | 346 | strategy | 10189156660561 |
| 08-15 10:29:00 | REALIZED_PNL | TAG | −$0.73936200 | 346 | strategy | 10189156660561 |
| 08-15 09:32:51 | COMMISSION | TAG | −$0.00451674 | 346 | strategy | 10189056635167 |
| 08-15 09:32:50 | COMMISSION | TAG | −$0.00452622 | 346 | strategy | 10189156635165 |
| 08-15 09:30:11 | COMMISSION | COW | −$0.00673900 | 343 | strategy | 98170131797158 |
| 08-15 09:30:11 | REALIZED_PNL | COW | +$0.72680000 | 343 | strategy | 98170131797158 |
| 08-15 09:27:37 | COMMISSION | COW | −$0.00672060 | 343 | strategy | 98171131781716 |
| 08-15 09:27:37 | REALIZED_PNL | COW | −$0.69000000 | 343 | strategy | 98171131781716 |
| 08-15 09:17:31 | COMMISSION | COW | −$0.00637560 | 343 | strategy | 98170131732606 |
| 08-15 09:17:30 | COMMISSION | COW | −$0.00637560 | 343 | strategy | 98171131732514 |
| 08-14 20:45:04 | COMMISSION | WLFI | −$0.01539384 | 321 | strategy | 102291183294787 |
| 08-14 20:45:04 | REALIZED_PNL | WLFI | +$0.76538000 | 321 | strategy | 102291183294787 |
| 08-14 20:39:32 | COMMISSION | WLFI | −$0.01540192 | 321 | strategy | 102290183285835 |
| 08-14 20:39:32 | REALIZED_PNL | WLFI | −$0.75460000 | 321 | strategy | 102290183285835 |
| 08-14 20:17:34 | COMMISSION | WLFI | −$0.00711261 | 321 | strategy | 102290183255882 |
| 08-14 20:17:34 | COMMISSION | WLFI | −$0.00866392 | 321 | strategy | 102290183255881 |
| 08-14 20:17:33 | COMMISSION | WLFI | −$0.01577922 | 321 | strategy | 102291183255879 |
| 08-14 15:15:14 | COMMISSION | ALICE | −$0.00778702 | 292 | strategy | 92070386654998 |
| 08-14 15:15:14 | REALIZED_PNL | ALICE | −$0.04952000 | 292 | strategy | 92070386654998 |
| 08-14 15:01:21 | COMMISSION | ALICE | −$0.00142668 | 292 | strategy | 92071386632410 |
| 08-14 15:01:21 | REALIZED_PNL | ALICE | −$0.12960000 | 292 | strategy | 92071386632410 |
| 08-14 15:01:21 | COMMISSION | ALICE | −$0.00675031 | 292 | strategy | 92071386632409 |
| 08-14 15:01:21 | REALIZED_PNL | ALICE | −$0.61320000 | 292 | strategy | 92071386632409 |
| 08-14 12:00:00 | FUNDING_FEE | ALICE | −$0.01501887 | 292 | strategy | 1406158081378471201 |
| 08-14 12:00:00 | FUNDING_FEE | ALICE | +$0.01501887 | 292 | strategy | 1406158081378471200 |
| 08-14 11:47:28 | COMMISSION | ALICE | −$0.00780559 | 292 | strategy | 92070386586342 |
| 08-14 11:47:28 | COMMISSION | ALICE | −$0.00781178 | 292 | strategy | 92071386586333 |
| 08-14 10:38:13 | COMMISSION | DOGE | −$0.00322710 | — | wire_test | 906513426126853 |
| 08-14 10:38:13 | REALIZED_PNL | DOGE | +$0.00092999 | — | wire_test | 906513426126853 |
| 08-14 10:38:03 | COMMISSION | DOGE | −$0.00322663 | — | wire_test | 906503426126822 |
| 08-14 10:38:03 | REALIZED_PNL | DOGE | −$0.00465000 | — | wire_test | 906503426126822 |
| 08-14 10:37:55 | COMMISSION | DOGE | −$0.00322756 | — | wire_test | 906503426126675 |
| 08-14 10:37:54 | COMMISSION | DOGE | −$0.00322896 | — | wire_test | 906513426126564 |
| 08-14 10:33:17 | COMMISSION | DOGE | −$0.00323035 | — | wire_test | 906503426125365 |
| 08-14 10:33:17 | REALIZED_PNL | DOGE | −$0.00186000 | — | wire_test | 906503426125365 |
| 08-14 10:33:08 | COMMISSION | DOGE | −$0.00323128 | — | wire_test | 906513426125312 |
| 08-14 10:31:05 | COMMISSION | DOGE | −$0.00323175 | — | wire_test | 906503426124990 |
| 08-14 10:31:05 | REALIZED_PNL | DOGE | −$0.00093000 | — | wire_test | 906503426124990 |
| 08-14 10:31:03 | COMMISSION | DOGE | −$0.00323221 | — | wire_test | 906513426124989 |
| 08-14 10:30:36 | COMMISSION | DOGE | −$0.00323128 | — | wire_test | 906503426124887 |
| 08-14 10:30:30 | COMMISSION | DOGE | −$0.00323128 | — | wire_test | 906513426124834 |
| 08-14 10:26:37 | COMMISSION | DOGE | −$0.00323035 | — | wire_test | 906513426123790 |
| 08-14 10:26:37 | REALIZED_PNL | DOGE | +$0.00093000 | — | wire_test | 906513426123790 |
| 08-14 10:26:33 | COMMISSION | DOGE | −$0.00322989 | — | wire_test | 906503426123786 |
| 08-14 10:26:33 | REALIZED_PNL | DOGE | −$0.00279000 | — | wire_test | 906503426123786 |
| 08-14 10:26:26 | COMMISSION | DOGE | −$0.00323082 | — | wire_test | 906503426123692 |
| 08-14 10:26:25 | COMMISSION | DOGE | −$0.00072964 | — | wire_test | 906513426123691 |
| 08-14 10:26:25 | COMMISSION | DOGE | −$0.00250163 | — | wire_test | 906513426123690 |
| 08-13 23:10:41 | TRANSFER | — | +$100.00000000 | — | capital | 400623636724 |
Guard board 6 of 33 fired
| Guard | Fired | Last | What it does |
|---|---|---|---|
| Position integrity | |||
guard/untracked_position | never | — | A position the bot never opened — adopted and given a stop |
guard/unstopped_position | never | — | An open leg with no resting stop — stop placed at once |
guard/stop_vanished | never | — | A resting stop disappeared from the algo namespace |
guard/stop_filled_between_reads | never | — | Stop filled between polls; booked from exchange state |
guard/gone_strike | 28 | 5.2h | Needs 3 consecutive misses before clearing a position |
guard/api_outage_suspected | never | — | Everything vanished at once — probes API health |
guard/no_fill_ts | never | — | A fill with no timestamp; refuses to infer one |
sweep/orphan_stop_cancelled | never | — | Cancels a conditional whose leg went flat. Binance does not |
| Straddle symmetry | |||
symmetry/one_leg_missing | never | — | Only one leg live — an unintended directional bet |
symmetry/asymmetric_fill | never | — | The legs filled at materially different sizes |
pair/aborted | 1 | 34.1h | One leg rejected; the survivor closed from exchange state |
abort/stop_rejected | never | — | Stop unplaceable — leg market-closed, not left naked |
aborted/preflight | never | — | Rejected before any order was sent |
aborted/exception | never | — | Unexpected error while opening; the pair is unwound |
repair/stop_placed | never | — | A missing stop restored on a live leg |
repair/naked_closed | never | — | A single unpaired leg closed out |
repair/promoted | never | — | A pending leg promoted once the exchange confirmed it |
repair/not_on_exchange | 1 | 34.1h | A leg the bot believed in was not on the exchange |
| Capital & risk | |||
guard/dd_halt | never | — | Trading halted on drawdown from peak |
guard/liq_inside_stop | 8 | 2.2d | Liquidation price inside the stop — entry refused |
skipped/loss_cooldown | 5 | 16.1h | No new entry for a period after a loss |
skipped/capacity | 7 | 82m | The pair cap was already full |
sizing/min_lot_floored | never | — | Order below exchange minimum floored up, not skipped |
skipped/min_notional | never | — | Too small to place even after flooring |
skipped/degenerate_stop | never | — | Computed stop distance unusable |
symbol/blocked | never | — | Symbol unavailable to this account; skipped before sizing |
| Accounting integrity | |||
guard/r_vs_dollar_mismatch | never | — | Booked R and booked dollars disagree |
exit/unmeasured | never | — | A leg closed without a measurable R |
exit/booked_without_order_id | never | — | Booked with no exchange order id |
exit/closed_unstoppable | never | — | Market-closed because no stop could be kept on it |
| Errors | |||
error/close_leg | never | — | Exception while closing a leg |
error/repair_leg | never | — | Exception while repairing a leg |
error/timeout_close | never | — | Exception while closing on timeout |
A rail that has never fired is UNPROVEN, not safe. Counts come from the executor's own deviation ledger, written at the moment the branch executes — not inferred from logs. 6 of 33 rails have been exercised in production; the other 27 are a statement about evidence, not about safety.
Every counter 23 distinct
| Name | Count | Last | Detail |
|---|---|---|---|
| skipped/below_rvol_book | 128 | 52m | DUSKUSDT |
| skipped/below_sigma | 115 | 82m | CCUSDT |
| skipped/stale | 58 | 2.8d | QUSDT |
| guard/gone_strike | 28 | 5.2h | GPS/USDT:USDT LONG 2 |
| ratchet/mark_triggered | 24 | 5.3h | GPS/USDT:USDT LONG fav=1.019 -> lock 1.00 |
| pair/opened | 10 | 2.6h | STABLE/USDT:USDT |
| ratchet/advanced | 10 | 5.3h | GPS/USDT:USDT LONG -> 0.010723 |
| skipped/scanner_dead | 9 | 2.8d | 62min |
| exit/stop | 9 | 5.3h | GPS/USDT:USDT SHORT r=-1.0010097810898921 |
| guard/liq_inside_stop | 8 | 2.2d | ALICE/USDT:USDT |
| skipped/capacity | 7 | 82m | BEL/USDT:USDT skipped/capacity_pairs(1/1) |
| skew/dead_zone_opened | 6 | 2.6h | spike=435 cost=+0.0079R shadow_trig=0.9921 |
| skipped/loss_cooldown | 5 | 16.1h | SPORTFUN/USDT:USDT 5.2h of 6.0h |
| exit/ratchet_stop | 5 | 5.2h | GPS/USDT:USDT LONG r=0.9817164558776116 |
| shadow_exit/stop | 2 | 2.3d | CROSS/USDT:USDT LONG r=-1.0000 |
| shadow_exit/ratchet_stop | 2 | 2.3d | CROSS/USDT:USDT SHORT r=1.0000 |
| ratchet/late_lock | 2 | 44.9h | WLFI/USDT:USDT SHORT desired=0.05689 mark=0.05714 |
| pair/aborted | 1 | 34.1h | JCT/USDT:USDT leg_LONG_binanceusdm {"code":-4402,"msg":"Dear user, as |
| repair/not_on_exchange | 1 | 34.1h | JCT/USDT:USDT LONG was pending |
| ratchet/amend_rejected | 1 | 21.1h | SPORTFUN/USDT:USDT binanceusdm {"code":-2021,"msg":"Order would immedi |
| exposure/dead_zone | 1 | 5.2h | GPS SHORT stopped, sibling at +0.9703R (corrected from stale peak) |
| exposure/resolved_fixed_better | 1 | 5.2h | spike=426 delta=-0.0307R pair=-0.0193R |
| exposure/exposed | 0 | 5.3h | GPS/USDT:USDT SHORT stopped, sibling peak=0.926 cost=0.030729676471642 |
Blocked symbols
| Symbol | Reason | Since |
|---|---|---|
| JCT | -4402 not available in your region | not recorded |
Permanently unavailable to this account (region or permission). Checked before sizing so no entry attempt is wasted, and never retried.
Journal rows
52
Errors
2
Stuck at SENT
0
a crash mid-flight
Orders placed
21
entry actions
Every error
| When | Spike | Side | Action | Result |
|---|---|---|---|---|
| 08-15 20:34:36 | 387 | LONG | stop_amend | ERR:binanceusdm {"code":-2021,"msg":"Order would immediately trigger."} |
| 08-15 07:32:24 | 339 | LONG | entry | ERR:binanceusdm {"code":-4402,"msg":"Dear user, as per our Terms of Use and compliance with local regulations, |
Write-ahead order journal newest 52
| When (UTC) | Spike | Side | Action | Client ID | Result |
|---|---|---|---|---|---|
| 08-16 15:02:38 | 435 | SHORT | stop | bw435Sk1 | OK |
| 08-16 15:02:38 | 435 | LONG | stop | bw435Lk1 | OK |
| 08-16 15:02:37 | 435 | SHORT | entry | bw435Se1 | OK |
| 08-16 15:02:36 | 435 | LONG | entry | bw435Le1 | OK |
| 08-16 12:25:04 | 426 | LONG | stop_amend | bw426Lk2 | OK |
| 08-16 11:32:29 | 426 | SHORT | stop | bw426Sk1 | OK |
| 08-16 11:32:29 | 426 | LONG | stop | bw426Lk1 | OK |
| 08-16 11:32:28 | 426 | SHORT | entry | bw426Se1 | OK |
| 08-16 11:32:27 | 426 | LONG | entry | bw426Le1 | OK |
| 08-15 20:35:16 | 387 | LONG | stop_amend | bw387Lk6 | OK |
| 08-15 20:35:06 | 387 | LONG | stop_amend | bw387Lk5 | OK |
| 08-15 20:34:56 | 387 | LONG | stop_amend | bw387Lk4 | OK |
| 08-15 20:34:46 | 387 | LONG | stop_amend | bw387Lk3 | OK |
| 08-15 20:34:36 | 387 | LONG | stop_amend | bw387Lk2 | ERR:binanceusdm {"code":-2021,"msg":"Order would imm |
| 08-15 19:32:38 | 387 | SHORT | stop | bw387Sk1 | OK |
| 08-15 19:32:38 | 387 | LONG | stop | bw387Lk1 | OK |
| 08-15 19:32:37 | 387 | SHORT | entry | bw387Se1 | OK |
| 08-15 19:32:36 | 387 | LONG | entry | bw387Le1 | OK |
| 08-15 17:40:25 | 369 | LONG | stop_amend | bw369Lk2 | OK |
| 08-15 15:02:47 | 369 | SHORT | stop | bw369Sk1 | OK |
| 08-15 15:02:47 | 369 | LONG | stop | bw369Lk1 | OK |
| 08-15 15:02:46 | 369 | SHORT | entry | bw369Se1 | OK |
| 08-15 15:02:45 | 369 | LONG | entry | bw369Le1 | OK |
| 08-15 10:36:54 | 346 | LONG | stop_amend | bw346Lk4 | OK |
| 08-15 10:36:44 | 346 | LONG | stop_amend | bw346Lk3 | OK |
| 08-15 10:36:34 | 346 | LONG | stop_amend | bw346Lk2 | OK |
| 08-15 09:32:52 | 346 | SHORT | stop | bw346Sk1 | OK |
| 08-15 09:32:52 | 346 | LONG | stop | bw346Lk1 | OK |
| 08-15 09:32:51 | 346 | SHORT | entry | bw346Se1 | OK |
| 08-15 09:32:50 | 346 | LONG | entry | bw346Le1 | OK |
| 08-15 09:30:10 | 343 | LONG | stop_amend | bw343Lk2 | OK |
| 08-15 09:17:32 | 343 | SHORT | stop | bw343Sk1 | OK |
| 08-15 09:17:31 | 343 | LONG | stop | bw343Lk1 | OK |
| 08-15 09:17:30 | 343 | SHORT | entry | bw343Se1 | OK |
| 08-15 09:17:30 | 343 | LONG | entry | bw343Le1 | OK |
| 08-15 07:32:24 | 339 | LONG | entry | bw339Le1 | ERR:binanceusdm {"code":-4402,"msg":"Dear user, as p |
| 08-14 20:17:35 | 321 | SHORT | stop | bw321Sk1 | OK |
| 08-14 20:17:35 | 321 | LONG | stop | bw321Lk1 | OK |
| 08-14 20:17:34 | 321 | SHORT | entry | bw321Se1 | OK |
| 08-14 20:17:33 | 321 | LONG | entry | bw321Le1 | OK |
| 08-14 11:47:30 | 292 | SHORT | stop | bw292Sk1 | OK |
| 08-14 11:47:29 | 292 | LONG | stop | bw292Lk1 | OK |
| 08-14 11:47:28 | 292 | SHORT | entry | bw292Se1 | OK |
| 08-14 11:47:27 | 292 | LONG | entry | bw292Le1 | OK |
| 08-14 09:33:19 | 281 | SHORT | stop | bw281Sk0 | OK |
| 08-14 09:33:19 | 281 | LONG | stop | bw281Lk0 | OK |
| 08-14 09:33:19 | 281 | SHORT | entry | bw281Se1 | OK |
| 08-14 09:33:19 | 281 | LONG | entry | bw281Le1 | OK |
| 08-14 07:17:27 | 275 | SHORT | stop | bw275Sk0 | OK |
| 08-14 07:17:27 | 275 | LONG | stop | bw275Lk0 | OK |
| 08-14 07:17:27 | 275 | SHORT | entry | bw275Se1 | OK |
| 08-14 07:17:27 | 275 | LONG | entry | bw275Le1 | OK |
Each row is written before the HTTP call and updated after it returns. A row left at
Stops live in Binance's algo-order namespace and are invisible to
SENT means the process died mid-flight; on restart the executor looks the order up by its deterministic client id instead of re-sending, so a crash cannot produce a duplicate position.Stops live in Binance's algo-order namespace and are invisible to
fetch_open_orders entirely — they are tracked by algoId.