Тема
jjavi — Amsterdam 15 August: evidence package and reproducible ledger
Three immutable snapshots: the original audit contains public activity through
2026-08-15T09:00:49Zand positions received at09:01:59Z..09:02:05Z. The tape addendum in section 13 was fetched around11:40Z. The end-to-end addendum in section 14 was fetched around14:15Z, after the last observed jjavi fill at12:15:16Z. Mutable API calls were saved as separate raw files rather than overwriting earlier evidence.Supersession notice: section 13 supersedes the original snapshot's claims that the maker/taker role and disposition of the final
151.8976 NO26were unknown. Section 14 supersedes the open-portfolio boundary in section 13 using the known terminal result23°C. Neither addendum rewrites an earlier snapshot as if later fills had already happened.
1. Direct answers
Is the behavior already described in the Yield Calculator PDF?
Yes, at the level supported by this event. NegRisk Coverage Band Yield Calculator v2.pdf now uses the final 149-fill ledger and describes the conditional 21–24°C payout floor, cheap maker ladders as branch completion, and NO26 as a hedge that was monetised to subsidise the YES basket. It also preserves the fee-aware EV boundary and the distinction between one profitable event and proven long-run +EV. It does not pretend that the private bucket-selection signal, target-share tolerance, or exit triggers have been recovered.
Can the complete market tape and price history recover more of the algorithm?
Yes. For this event, trades?eventId=842167&limit=10000&takerOnly=false returned the entire available snapshot in one page: 6,917 participant rows representing 2,708 unique transaction hashes. Comparing it with the default takerOnly=true tape makes the role observable: a jjavi row present in the taker-only result is a taker fill; a jjavi row present only in the all-participants result is a maker fill.
The exact URL with filterType=CASH&filterAmount=1 is not sufficient for this account. At the same snapshot it returned 2,473 taker rows and only 7 jjavi rows, while the unfiltered all-participants tape contained 132 jjavi rows. It removes the micro-fills that characterize the low-price passive strategy and, because takerOnly defaults to true, also removes maker fills.
Is this a successful completed event?
Yes, under the known terminal result 23°C. Total BUY cash was $933.842980, actual SELL cash was $486.069248, and the held YES23 inventory pays $2,018.145100. Including the reconciled 0.007687 NO26 dust gives terminal economic PnL +$1,570.379055, or +168.16% relative to total BUY cash.
Gamma had not yet marked the event resolved at the final collection time, so no REDEEM row was present. That is a settlement-status distinction, not payout uncertainty under the supplied 23°C result. One highly profitable event still does not establish the strategy's long-run +EV; that requires a terminal, fill-verified sample across many events without survivorship filtering.
What was the purpose of the cheap YES fills?
They are best explained as cheap completion of a selected payout band, not as independent lottery tickets. Across YES21..YES24, the bot ended with 1,695–2,041 shares per bucket even though the fee-aware entry VWAPs ranged from 0.0050 to 0.2497. If any one of these four mutually exclusive buckets wins, its payout alone exceeds the full $933.842980 gross BUY cash spent on the event. After monetising NO26, the minimum terminal profit within this band is $1,247.391913.
The guarantee is conditional, not market-wide: it holds only if the winner is in 21–24°C. The final portfolio still loses about $447.77 at 25°C, 26°C, 20°C/below, 29°C, or 30°C/higher; YES27 covers most but not all of the net cost, while YES28 is a separately covered cheap branch. The fills prove the resulting payout geometry. They do not expose the private signal that selected these particular buckets or prove that equalising shares was an explicit hard-coded target.
What exit behavior is now observed for NO 26°C?
Three price tiers and their execution roles are observed:
- A block sale of exactly
300shares (50.435%of the original NO inventory) at quoted price0.765021; fee-aware cash price0.756032833; return over fee-aware entry+22.501%. This was a taker exit. - Six fills totalling
142.926665shares at quoted/cash price0.90; return over fee-aware entry+45.828%. All six were maker fills. - Four fills totalling
151.89shares at0.86; return over fee-aware entry+39.346%. All four were maker fills and reduced the position to dust.
No fixed time step or fixed share decrement is observed. The 54 / 10 / 44 / 5.06 / 10 / 19.866665 fragments at 0.90, and 50 / 5.1 / 4.42 / 92.37 at 0.86, are fills, not evidence of ten independent decisions.
The observed policy is therefore closer to: take roughly half immediately at a profitable taker price, offer the rest passively at 0.90, then lower the passive offer to 0.86 and finish. The exact placement/cancellation times and the condition that caused the reprice from 0.90 to 0.86 are still not public; that sentence is an inferred policy, not recovered source code.
The first sale occurred while coarse NO price history moved from 0.80 (23:00) to 0.79 (23:10) and then 0.745 (23:20). A fill at 0.765021 at 23:13:15 is therefore also compatible with a protective/trailing trim during a decline, not only an absolute take-profit. The exact trigger remains not observable without a causal order-book snapshot and the unfilled/cancelled order stream.
What does the supplied prices-history URL add?
The supplied token is YES 26°C; its paired token is the traded NO 26°C. Both raw histories are included below. fidelity=15 produced points roughly 900 seconds apart, so it means a 15-minute sampling interval here, not 15 seconds. This is useful for the surrounding price path but is not a historical order book and cannot show spread, depth, queue position, or when a limit order was posted or cancelled.
2. Evidence manifest
| Artifact | Contents | SHA-256 |
|---|---|---|
090237Z-activity.tsv | All 78 deduplicated event TRADE rows through the cutoff, including timestamp, condition/token, side, size, price, cash and tx hash | ad6f5078355a97f1969fb32f79657bae1b8d889b0baa57c48e7ae7ebfd1cdce3 |
090205Z-positions.json | Five unmodified Data API position records and per-response receipt times | ebe0e943b2e19eacf33d896d38f4252c28bf76126c2003673832ce58a422050a |
Second snapshot and tape controls:
| Artifact | Rows/points | Contents | SHA-256 |
|---|---|---|---|
event-trades-taker-false.json | 6,917 | Full event participant tape, one page, no cash filter, takerOnly=false | 7fe92c62d957e198d75354d4711083570c7e4de0e80744ff960b128545317401 |
event-trades-taker-true.json | 2,708 | Same event with takerOnly=true; control used to classify jjavi's execution role | f58e25bc5b0bd143b81498517f77d6d498bcb69af5f48ecfb1c38bc93d8738f5 |
event-trades-taker-true-cash-gte-1.json | 2,473 | Same default taker tape with the proposed CASH >= 1 filter | c8bba676e6f104939077df9021645cc9241da08242f7e760b0e9383b2a6fff37 |
jjavi-trades-taker-false.json | 133 | Server-side eventId + user + takerOnly=false subject extract | 49c18def6bee2b100728462c44e939b71169f50f2f8c03bb6cf2f83d5639e469 |
jjavi-activity.json | 135 | Later subject activity receipt with fee-aware usdcSize; two YES28 fills arrived after the tape files | a4c843348c6916c5fff0b83f3f35ef2ba4dc7066a580726dab9371ccb6c20605 |
current-positions.json | 6 | Open positions at the second snapshot | c0472ed38a4fdf839b6ec7e17c6ea5d8f118d8a8ce1e6a296154a44c8197e82d |
closed-positions.json | 1 | Closed NO26 position and reported realised PnL | 9bd1fafaa098db67794991a1b17b39bacdaa0f71f041f00ecf1f00354d14a1cd |
yes26-price-history-fidelity-15.json | 219 | Supplied YES26 price-history query | 7ddfcbd398d0532b69329a0d84f2517db724b31008940606aba0f80dc9dd40ba |
no26-price-history-fidelity-15.json | 219 | Paired NO26 price history over the same range | 6e0b1e6eaad5f59494330853b0c1b44208458d425bb4dcc1f20390ac6e143f16 |
event.json | 1 | Raw Gamma event and all 11 market/token mappings | dea0457835c0bd10360cd5bf073eca4800159881512158a3c572fddf9ec59eb4 |
The raw files intentionally remain compact API responses rather than reformatted or normalized copies. The 11:40 prefix identifies the collection batch, not a claim that every mutable API response was simultaneous. The activity response contains two trades at 11:39:33Z that were created after the event/user tape responses; analyses must use an explicit cutoff or treat those files as adjacent receipts, not an atomic snapshot.
End-to-end snapshot after the final observed fill:
| Artifact | Rows | Contents | SHA-256 |
|---|---|---|---|
141456Z-jjavi-activity.json | 149 | Complete event activity through 12:15:16Z; all rows are TRADE | 6e9eae19ce7a19473e4d08db8a70c733ae304917fb2b6780f1d142bb48d6ab30 |
141456Z-fill-ledger-with-role.tsv | 149 | Chronological fill ledger with maker/taker role reconstructed against the taker control | 24b9187b672b0ccf08dceca9872071ed127391211f18d84e42e4b242a2b64873 |
141456Z-event-trades-taker-false-p0.json | 8,754 | Entire all-participant event tape in one page | bed2733e4337b2d75100986603b8870df93cec9f9baed0c2f4a221ae7a7ed346 |
141456Z-event-trades-taker-true.json | 3,342 | One-row-per-taker control used for execution-role classification | 6d5bf2e83fc0d1cab1942f4d2a2715f61dc4f213a0cb4576f416be08eb3449ed |
141456Z-jjavi-trades-taker-false.json | 149 | Subject-only all-participant trade response | 6d315eedaa85024bc22c4d1aeb8cca2db0d86f69dfd809f42b5ad863b672266e |
141456Z-current-positions.json | 6 | Final pre-resolution open YES inventory | c8b4702585582370f444decf086473c29d0334210f3dfe5f888ffce62901fe45 |
141456Z-closed-positions.json | 1 | Closed NO26 anchor | 0b3e9e60e72096d0936a2b9da34e57b2606a35aecad688ed21dec93b537ff251 |
141456Z-event.json | 1 | Gamma rules, token mapping and pre-resolution prices | 21654fd209b1911f0ceee63deda2a021e1e0caecd9e1c7ccab1236e40370f9ea |
141456Z-event-low-price-015-window-30m.json | 11 baskets | Deterministic all-participant takerOnly=true matched-flow report at price <= 0.15, with shares-weighted CLOB samples at ±30 minutes | 0742cd5ca57d88b7c1e66a65a6b615cb2cec9c224e9116ff9dae4c131ba2cd52 |
141456Z-terminal-payoff-by-winner.tsv | 11 | Deterministic frozen-portfolio payout for every winning bucket | 2205a6a0bc6632103c889ea8d62910696cf4ba807d96270c6dca72b848db4e1d |
141456Z-coverage-and-hedge-summary.json | — | Derived coverage floor, per-branch cost coverage, and realised NO26 subsidy; calculated only from the frozen activity snapshot | 5f72d8f52349de4d810f62add925ed1c6f85bf9af754f64b1bdb33efd5a44daa |
141456Z-yes-price-history-5m/ | 11 files | Five-minute YES price histories for every event bucket | combined hash 7e78c8bfb88a5c7e49e55e4b4ce91e95f17f796f3a98adfdce3a5bcefcd190e4 |
141456Z-SHA256SUMS | — | Per-file integrity manifest for the final raw and derived package | 44e7a96f7c1e94c2a3e658d6e539b66ba10c60f0e42e94f09d3f8687ffb73b5b |
Tool identity used for the investigation:
text
./scripts/polymarket --version
polymarket 0.1.5
sha256sum ./scripts/polymarket
9b99d84d37e23f401ee33a3c4da26359be9dd343a871eee4ad564c470e83aaecWallet identity:
text
profile name: jjavi
proxy wallet: 0x6FF2CB14da8BE7Eb57541D250A0196C5F295f1403. Sources and reproducible queries
Official public sources:
- Data activity:
https://data-api.polymarket.com/activity?user=<wallet>&limit=500&offset=0 - Event participant tape:
https://data-api.polymarket.com/trades?eventId=842167&limit=10000&offset=0&takerOnly=false - Event taker control:
https://data-api.polymarket.com/trades?eventId=842167&limit=10000&offset=0&takerOnly=true - Cash-filter control: append
&filterType=CASH&filterAmount=1to the taker control - Data positions:
https://data-api.polymarket.com/positions?user=<wallet>&market=<condition_id>&limit=20&offset=0 - Data closed positions:
https://data-api.polymarket.com/closed-positions?user=<wallet>&eventId=842167&limit=50&offset=0 - Gamma event:
https://gamma-api.polymarket.com/events/842167 - CLOB book:
https://clob.polymarket.com/book?token_id=<token_id> - CLOB absolute price history:
https://clob.polymarket.com/prices-history?startTs=<unix>&market=<token_id>&fidelity=15 - CLOB history through the local CLI:
./scripts/polymarket clob price-history <NO26-token> --interval max -o json
The Data API documents limit <= 10000 and offset <= 10000. Because the all-participant response contained only 6,917 rows, this particular event fit in one page at collection time. For an active event, offset pagination is not atomic: newly inserted trades can shift later pages. Use one maximum-size page when it fits; otherwise overlap pages, deduplicate by the fill key, and take the final archival snapshot after the event stops mutating.
Event activity coverage check:
text
offset 0: total_rows=500, event rows present
offset 500: total_rows=500, event_rows=0
offset 1000: total_rows=500, event_rows=0The event extract applies this logical deduplication key:
text
(transactionHash, timestamp, asset, side, price, size)The raw source had no duplicates under this key. The evidence TSV additionally applies the explicit cutoff timestamp <= 1786784449 so later wallet mutations cannot rewrite this audit.
4. Raw event metadata used
json
{
"id": "842167",
"slug": "highest-temperature-in-amsterdam-on-august-15-2026",
"title": "Highest temperature in Amsterdam on August 15?",
"active": true,
"closed": false,
"endDate": "2026-08-15T12:00:00Z",
"negRisk": true,
"enableNegRisk": true,
"negRiskAugmented": false,
"markets_count": 11
}Held-market mapping at the snapshot:
| Bucket/outcome | Condition ID | CLOB token used |
|---|---|---|
| YES 21°C | 0xbbf3668e90fcb160ca1d5451a0493de6950870f4e857851082f7e7118c4b6af4 | 0x9ebd2c3d0b60fdd9b8ee517e57b3d47f1e74c867392f569a980c11b6d8363c03 |
| YES 22°C | 0x5fbadc95c3c2c217773bce9fcb0fcc19c9a58ca8d22c7c5c4148760e83ad3ec6 | 0x6b08162eaf129ca35785ce2db751a98b5fe12e66c0c6f024242860f93c0fa4ab |
| YES 23°C | 0xe32bc4c6aa027e80482c252035416234e58ff2925555e83e3894d752b3db4ffb | 0xa1d15ee022cdb26ddb7409a0ed9efdbe258140e81d033222e76317363f82323f |
| YES 24°C | 0x4f1b9e2a40c5d130cdf966d9ed08beb00be83bd0720f77be8ff1153c675795bd | 0x7423a456ed5e9b5ab88d413254ad630731cf6edc4525ae8c0cde9a3462abbdf8 |
| NO 26°C | 0x41b8cb46444cea91aafe2f4d089078b586c8d73ef298c1941efdb122e550c645 | 0x81cb71444d9093d2038ab5a03b09171d871fd1429ab6640e0d0edf1f5fff6f57 |
5. Raw-fill aggregation
The following is obtained by summing size and usdc_size in the TSV without substituting avgPrice or currentValue:
| Bucket | Side | Fill rows | Shares | Cash (usdc_size) | Cash VWAP |
|---|---|---|---|---|---|
| 21°C YES | BUY | 28 | 2040.976000 | 10.281936 | 0.0050377545 |
| 22°C YES | BUY | 32 | 1768.820085 | 35.648221 | 0.0201536727 |
| 23°C YES | BUY | 4 | 2018.145100 | 81.572306 | 0.0404194456 |
| 24°C YES | BUY | 6 | 1695.157958 | 423.230796 | 0.2496704180 |
| 26°C NO | BUY | 1 | 594.824352 | 367.106018 | 0.6171670961 |
| 26°C NO | SELL | 7 | 442.926665 | 355.443848 | 0.8024891615 |
Inventory reconciliation for NO26:
text
594.824352 BUY − 442.926665 SELL = 151.897687
Data API current size = 151.897600
rounding difference = 0.000087This accounts for the entire NO balance through CLOB fills. There is no unexplained NO burn requiring convertPositions as an explanation.
6. Complete observed NO26 exit ladder
Fee-aware entry cash price:
text
367.106018 / 594.824352 = 0.6171670961| UTC | Shares | Quoted price | Cash proceeds | Effective cash price | Return vs entry | Cumulative original sold |
|---|---|---|---|---|---|---|
| 2026-08-14 23:13:15 | 300.000000 | 0.765021000 | 226.809850 | 0.756032833 | +22.501% | 50.435% |
| 2026-08-15 08:34:55 | 54.000000 | 0.900000000 | 48.600000 | 0.900000000 | +45.828% | 59.513% |
| 2026-08-15 08:52:13 | 10.000000 | 0.900000000 | 9.000000 | 0.900000000 | +45.828% | 61.195% |
| 2026-08-15 08:53:15 | 44.000000 | 0.900000000 | 39.600000 | 0.900000000 | +45.828% | 68.592% |
| 2026-08-15 08:59:22 | 5.060000 | 0.900000000 | 4.554000 | 0.900000000 | +45.828% | 69.442% |
| 2026-08-15 08:59:24 | 10.000000 | 0.900000000 | 9.000000 | 0.900000000 | +45.828% | 71.124% |
| 2026-08-15 09:00:49 | 19.866665 | 0.899999975 | 17.879998 | 0.899999975 | +45.828% | 74.463% |
Realised profit reconciliation:
text
NO sell proceeds = 355.443848
allocated fee-aware cost of sold NO = 273.360048
realised PnL = 82.083800
Data API realisedPnl = 82.0838007. Position snapshot and PnL reconstruction
The exact five Data API objects are in the positions JSON. Their API display totals are:
text
remaining initialValue = 627.270600
currentValue = 1294.936100
cashPnl = 667.665100
realizedPnl = 82.083800
display combined PnL = 749.748900The fee-aware event ledger uses actual usdc_size instead:
text
all BUY cash outflow = 917.839277
all SELL cash inflow = 355.443848
net cash still out = 562.395429
current marked value = 1294.936100
fee-aware marked PnL = 732.540671The 17.208229 difference from display PnL is the difference between raw cash and the rounded/fee-excluding avgPrice × size basis used by open-position cashPnl.
Fee-aware contribution by leg:
| Leg | Realised | Unrealised mark | Total contribution |
|---|---|---|---|
| YES 21°C | 0 | −9.261536 | −9.261536 |
| YES 22°C | 0 | +9.456679 | +9.456679 |
| YES 23°C | 0 | +261.512294 | +261.512294 |
| YES 24°C | 0 | +348.066004 | +348.066004 |
| NO 26°C | +82.083800 | +40.683430 | +122.767230 |
| Total | +82.083800 | +650.456871 | +732.540671 |
Therefore most apparent success comes from unrealised repricing of YES23 and YES24, not from closed profit. The only realised result is the NO26 trim.
8. Terminal payoff if the snapshot is frozen
Using net cash outflow 562.395429 and remaining inventory:
| Winning event bucket | Payout | Terminal PnL |
|---|---|---|
| 21°C | 2192.8736 | +1630.4782 |
| 22°C | 1920.7176 | +1358.3222 |
| 23°C | 2170.0427 | +1607.6473 |
| 24°C | 1847.0555 | +1284.6601 |
| 26°C | 0 | −562.3954 |
| Any other bucket | 151.8976 | −410.4978 |
These are counterfactual terminal branches for the frozen portfolio, not realised outcomes and not substitutes for the trader's actual future exit policy.
9. Retained CLOB evidence and its limitation
Sequential book reads were taken between 09:00:28.995Z and 09:01:08.956Z. The full raw book bodies were not persisted before the user requested this evidence package; only the exact calculated summaries below were retained. They must not be represented as a synchronized raw book capture.
| Leg | Book time | Position size used | Total bid shares | Fillable shares | Full/partial bid VWAP |
|---|---|---|---|---|---|
| YES21 | 09:00:28.995 | 2040.9760 | 0 | 0 | none |
| YES22 | 09:01:04.114 | 1768.8200 | 1822.35 | 1768.82 | 0.00140750 |
| YES23 | 09:01:08.719 | 2018.1451 | 963.55 | 963.55 | 0.04736236 |
| YES24 | 09:01:08.895 | 1695.1579 | 968.58 | 968.58 | 0.10389808 |
| NO26 | 09:01:08.956 | 171.7643 (stale size) | 11597.90 | 171.7643 | 0.77340533 |
Consequences supported by this retained evidence:
- the displayed mark PnL was not fully cash-realizable;
- YES21 had no bid;
- YES23 and YES24 lacked enough bid shares for a full exit;
- the NO26 row used a stale pre-final-fill size and is unsuitable for an exact synchronized liquidation total.
10. Historical price points around NO26 sales
clob price-history is sampled price history, not a historical order book. Retained points:
| UTC minute | Price |
|---|---|
| 2026-08-14 23:00 | 0.800 |
| 2026-08-14 23:10 | 0.790 |
| 2026-08-14 23:20 | 0.745 |
| 2026-08-15 08:30 | 0.865 |
| 2026-08-15 08:40 | 0.870 |
| 2026-08-15 08:50 | 0.890 |
| 2026-08-15 09:00 | 0.875 |
The first 300-share sale is bracketed by a declining sampled path. The later 0.90 fills occur around sampled prices 0.865..0.890, which is consistent with intermittent fills of a passive sell limit, but cannot prove placement time or desired total size.
11. Observer coverage boundary
Read-only VPS SQLite inspection found:
text
pm-trader-observer-jjavi.service = inactive
book_snapshots rows = 628020
first observed_at_ms = 1786721103365
last observed_at_ms = 1786741300788
Amsterdam SELL activity rows = 0The last recorded book was 2026-08-14T21:01:40.788Z; the first NO26 SELL was 2026-08-14T23:13:15Z. Therefore the observer stopped more than two hours before the first exit and cannot establish the decision-time spread, depth, imbalance, or no-action controls.
12. Evidence labels at the initial 09:00 snapshot
This section records what was supportable before the event-wide tape was added. Statements about maker/taker role and the unsold NO balance are superseded by section 13; the other limitations remain.
Observed:
- exact BUY/SELL fills and cash fields in the activity TSV;
- partial NO26 exit at two price tiers;
- exact current inventory reconciliation without a NO burn;
- positive realised NO26 PnL
+$82.0838; - positive but mostly unrealised marked PnL at the position snapshot;
- incomplete contemporaneous bid liquidity in the retained sequential book summaries.
Inferred:
- the repeated
0.90fills probably belong to a passive limit order or a small set of orders at the same target; - the first 300-share sale may be a roughly 50% profit trim or a protective exit after a local NO price peak;
- NO sale proceeds may have financed later YES additions, but public data does not expose an internal capital-allocation label.
Not observable from retained evidence:
- order placement/cancellation time, maker/taker role and intended order size;
- whether the
0.765021condition is absolute price, ROI, trailing drawdown, probability rank, book imbalance, weather observation, or a combination; - whether the unsold
151.8976 NO26was deliberately reserved or merely unfilled at0.90; - exact strategy profitability until fills are closed/redeemed and the event resolves without survivorship filtering.
The next acceptable test of an exit rule requires causal books at every SELL plus matched same-token no-action controls. The stopped observer did not collect that interval, so an exact causal threshold cannot be recovered retrospectively from price history alone.
13. Event-wide tape addendum (~11:40Z)
13.1 Completeness and filter experiment
The three raw event responses give a direct controlled comparison:
| Query mode | Rows | Unique tx hashes | jjavi rows |
|---|---|---|---|
takerOnly=false, no cash filter | 6,917 | 2,708 | 132 |
takerOnly=true, no cash filter | 2,708 | 2,708 | 11 |
default taker-only plus CASH >= 1 | 2,473 | 2,473 | 7 |
The all-participant response has more than two rows per transaction in aggregate because one taker execution can match multiple maker orders. Its 6,917 < 10,000 row count establishes that the event fit in the requested page at that receipt time. It does not make an active endpoint transactionally immutable.
For jjavi, the proposed URL exposes only 7 / 132 = 5.3% of the subject rows present in the unfiltered all-participant tape. It therefore cannot be the primary evidence source for this strategy. Use takerOnly=false and no server-side amount filter; apply analytical thresholds locally after the raw response is persisted.
The subject-only trade response has 133 rows, and the slightly later activity response has 135. The two activity-only rows are YES28 buys at 11:39:33Z. This is expected drift between adjacent calls to an active market, not a deduplication error.
13.2 Maker/taker reconstruction
Role is classified by the presence of the same wallet row, not merely the same transaction hash, in the takerOnly=true control. A transaction hash appears in the taker tape even when jjavi was maker, because the counterparty's taker row is present.
At the event-tape receipt, only 11 of jjavi's 132 rows were taker rows; 121 were maker rows. Thus 91.7% of the observed subject rows were passive-side executions. This directly supports a passive low-price bidding mechanism and explains the numerous fragmented fills at exact price levels such as 0.002, 0.005, 0.008, and 0.020. It does not reveal when those limits were placed or how far they sat from the contemporaneous best bid/ask.
For NO 26°C, execution roles are exact:
| Action | UTC | Shares | Quoted price | Role |
|---|---|---|---|---|
| BUY | 2026-08-14 19:38:43 | 594.824352 | 0.605220679 | taker |
| SELL | 2026-08-14 23:13:15 | 300.000000 | 0.765021000 | taker |
| SELL tier | 2026-08-15 08:34:55..09:00:49 | 142.926665 in 6 fills | 0.900000000 | maker |
| SELL tier | 2026-08-15 09:21:19..10:11:24 | 151.890000 in 4 fills | 0.860000000 | maker |
13.3 Complete NO26 ledger
Fee-aware entry basis from activity usdcSize:
text
BUY cash / BUY shares = 367.106018 / 594.824352 = 0.6171670961| Tier | Fills | Shares | Cash proceeds | Effective cash price | Return vs entry | Realised PnL |
|---|---|---|---|---|---|---|
taker 0.765021 | 1 | 300.000000 | 226.809850 | 0.756032833 | +22.501% | +41.659721 |
maker 0.90 | 6 | 142.926665 | 128.633998 | 0.899999997 | +45.828% | +40.424363 |
maker 0.86 | 4 | 151.890000 | 130.625400 | 0.860000000 | +39.346% | +36.883890 |
| Total sold | 11 | 594.816665 | 486.069248 | 0.817174899 | — | +118.967974 |
Inventory and PnL reconciliation:
text
594.824352 bought - 594.816665 sold = 0.007687 NO dust
pro-rata fee-aware realised PnL = 118.967974
Data API closed-position realisedPnl = 118.967700
rounding difference = 0.000274Subtracting the entire $367.106018 entry cash from proceeds gives $118.963230; the $0.004744 difference is the fee-aware cost basis of the 0.007687 residual dust. This explains the two defensible totals instead of treating the discrepancy as an API error.
13.4 Price-history evidence
The supplied decimal token ID 101499751086362065576178614498558620908321047957444790295118593670413813098432 is YES 26°C. The NO token sold by jjavi is 58707809160173458979728895032303842312851256717980097247292434992996103974743.
Each fidelity=15 response has 219 points. Adjacent timestamps are approximately 900 seconds apart. Selected NO points surrounding the exit tiers are:
| UTC | Sampled NO price |
|---|---|
| 2026-08-14 23:00:14 | 0.800 |
| 2026-08-14 23:15:14 | 0.745 |
| 2026-08-15 08:30:13 | 0.865 |
| 2026-08-15 08:45:08 | 0.835 |
| 2026-08-15 09:00:14 | 0.875 |
| 2026-08-15 09:15:09 | 0.855 |
| 2026-08-15 09:30:11 | 0.825 |
| 2026-08-15 09:45:12 | 0.830 |
| 2026-08-15 10:00:13 | 0.835 |
| 2026-08-15 10:15:12 | 0.890 |
The 0.90 and 0.86 maker executions are consistent with passive asks being touched while the sampled price moved around them. The series cannot distinguish one persistent order from several cancel/replaces and must not be interpolated as a historical bid/ask book.
13.5 Updated algorithm hypothesis
The strongest evidence-backed formulation for this one anchor trade is:
text
1. Cross the spread to acquire a liquid NO anchor when the algorithm wants immediate exposure.
2. When profitable, cross again to remove about half: 300 / 594.824352 = 50.435%.
3. Offer the remainder passively at a high fixed price, observed here at 0.90.
4. If that level does not finish, cancel/reprice the residual lower, observed here at 0.86,
and allow incoming takers to consume it in fragments.
5. Stop when only non-economic dust remains.Steps 1, 2, the executed price levels, roles, quantities, and dust are observed. A single 0.90 order, a later cancel/reprice, and the motivation for the 0.86 level are inferred. No fixed time cadence or fixed child-order size is supported: fragment sizes are determined by counterparty matches.
Across the wider event, the 91.7% maker-row share supports the broader entry hypothesis that jjavi posts passive bids at discrete low prices and accumulates only when other traders sell into them. Exact entry gates based on spread, depth, rank, remaining time, or sibling-price sums remain unidentified because neither endpoint preserves historical books or unfilled/cancelled orders.
13.6 Current portfolio boundary
The second current-position response contains six open YES legs: 21, 22, 23, 24, 27, and 28. Their API display totals are:
text
initialValue = 544.3865
currentValue = 1573.9022
cashPnl = 1029.5154These are open marked values, not fill-verified exit proceeds. The completed NO26 anchor is a realised success, but a profitability verdict for the full construction still requires terminal or actual exit fills for every open YES leg and no survivorship filtering.
14. End-to-end reconstruction with terminal winner 23°C
14.1 Coverage
The final activity and subject-trades responses both contain exactly 149 rows. The activity page is below its 500-row cap, starts at the wallet's first Amsterdam fill, and all position inventories reconcile. The all-participant event tape contains 8,754 rows and 3,342 unique transaction hashes, below the requested 10,000 limit. This event therefore has no observed API pagination truncation.
All 149 wallet rows are TRADE. There are no SPLIT, MERGE, CONVERSION, REDEEM, reward, or rebate rows attributed to this event. The neg-risk construction was assembled and unwound with CLOB trades; public activity provides no evidence that convertPositions produced the profit.
Execution-role comparison yields 138 maker and 11 taker fills. Thus 92.6% of wallet fill rows are passive, but most dollars were not passive low-price bets: YES24 + NO26 consumed 84.63% of all BUY cash and were entered entirely as taker trades.
14.2 Whole-market movement
Five-minute CLOB histories show the rotation of the market's modal temperature. Prices below are the last sampled YES price at or before each milestone, not historical executable books:
| Bucket | Initial entry 19:38 | First NO trim 23:13 | NO 0.90 starts 08:34 | NO exit complete 10:11 | Market end 12:00 | Near-terminal 14:00 |
|---|---|---|---|---|---|---|
| 21°C | 0.0030 | 0.0025 | 0.0005 | 0.0005 | 0.0005 | 0.0005 |
| 22°C | 0.0070 | 0.0085 | 0.0285 | 0.0005 | 0.0005 | 0.0005 |
| 23°C | 0.0500 | 0.1150 | 0.1650 | 0.0750 | 0.5000 | 0.9150 |
| 24°C | 0.0950 | 0.2750 | 0.3950 | 0.3950 | 0.4200 | 0.0700 |
| 25°C | 0.3200 | 0.3650 | 0.3000 | 0.4100 | 0.1050 | 0.0190 |
| 26°C | 0.4150 | 0.2100 | 0.1350 | 0.1500 | 0.0250 | 0.0100 |
| 27°C | 0.1350 | 0.0650 | 0.0150 | 0.0250 | 0.0100 | 0.0050 |
| 28°C | 0.0350 | 0.0005 | 0.0015 | 0.0050 | 0.0050 | 0.0035 |
The market initially favoured 25–26°C, rotated toward 24–25°C, and only after the nominal market end moved decisively to 23°C. jjavi's largest winning fill — 2,000 YES23 @ 0.04 — occurred at 19:52:33Z, before that rotation was visible in the sampled market price.
14.3 Coverage-band sizing and execution
The important invariant is the resulting payout per covered branch, not equal dollars per order:
| Leg | BUY cash | Cash VWAP | Final shares/payout if it wins | Payout / all $933.84 BUY cash | Terminal PnL after NO harvest |
|---|---|---|---|---|---|
| YES21 | 10.281936 | 0.005038 | 2,040.976000 | 2.186× | +1,593.209955 |
| YES22 | 35.648221 | 0.020154 | 1,768.820085 | 1.894× | +1,321.054040 |
| YES23 | 81.572306 | 0.040419 | 2,018.145100 | 2.161× | +1,570.379055 |
| YES24 | 423.230796 | 0.249670 | 1,695.157958 | 1.815× | +1,247.391913 |
These four legs cost $550.733259 and their acquired VWAPs sum to 0.315281291. That sum is a descriptive reconstruction across asynchronous fills, not a claim that all four prices were simultaneously executable. Their share counts cluster around a common payout target despite very different prices: the cheapest missing branches required little cash, while the expensive 24°C branch required aggressive taker buys. Every individual 21–24°C payout exceeds not merely the four-leg basket cost, but the account's entire $933.842980 gross BUY cash for the event.
This supports a coverage-band interpretation: choose a set of plausible neighbouring buckets, then buy enough shares in each to raise the minimum payout if the winner lies in that set. It is not proof that the private code uses a literal equal-share target; observed holdings differ by up to 345.818042 shares and public data does not expose intended but unfilled quantities.
For an ideal equal-share basket with selected set S, target payout Q, and executable entry prices p_i:
text
basket_cost = Q * sum(p_i, i in S)
conditional_profit = Q - basket_cost
profitable for every covered branch iff sum(p_i, i in S) < 1This is only a conditional guarantee because 21–24°C is not the entire event. For the actual unequal inventory, the correct post-harvest branch test is:
text
PnL(i) = YES_shares(i) + NO26_terminal_payout(i) - net_deployed14.4 How the cheap maker ladders fit the construction
Every executed entry level is recoverable:
| Bucket | Maker BUY levels | Taker BUY levels | Role in resulting portfolio |
|---|---|---|---|
| YES21 | 0.002, 0.005, 0.006 | — | passively complete 2,040.976 shares for only $10.28 |
| YES22 | 0.005, 0.008, 0.025, 0.030 | 0.012, 0.029333 | raise a cheaper branch toward the common payout range |
| YES23 | 0.040, 0.060, 0.120 | — | 2,000-share maker block plus small later completion |
| YES24 | — | 0.110 through 0.279843, later 0.166981 | actively build the expensive branch needed for the payout floor |
| NO26 | — | 0.605221 | immediately acquire a broad non-26 payoff and monetisable reserve |
| YES27 | 0.020 | — | small $8 extension; 399.981 shares do not fully cover final net cost |
| YES28 | 0.002 | 0.002 probe | cheap $8 extension whose 4,001-share payout does cover the portfolio |
There is no single global 1–5¢ entry threshold. Cheap prices make it inexpensive to fill a missing payout branch: a maker fill of Q shares at price p adds $Q of conditional payout for only $Qp of cost. The economic control variable is therefore plausibly target branch payout versus incremental cost, while the observed price ladders are the execution mechanism. The private rule that decides which buckets belong to the coverage band remains unknown.
14.5 Reconstructed state machine
The revised highest-confidence algorithm for this event is:
text
SELECT_COVERAGE_BAND
select the plausible/leading temperature region to cover
observed resulting core set: YES21, YES22, YES23, YES24
SET_PAYOUT_FLOOR
size each core branch toward roughly 1,700-2,000 terminal dollars
exact target and tolerance are inferred, not observable
BUILD_COVERAGE
taker BUY the expensive/urgent YES24 branch
place passive bucket-specific ladders for cheap YES21/22/23
keep cheap bids resting until fills lift branch payout toward the target range
ADD_MONETIZABLE_NO_ANCHOR
taker BUY 594.824352 NO26 for $367.106018
while held, it pays on every terminal bucket except exactly 26°C
if probability rotates away from 26°C, its mark rises alongside the lower YES thesis
HARVEST_NO_ANCHOR
taker SELL 300 shares at +22.501% fee-aware return
maker SELL 142.926665 at 0.90
maker SELL 151.89 at 0.86
realised cash profit: $118.963230; retain only 0.007687 dust
EXTEND_COVERAGE_CHEAPLY
add YES28 at 0.002 and YES27 at 0.02 for about $8 each
HOLD_YES_TO_SETTLEMENT
no YES sells, no stop-losses, no conversion
exactly one winning YES branch pays; the rest expire at zeroChronology is consistent with this staged construction, but the labels are analytical states, not public order instructions. YES28 accumulation began at 09:03:04Z, the NO26 exit completed at 10:11:24Z, and YES27 accumulation began at 10:14:30Z. The final YES28 maker fill at 12:15:16Z may have consumed an older resting order; it does not prove a new post-12:00 decision.
14.6 NO26 as hedge, reserve, and cost subsidy
While held, NO26 is a structural hedge against every terminal result except exactly 26°C:
text
winner j in held YES set, j != 26: payout = NO26_shares + YES_shares(j)
winner j outside held YES set, j != 26: payout = NO26_shares
winner j = 26: payout = 0It is not a conventional negatively correlated hedge. A rotation from 26°C toward 21–24°C raises NO26 at the same time as it strengthens the selected YES thesis, allowing the bot to turn the broad non-26 claim into cash before settlement. Here $367.106018 of NO26 was sold for $486.069248, a realised gain of $118.963230. That gain financed 20.990907% of the entire $566.736962 YES basket and reduced total net deployed cash to $447.773732.
This interpretation matches the user's proposed role: keep a reserve while the low-temperature YES positions develop, then harvest it as NO26 appreciates. It is still a risky construction: 26°C is the shared hole, and selling NO26 removes its terminal floor from all other uncovered outcomes. The executed exit tiers are observed; the causal signal for the first trim and the 0.90 -> 0.86 reprice remains unobservable.
14.7 Terminal cash-flow for winner 23°C
Using actual activity usdcSize, actual NO sells, and the deterministic 23°C payout:
text
all BUY cash outflow = 933.842980
all SELL cash inflow = 486.069248
net cash still deployed = 447.773732
YES23 payout = 2,018.145100
NO26 reconciled dust payout = 0.007687
terminal economic PnL = 1,570.379055
return / total BUY cash = 168.162%Contribution decomposition:
text
YES23 payout less its entry cash = +1,936.572794
losing YES21/22/24/27/28 entry cash = -485.164656
NO26 sell cash less total entry cash = +118.963230
NO26 dust payout = +0.007687
total = +1,570.379055No REDEEM row is required to know this terminal branch. At collection time Gamma was still open and YES23 traded near 0.92–0.95; the calculation treats 23°C as the known terminal result and the later redeem as mechanical settlement.
14.8 Risk shape and what actually produced the profit
The final portfolio is directional, not an arbitrage. After the NO anchor was sold, frozen-branch PnL ranged from approximately -$447.77 to +$3,553.28:
| Winner | Terminal PnL |
|---|---|
| 21°C | +1,593.21 |
| 22°C | +1,321.05 |
| 23°C | +1,570.38 |
| 24°C | +1,247.39 |
| 25°C | -447.77 |
| 26°C | -447.77 |
| 27°C | -47.78 |
| 28°C | +3,553.28 |
| 20°C/below, 29°C, 30°C/higher | -447.77 each |
The realised winner was the early 2,000 YES23 @ 0.04 maker block, but that is not the whole algorithmic explanation. Before knowing the result, the bot had built four adjacent core branches whose individual payouts all covered total gross event spending. The 21°C and 22°C micro-price fills were therefore economically material coverage despite their tiny cash cost; YES24 was the expensive completion of the same floor. NO26 then lowered the effective cost of keeping that YES basket by $118.963230.
The construction was not risk-free and not a complete all-bucket arbitrage. Its strong floor was conditional on 21–24°C; the final post-harvest holes shown above remained. The right description is band-limited payout coverage plus a monetised non-26 hedge, not “one lucky cheap bet” and not “buy every market for less than one dollar.”
14.9 Confidence boundary
Observed with high confidence: all fills and cash, every executed level, maker/taker role, position inventory, absence of conversion/merge/split, NO exit ladder, no YES exits, market price trajectory, and the terminal payoff for winner 23°C.
Inferred with medium-to-high confidence: a targeted 21–24°C payout band with roughly aligned branch payouts; cheap maker ladders used to fill missing branches; and NO26 used as a monetisable non-26 hedge that subsidises the held YES inventory. Approximately $8 fixed-risk late-extension sizing and cancel/reprice from 0.90 to 0.86 remain medium-confidence details.
Not observable retrospectively: the private signal that selected Amsterdam or the 21–24 core; whether there was a literal target-share variable and its tolerance; the exact start time; unfilled order sizes and placement/cancellation timestamps; decision-time spread/depth/queue; weather/model inputs; and the precise conditional expression that caused each ladder change. Those cannot be made exact from trades plus sampled price history alone.
This event proves a profitable execution instance, not positive expected value. A +EV verdict still requires the same terminal reconstruction across an unbiased multi-event sample and the canonical Harvester/overlay EV gate with fill-verified realised inputs.
The calculator's editable source is NegRisk Coverage Band Yield Calculator v2.html; v1 remains preserved as the earlier partial-snapshot model.
15. All-participant low-price matched flow
Superseded analysis method: this original per-basket
t±30maggregation is retained as historical evidence but is not the current opportunity analysis. The wallet-independent episode model, SELL-taker capacity split and recovery lifecycle now live inamsterdam-2026-08-15-event-dip-lifecycle.md.
This section is event-wide and does not filter jjavi or any other wallet. The public Data API was queried by eventId=842167 with takerOnly=true, so every row is one matched taker transaction. This avoids counting the maker and taker participant rows of the same match twice. The source contains 3,342 rows, all unique under (transactionHash, timestamp, asset, side, price, size); 1,083 rows belong to the selected YES tokens. Historical unfilled and cancelled orders are not exposed by this endpoint.
For every match at an inclusive price <= 0.15, the analyzer selects the nearest saved CLOB price-history sample at t-30m and t+30m, accepts it only within 360 seconds, and computes a shares-weighted mean per basket. Percentages in parentheses are the share coverage of those history samples, not trading returns.
| Basket | All matches | All shares | Matches <= 0.15 | Shares <= 0.15 | CLOB -30m | CLOB +30m |
|---|---|---|---|---|---|---|
| 20°C or below | 0 | 0.000000 | 0 | 0.000000 | — | — |
| 21°C | 13 | 5131.470665 | 13 | 5131.470665 | 0.007144 (100.00%) | 0.001194 (100.00%) |
| 22°C | 39 | 4356.871654 | 39 | 4356.871654 | 0.012374 (100.00%) | 0.008095 (100.00%) |
| 23°C | 225 | 6797.385120 | 89 | 2785.347142 | 0.072514 (100.00%) | 0.090493 (100.00%) |
| 24°C | 255 | 6858.214439 | 56 | 1358.831219 | 0.193936 (100.00%) | 0.101073 (86.18%) |
| 25°C | 220 | 5466.899671 | 56 | 1747.422099 | 0.151705 (100.00%) | 0.072908 (92.55%) |
| 26°C | 192 | 5143.815811 | 40 | 1183.105000 | 0.084574 (100.00%) | 0.044635 (98.31%) |
| 27°C | 95 | 2686.360812 | 50 | 1776.688266 | 0.050052 (100.00%) | 0.044339 (100.00%) |
| 28°C | 39 | 3106.038608 | 39 | 3106.038608 | 0.007009 (100.00%) | 0.008899 (83.82%) |
| 29°C | 1 | 8.270000 | 1 | 8.270000 | 0.005500 (100.00%) | 0.005500 (100.00%) |
| 30°C or higher | 4 | 151.117000 | 4 | 151.117000 | 0.000841 (100.00%) | 0.002867 (100.00%) |
| Total | 1083 | 39706.443780 | 387 | 21605.161653 | — | — |
Thus 35.73% of the observed YES matched transactions and 54.41% of their shares executed at <= 0.15. This is market-wide flow, not evidence that jjavi received all of those shares and not a profitability claim. The deterministic offline reproduction is:
bash
scripts/analysis/forensics.sh event-low-price \
--event 842167 --threshold 0.15 --window-minutes 30 \
--max-price-gap-seconds 360 \
--event-json docs/analysis/data/jjavi-amsterdam-2026-08-15-141456Z-event.json \
--trades-json docs/analysis/data/jjavi-amsterdam-2026-08-15-141456Z-event-trades-taker-true.json \
--offline-tape-complete \
--prices-dir docs/analysis/data/jjavi-amsterdam-2026-08-15-141456Z-yes-price-history-5m