COSMO · public evidence bundle
Tokenized stock on Robinhood Chain: AAPL for USDG, settled in the SupraFX ledger
1 FILL PROVEN 2026-11-02 · 18:04:07–18:04:15 UTC (19:04 Berlin) Robinhood Chain 4663 · SupraFX · AAPL/USDG · maker side declared self-trade: the customer account is COSMO's own second account
Read this first. The customer account K1 that posted the request-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"). Before this window no stock-token RFQ had ever been posted on SupraFX (vault 0 AAPL at discovery on 2026-11-01).
This page proves that COSMO can price a tokenized stock from two independent feeds, decide under pinned rules, quote and fill, with the fill
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 0.005 AAPL on Robinhood Chain for USDG, not below 334.819980 USDG per AAPL" 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, priced it base-priced from the Supra DORA feed AAPL_USD (index 6004) with an independent Chainlink "Robinhood AAPL / USD" cross-check read
on Robinhood Chain and the venue oracle as a consistency check, decided it against the pinned policy and gates (V-1M…V-9M, RESERVATION then FINAL),
placed one quote at 336.075478 USDG/AAPL (fair 337.774470 − 50 bps), and the venue ledger filled it (FP1–FP4 on the council balance snapshots).
settlement_mode: platform is the venue's standard: the customer holds the USDG and the maker holds the AAPL 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 records written from them are stock-live-record.md, stock-shadow-record.md and stock-discovery-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.5) · Previous step: USDG for SUPRA cross-chain
Settlement (SupraFX ledger, platform mode)
Customer K1 (sells AAPL, receives USDG)
| what | value |
|---|---|
| account | 0xa3d79667db7a465de6e13005c35417c9501fdc5b68bc5516024f0ebc23c358f5 |
| sold | 0.005 AAPL |
| venue after the window | 0.000917552704837324 AAPL · 6.179537 USDG (was 0.005917552704837324 AAPL · 4.5 USDG; operator-mediated read, record) |
| mandate | customer/cases/ (signed, rfq_id = mandate hash prefix) |
Maker M2 (pays USDG, receives AAPL)
| what | value |
|---|---|
| account | 0x0a0571a915579baecd79a26d04ade62a5b35114bd1dad6db31798ea70504e1bb |
| paid | −1.680209 USDG (FP2, exact) |
| venue after the window | 0.005 AAPL · 1.319791 USDG (was 0 AAPL · 3.000000 USDG; live/funds-after-fill.json) |
| USDG backing (V-7M) | council attestation + own Robinhood Chain read of vault 0xC038…2D0e |
The fill (unit-exact)
| # | quote placed → proven (UTC) | RFQ | quote id | rate USDG/AAPL | USDG | AAPL | proof | bundle |
|---|---|---|---|---|---|---|---|---|
| 1 | 18:04:07 → 18:04:15 | R-261102-180329-1c | 1a9cb8ac | 336.075478 | −1.680209 | +0.005 | PROVEN FP1–FP4 | kdm-20261102T1803-1803… |
Price anchor at the decision (V-5M)
rate 336075478 = fair 337774470 - 50 bps (band >= 334396725); margin 8495 USDG units; chainlink 12 bps / 2610 s; venue 0 bps / 5723 ms; DORA 6004 age 6 s
Sources: Supra DORA AAPL_USD index 6004 (Supra mainnet view, 18 decimals) and Chainlink "Robinhood AAPL / USD" on Robinhood Chain (independent; proxy 0x6b22…2cd0, read via EVM RPC, provenance MB6); venue oracle AAPL/USDG only as a consistency check (it is the same DORA value). USDG = 1 USD is an assumption, documented in the policy. The staleness and deviation limits were calibrated on a 36-hour log of all three sources (stock-discovery-record.md, S0.2).
Shadow windows the same day (0 capital, published)
- Window 1, 17:11 Berlin — bundle: NOT_AUTHORIZED, fail-closed. The policy pin named only delegate v4 while v7 was active (F6). ACCEPT 27/27 under the historical pin a1759fb1 (verifier/shadow-window-1-…json). Price path, floor and funds were green.
- Window 2, 18:23 Berlin — bundle: FINAL AUTHORIZED after the repin (D-ST3: v7 in the shadow set, Chainlink tolerance 75 bps), would-quote above the floor, no quote placed. ACCEPT 35/35 under the current pin 8a987c19.
What was checked, and by what
- V-1M … V-9M (per RFQ) — the maker gates: side and pair (COSMO pays USDG, receives AAPL), counterparty (declared own taker, named deviation), RFQ state incl. the chain tuple robinhood-mainnet → robinhood-mainnet, size vs. caps (18/6-decimal scale), fair price base-priced from DORA 6004 with the Chainlink cross-check and venue consistency, buyer floor, USDG backing, funds F1–F6 (F6: active delegates == pinned set), no earlier decision on the same RFQ.
- FP1–FP4 (per fill) — RFQ matched with our quote accepted; USDG delta = lock minus rebate and AAPL delta = size, exact in units; no other asset moved; no lock left.
- MB1–MB12 — hashes, pins (current policy pin set maker-policy.v3.robinhood-aapl.json 8a987c19), intent signature, quote re-derivation, preflights, provenance (incl. the Chainlink
evm-rpc:4663:reads, MB6), 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 bundle. The customer mandate is published next to the bundle under
customer/; its rfq_id equals the trigger RFQ id of the bundle.
Verifier runs (verifier/): published 1.0.5 on the live bundle ACCEPT 48/48, on the shadow bundles ACCEPT 27/27 and 35/35. Tamper probe: a copy of the live case with live/fill-proof.json usdg_delta × 10, not re-summed → REJECT, 2 of 48 (MB1 hash, MB12 fill proof).
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 moved for this fill. The AAPL token itself is a Robinhood-issued tokenized stock (ERC-20 0xaf3d…93f9, pausable, issuer-controlled); COSMO does not hold Apple shares.
- Both legs are on Robinhood Chain; this is a stock-for-stablecoin trade on one chain, not a cross-chain trade (see the previous step for cross-chain).
- USDG = 1 USD is an assumption; the price anchors are the DORA feed and Chainlink, which agreed within the pinned tolerance at the decision (V-5M above).
- Delegate expiry and pair restriction follow the dApp constraints accepted in the GO text (pairs via caps, venue expiry), as before.
- Pilot size: 0.005 AAPL (about 1.68 USD), one fill, one window. The runner's Telegram fill notice failed after the fill (a v1/v2 label in the message text); all evidence files were already written (stock-live-record.md, finding 1).
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 |
|---|---|
| stock-live-record.md | a8220401a7665e1c0c4db474645c181ca284fdcd3dd635ba034c0033458ade06 |
| stock-shadow-record.md | 60594c538ec583ec3c061ff3cd5d03f95a0d64978d921c13ffd9e574f33392b4 |
| stock-discovery-record.md | a7c44fdb535bdf68f3cd29dd8f17f409bbf79da5bbffb77862d8f878705f97c9 |
| window/arm.json | 7c64d6850281bc91c1bb3f77212f5afef7629459ae3fa7607233f5c84251d2b1 |
| window/decided.json | 454a406fd4e85a74cde55dc5ddb9c223b8b9504ea3df40a1a0c772c6b0636502 |
| window/expiry-calc.json | 534c9ea172fb1281f62e33216752ca8d8a8538088a51f8e6508e1bcab84b62d8 |
| window/fills-ledger.json | d7be06c20c4e8e51ed9c51ffec52f13af57ebee3f63eeeb03c660be82c9cf1f9 |
| window/go-check.json | 115f09dafe408f83f9d4ed704a5332583c93f5c0796708894e8e40d084b479de |
| window/go-check.md | 6cc5b922011b878a4cb8e16b7bd8cc71cd5001e7903980cf5ad3b65ea7b7c784 |
| window/live.ndjson | 74c9502804b3345f626b56353cf38cd952b4f56656cc8619e3f46c2cace06f4d |
| window/policy-check.json | 36addad30e2177b1610f070c1e73bd3eebf2305b82b9a8893200ced3a75376ea |
| window/run-state.json | e31c7d043a54a97d0b54fd03c75ebf9e596d0de6f5a1d93346d0a6ec0b6bae23 |
| window/tests.json | be73be393304108fb27df0bbe32eaef11a7781ef02034e3d3a76ed11cb0c6d58 |
| verifier/kdm-20261102T1803-1803291c-9f900f7d.json | 8b987b32ad22096bb14060f6c57da02d4782adfa5fbc435e714bb5eb7e5590b6 |
| verifier/shadow-window-1-kdm-20261102T1611-16094897-4af3bc99.json | c135f8da940e5c7979fd94293d1cfdebc2a52e46ac55e8fe084bba80aab63760 |
| verifier/shadow-window-2-kdm-20261102T1723-17222310-41368746.json | 49c2bc5011c442f0e68951b65ff50dd7565eb810941f56ff2c8fae501658baa1 |
| verifier/tamper-probe-1.0.5-20261102.json | 9474fd9cec8c3ac5be648411cc7293c488b8916dc7c40bb4aae2c103ad2d964d |
| customer/rfqs-ledger.json | 92b70fe11d6fb77facdfc796e3a2481898356b99270dcd6af0a3cd4128c69008 |
| customer/customer.ndjson | f408995791ef57f474df8015422041d60cb73a849c17e8bb06853a908ebf80ee |
| customer/cases/kdc-20261102T1803-5170c183/case.json | ed34f7bbdc7cf55b9cee39a04ad9d6af1fa7818459c113f07c74082f12485b4a |
| customer/cases/kdc-20261102T1803-5170c183/go.json | 6ef4d88c98f9bfb4dad0f74e13b196b895aa3a90f08b995daad43e0f0fb7e84b |
| cases/kdm-20261102T1803-1803291c-9f900f7d/SHA256SUMS | 594640ca8e83551cab68e4f0fc78a3ea055f57c5244944c19abee58bd3b82a37 |
| shadow/window-1-kdm-20261102T1611-16094897-4af3bc99/SHA256SUMS | 58b211dbad766dbef4a4ecc4dbccc759bfb39a41c44334be38e3f6d76d56163e |
| shadow/window-2-kdm-20261102T1723-17222310-41368746/SHA256SUMS | c6206200130c751fe7a8169f94af03adcbb85d067b70deb38522b904c14e5ef8 |