COSMO · public evidence bundle
Robinhood Chain demo: USDG for SUPRA, settled in the SupraFX ledger
2 FILLS PROVEN 2026-11-01 · 12:56–12:58 UTC (13:56–13:58 Berlin) Robinhood Chain 4663 → Supra chain 8 · SupraFX · USDG/SUPRA · maker side declared self-trade: the customer account is COSMO's own second account
Read this first. The customer account K1 that posted both requests-for-quote is a second account of the same operator,
declared as such in the pinned maker policy (counterparty.declared_own_taker) and shown by the verifier in check V-2M
("DECLARED OWN TAKER"). There is no foreign Robinhood Chain taker on SupraFX (0 Robinhood RFQs in 12,000 at discovery on 2026-10-29).
This page proves that the cross-chain rail works and that COSMO decides, quotes and fills under pinned rules, with the fills settled in
the venue ledger. It does not prove demand, and it is not a profit claim.
Flow: the customer agent (K1) issued a signed mandate "sell 1.5 USDG on Robinhood Chain for SUPRA on Supra, not below rate X" and posted it as
SubmitRfqV2; the venue RFQ id is the first 16 bytes of that mandate's hash (customer/cases/…/case.json). COSMO's maker runner saw the open RFQ in
the next tick, decided it against the pinned policy and gates (V-1M…V-9M, RESERVATION then FINAL), placed one quote, and the venue ledger filled it
(FP1–FP4 on the council balance snapshots). Both RFQs ran with settlement_mode: platform, the venue's standard: the customer holds the
SUPRA and the maker holds the USDG in their council accounts. No off-venue transfer was made, by decision; MB13 reports "no settlement file".
Every file below is a byte-identical copy of the window directory, the case bundles and the customer case files. The record written from them is robinhood-record.md (German). Fingerprints are SHA-256; the list is also in index.txt.
All evidence folders · The verifier program (cosmo-verify-maker.mjs 1.0.4)
Settlement (SupraFX ledger, platform mode)
Customer K1 (receives SUPRA)
| what | value |
|---|---|
| account | 0xa3d79667db7a465de6e13005c35417c9501fdc5b68bc5516024f0ebc23c358f5 |
| sold | 2 × 1.500000 USDG |
| venue after the window | 27,201.78 SUPRA · 4.5 USDG (operator-mediated read, record) |
| mandates | customer/cases/ (signed, rfq_id = mandate hash prefix) |
Maker M2 (pays SUPRA, receives USDG)
| what | value |
|---|---|
| account | 0x0a0571a915579baecd79a26d04ade62a5b35114bd1dad6db31798ea70504e1bb |
| paid | −27,212.67087975 SUPRA (FP2, exact) |
| venue after the window | 9,206.77 SUPRA · 3 USDG (operator-mediated read, record) |
| USDG backing (V-7M) | council attestation + own Robinhood Chain read of vault 0xC038…2D0e |
The fills (quant-exact)
| # | quote placed → proven (UTC) | RFQ | quote id | rate SUPRA/USDG | SUPRA | USDG | proof | bundle |
|---|---|---|---|---|---|---|---|---|
| 1 | 12:56:41 → 12:56:50 | R-261101-125610-12 | 521f039c | 9,071.91 | −13,606.50553820 | +1.500000 | PROVEN FP1–FP4 | kdm-20261101T1256… |
| 2 | 12:58:13 → 12:58:21 | R-261101-125732-97 | 223bd728 | 9,071.68 | −13,606.16534155 | +1.500000 | PROVEN FP1–FP4 | kdm-20261101T1258… |
What was checked, and by what
- V-1M … V-9M (per RFQ) — the maker gates: side and pair, counterparty (declared own taker, named deviation), RFQ state incl. the chain tuple robinhood-mainnet → supra-mainnet, size vs. caps (6/8-decimal scale), fair price from the DORA anchor (USDG = 1 USD assumed), buyer floor, USDG backing (council attestation + own Robinhood Chain read of the vault), funds, single use.
- FP1–FP4 (per fill) — RFQ matched with our quote accepted; SUPRA delta = lock minus rebate and USDG delta = size, exact in units; no other asset moved; no lock left.
- MB1–MB12 — hashes, pins (current policy pin set maker-policy.v2.robinhood.json), intent signature, quote re-derivation, preflights, provenance (incl.
evm-rpc:4663:), decision replay through the frozen VAL core, arm, execution, ledger, fill proof. - MB13 / MB14 — both report "none claimed": no settlement file (ledger settlement by decision), no customer case file inside the bundles. The customer mandates are published next to the bundles under
customer/; their rfq_id equals the trigger RFQ id of the bundles.
Verifier runs: at the window with 1.0.3 (verifier/, ACCEPT 48/48 each), re-run on 2026-11-01 with the published 1.0.4 (ACCEPT 48/48 each). Tamper probe: a copy of case 1 with live/fill-proof.json usdg_delta × 10, not re-summed → REJECT, 2 of 48 (MB1 sha256, MB12 fill proof recomputed): verifier/tamper-probe-1.0.4-20261101.json.
Limits (stated, not hidden)
- Self-trade by declaration: both accounts belong to the operator. No market, no demand, no profit.
- Settlement is the venue ledger (platform mode, operator-mediated council reads). No payout left the venue; nothing on Robinhood Chain or Supra L1 moved for these fills.
- The venue oracle USDG/SUPRA is the SUPRA/USDT feed with a 1:1 mapping; USDG = 1 USD is an assumption, documented in the policy.
- Delegate expiry and pair restriction follow the dApp constraints accepted in the GO text (pairs via caps, venue expiry), as in B2.
- Pilot size: 1.5 USDG per RFQ, two fills, one window.
Files (byte-identical copies)
Check integrity with: sha256sum <file> · each case folder carries its own SHA256SUMS · re-verify with node cosmo-verify-maker.mjs cases/<id>.
| file | sha256 |
|---|---|
| robinhood-record.md | b4f3eb16de2c1faea5c5f2dc7fff4ff203befba625364010a3bac0bb16f21dbc |
| window/arm.json | 65aca96f8f5ead0c40424be94894ae1d1d6554108e75a87b8251cd08d1336ecf |
| window/decided.json | f569e219924c889f66281191586b3e7c5952af4092f787401af7a9a3b34ee70e |
| window/expiry-calc.json | 46d51851c251543045d150160cf79bce1fa30ae8b964c491fabd6a706abca49b |
| window/fills-ledger.json | c01bcfec205161d8707f6363007bf420769da305ddf52bfee7aed05a7dc5577a |
| window/go-check.json | 765883b4b861e5fe40d37892c514b18707e8d4bb8eb3526d5ef18dc6fc61856e |
| window/go-check.md | 071d34d4f14e363b6967dc6046de50327ed8227beacabda4157cf1c6c4c7b089 |
| window/live.ndjson | d7abb76ac3bf664f0f043bed1a66562cf92a6ee6d625b60b457ed00153c6735f |
| window/policy-check.json | d305283879c892b82d4319440d3a3454e3299df81abc36bf61a80a2ea6d3a6ac |
| window/run-state.json | e957455693ca6638e63b4ffcbc80a53dae94b0196c3d0c58e2f2ca75f1318343 |
| window/settlement-prep.json | 0ef7a99d4cf2d13d760a47a1800dc97dff6b4cc44e5401d3b1bfd574f95120c8 |
| window/tests.json | a1714e5d8f045f6cf4a6f5c0741b0f378d06b1c0b56f3300ec266c1fcd5f4221 |
| verifier/kdm-20261101T1256-12561012-56caf873.json | e90b02e0b7ea839f43af24235d4e7a5aa1e2874cfb097e6f03631ef3c3e69ec8 |
| verifier/kdm-20261101T1258-12573297-691b15bd.json | 14996e0b414e0788c2ead228b56b6766a5a28b30f463dfebf7c20e8a6debbe76 |
| verifier/reverify-1.0.4-kdm-20261101T1256-12561012-56caf873.json | c0738660e6093db2cbaaaae58a87d4e14852bc76ca702d01d6c32763ab23af80 |
| verifier/reverify-1.0.4-kdm-20261101T1258-12573297-691b15bd.json | d3464f554ca924d8af7cbab0a09acdd20fb770dfe84f442236913b8ca9ecf2a6 |
| verifier/tamper-probe-1.0.4-20261101.json | d15c13ce8127af3dbd50a7c4600b48883a1893b2d95a2d6258430e58f288ae78 |
| customer/rfqs-ledger.json | 03f215a0302af0eb035a1306d1edf09a21def8e95db85fa0552e2b06c1adbdae |
| customer/cases/kdc-20261101T1255-7247363d/case.json | 1be4aeb2af803e56650d3a35e80ee11a13b3f21470b4ee49244f7c16881c0991 |
| customer/cases/kdc-20261101T1255-7247363d/go.json | 0753bb09dfc3e65a5d5bc4dfef203e4c6a1a5b1cfff4f9ed550d0821539d9ea0 |
| customer/cases/kdc-20261101T1257-04e0d211/case.json | 0a157ed7ad925b26d27377a70ad06b9beb269d2fa7c4f86af29ecd668c03b13b |
| customer/cases/kdc-20261101T1257-04e0d211/go.json | 2da1277cee2e0c45cd16ce8931ea3b57053800a34f9dd983f44822fd6b2ff40e |
| cases/kdm-20261101T1256-12561012-56caf873/SHA256SUMS | 00d0241ed785746129493cc0a83fbac5c6ae2fcd31ae4e2ccda98b52e1815556 |
| cases/kdm-20261101T1258-12573297-691b15bd/SHA256SUMS | 42cf3ceecf9f5b2cb9f2d64d0e42318d6b57572941ec9b2e787c69dac36ee109 |