COSMO · public evidence bundle
SupraFX maker window B2: four verified live fills
4 FILLS PROVEN 2026-10-17 · 12:00–13:00 UTC (14:00–15:00 Berlin) Supra chain 8 · SupraFX · iUSDC/SUPRA · maker side GO allowed 5 · supply ran out after fill 4
Scope of this proof: COSMO ran as a maker on SupraFX for one armed window under one written GO. The runner decided every open iUSDC/SUPRA request-for-quote (RFQ) against pinned policy and gates, placed a quote only after a FINAL AUTHORIZED decision, and proved each fill quant-exact against the venue's own balance snapshot. Four fills were placed and proven, one RFQ was declined with a named reason, and after minute six no new RFQ arrived until the quote cutoff. Capital was bounded by the venue delegate's caps, not by trust in the runner.
Every file below is a byte-identical copy of the window directory and the five case bundles. The record that was written from them is b2-record.md (German). Fingerprints are SHA-256; the list is also in index.txt.
← Media (the showcase video of the first two fills) · All evidence folders
The window
| step | time (UTC) | result | file |
|---|---|---|---|
| Preflight G1–G10 | 11:50:35 | READY_WITH_DEVIATIONS (G8 = two named dApp deviations, see limits) | window/go-check.md |
| Policy check | 11:53:56 | PASS (P-ACTIVE … P-EXPIRY 10/10, F6 live: exactly the armed delegate, no open orders) | window/policy-check.json |
| Arm before window start | 11:54:12 | refused by code (ARM_WINDOW) | — |
| Arm | 12:00:09 | armed, max_fills 5, bound to commit 975241d, arm hash 0x4544f5c0… | window/arm.json |
| Run | 12:00:28 – 13:00:16 | 57 ticks, 5 cases, 4 attempts, 0 errors, ended NO_FILL at the quote cutoff (no further RFQ) | window/run-state.json |
| Unwind | 13:10 | nothing to do: 0 open RFQs, 0 open quotes, 0 locks | window/unwind.json |
| Offline re-verify | 13:1x | 5 bundles ACCEPT; tampered copy REJECT | reverify.log · tamper.log |
The fills (quant-exact)
| # | quote placed (UTC) | RFQ | quote id | rate SUPRA/iUSDC | SUPRA | iUSDC | proof | bundle |
|---|---|---|---|---|---|---|---|---|
| 1 | 12:00:41 | R-261017-113847-16 | 9c647c59-643e-36f0-6d3e-32b50ba1c448 | 6984.12 | −13,966.85220925 | +2.00000000 | PROVEN FP1–FP4 | kdm-…-4eee4645 |
| 2 | 12:02:14 | R-261017-113432-c8 | c047fcf9-bc02-6c96-40f8-165da8260805 | 6986.66 | −13,971.92413590 | +2.00000000 | PROVEN FP1–FP4 | kdm-…-14259336 |
| 3 | 12:03:45 | R-261017-112617-89 | aa2e5453-63bc-f0f7-7698-f3b82d191dde | 6986.26 | −13,971.12061833 | +2.00000000 | PROVEN FP1–FP4 | kdm-…-c7825c49 |
| – | 12:05:13 | R-261017-112313-45 | (no quote) | 6986.22 | 0 | 0 | NOT_AUTHORIZED V-3M: remaining batches 28 < 60 | kdm-…-7e75046d |
| 4 | 12:06:26 | R-261017-120543-a3 | c5ff58dd-0504-ca06-f022-533a090c7be6 | 6983.98 | −13,966.57257221 | +2.00000000 | PROVEN FP1–FP4 | kdm-…-1fcac31c |
| sum | −55,876.46953569 | +8.00000000 |
Venue balance (COSMO master account, SupraFX council snapshot): SUPRA available 131,252.38 before the window (G6), 75,375.91 after fill 4 (batch 12555491, window/fill.json); the difference equals the sum of the four deltas. Each quote = fair rate minus 50 bps (fair 7019–7022 from the SupraFX reference 7073.5 → 7021.2), 1.50× above the buyer floor 4664.83. Each fill locked ~13,970 SUPRA (lock ceiling) and released it minus a 1 bp maker rebate (~1.397 SUPRA). All four RFQs came from the same taker address on the venue (one counterparty).
What was checked, and by what
- G1–G10 (preflight, read-only) — code pinned and tests green on the bound commit; policy, gates and SDK modules hash-pinned; chain id and lock-release state; one dry decision pass; rate/lock/margin sanity; funds; exactly the expected delegate; policy read; empty ledger, no arm; iUSDC backing ratio from an own L1 read.
- P-* (policy check, read-only) — the venue delegate is active, bound to the master, maker-only, pair restriction carried by the asset caps, SUPRA cap 15,000 with room, iUSDC cap 3, every other asset 0, expiry known.
- V-1M … V-8M (per RFQ) — the maker gates on each RFQ: side and pair, rfq state and remaining lifetime, rate vs. floor, lock vs. cap, funds, delegate set, venue attestation freshness; a FAIL is named, not skipped (see the V-3M row).
- FP1–FP4 (per fill) — RFQ matched with our quote accepted; SUPRA delta = lock minus rebate and iUSDC delta = size, exact in quants; no other asset moved; no lock and no open order left.
- MB1–MB12 (offline re-verify of a bundle, 46 checks) — hashes cover every file; pins match the repository; intent signature and trigger row; rate is the formula rate on the stored reads; preflights and zero-capital recomputed; provenance of every read; replay of every decision bound to the intent; manifest equals the last decision; arm valid at decision time; executed event equals the FINAL AUTHORIZED decision by the armed delegate; ledger consistent; fill proof recomputed from the stored before/after reads.
Tamper probe: one word changed in a copy of a FINAL decision → REJECT (2 of 46 failed). Log: window/b2-tamper-probe-20261017.log.
Files (byte-identical copies)
Check integrity with: sha256sum <file> · each case folder carries its own SHA256SUMS (cd <case> && sha256sum -c SHA256SUMS) · full list in index.txt
| file | sha256 |
|---|---|
| b2-record.md | 25f7c607aade682bee39e83ea6c6fe83b49ccb4b628942ac6e733c620fe81f87 |
| window/go-check.json | 01cbeaadf5e3f52ae52756c8f9ea732361e9c0bfe9160a54d7b4cecbeba69ac3 |
| window/go-check.md | af65370580ef745ad689110cff952a912bb1bd8fd74297c497c952c68a1b662b |
| window/policy-check.json | 02862aff57e292a3e2ffdedbac120b941f2df1e765167c5fabe293367e00d85e |
| window/arm.json | 1bcba86649d950370d5bc3cf145a1fbd194485b6a04e85eafd6a1e43adfe1edc |
| window/run-state.json | 3b8893659d099f0a3577148d4d3a89b00eda48cd3e15cda6d86c42a7eb29b4a7 |
| window/fill.json (fill 4, with the council snapshot) | 9425ede3211a4400d7afce0f9138ee69aaf7bee560fc69b8cbd58a717ad4adad |
| window/fills-ledger.json | 75fa86787d5a0ea37439bb1c7e0790bdfb6f63285b088cf76178450e6abd44f8 |
| window/unwind.json | 289dc535c8af861920e764130f3fe212b6f812f0adf43311d1ebd0d55075e80c |
| window/live.ndjson (runner events) | ad89564b22acc163c1cf19cfb755357a2764a17db5dcefb8a6d16830d4e57e52 |
| window/log.ndjson (watch and case log) | 2bd18c55557dd48284363f925ef57f11c80d004bfa40f9cada3bff692d9eee45 |
| window/decided.json | 42d6b8795310c928bdba9216bdcef49413fdd0deec342160d833d49c7ca11ca0 |
| window/tests.json | 8202674c8463f7400c5b16a47727fbe61eb64bfb7bb578c5e20fd38441c161e6 |
| window/expiry-calc.json | 39196d334ac040677987cd8f32bb4cdab186a353b04d82d737500c0b2a4a9283 |
| window/b2-reverify-20261017.log | c9b59607db4d2cdd3583d60843c95f6adf558527364d86b9250d4f92433a16a4 |
| window/b2-tamper-probe-20261017.log | 1a434a924ae3a51f1b85ee858a2209bbea9420d3dc8e5335a84121542517f502 |
| cases/…-4eee4645/SHA256SUMS (fill 1) | 4791229fedb8461e4f15314cd9b0ddff7456f6f85341c8dcac15ad40641c255d |
| cases/…-14259336/SHA256SUMS (fill 2) | 2d8146473aa5f9c024a15e43caa3272f1a354a7e804108de26d16e2877b03cea |
| cases/…-c7825c49/SHA256SUMS (fill 3) | 0a389eca3b2c06297e4b4e168e17dfd7a987214d489e654ca8d0be893401f3dd |
| cases/…-7e75046d/SHA256SUMS (declined) | 83b6d3b580552a3004e378a05b352885c7ad03aa6b021dea2e7093c176e064ce |
| cases/…-1fcac31c/SHA256SUMS (fill 4) | 1e8fdd9c4925f686e4b98ee158b138b8c54f3e50294be14fb9d95d8b2f7797a1 |
A case bundle holds the intent, both decisions (RESERVATION, FINAL), the stored venue reads the decisions were made on, the pins,
the zero-capital check and, for a placed quote, live/ with the arm, the signed execution envelope, the ledger, the
funds snapshot after the fill and the fill proof. The bundle hash in the fills table is the sha256 of that folder's SHA256SUMS.
Honest limits
· This is a self-attestation by the COSMO runner. The offline re-verification checks internal consistency against the venue reads the runner stored, not world truth, and the verifier is written by COSMO. The verifier program is published at /verifier/ (cosmo-verify-maker.mjs 1.0.0, sha3-256 0x06d97f90f03767ec4393535aec00ca4514ef86256d164faebe7c90d2c06e6e50); it runs the same MB1-MB12 checks as the repository verifier at commit 4a28c82 (46 on a bundle with a fill, 29 on the declined case; a tampered copy fails 2 of 46). Run it on any cases/<id>/ folder of this bundle.
· All four RFQs came from one taker address. This proves a repeatable maker chain, not market depth and not a second counterparty.
· Economic size is pilot size: 2 iUSDC per fill at fair minus 50 bps, roughly 0.01 USD margin per fill.
· Two named deviations from the written policy were accepted in the GO text, because the venue's delegate form has no pair field and no expiry field: the pair restriction is carried by the asset caps (only SUPRA and iUSDC are capped, every other asset 0), and the delegate's venue expiry (~84 days) is longer than the window. Since the operator's decision after window 2, the delegate stays active between windows; the capital bound is the venue cap (15,000 SUPRA / 3 iUSDC, maker only, no withdrawal), plus the runner's own policy.
· The runner decides one case per 60-second tick. Fill 5 did not happen because no new iUSDC/SUPRA RFQ appeared between 12:06 and the 13:00 cutoff, not because of a refusal or an error.
· Fingerprints here are SHA-256 (the bundles' own convention); older evidence folders on this site use SHA3-256.
· Windows 1 and 2 (16.10., one fill each, −13,542.71 and −13,560.53 SUPRA for +2 iUSDC each) are recorded in the repository and shown in the showcase video; their bundles are not published on this page.
Frozen 2026-10-17. Originals are never modified after publication. · All evidence folders · Proof overview