Nine lots banked.
Agent-signed, router-gated. The mandate recomputed the HIFO picks on the Stylus ledger and realized the loss at the MOCK oracle mark. The ledger emitted LotsRealized; this page decodes it.
This page sends one batch of JSON-RPC calls from your browser to rpc.testnet.chain.robinhood.com: the four demo receipts, and seven read-only calls to the deployed contracts. No wallet, no server of ours. Every box says where its value came from.
Agent-signed, router-gated. The mandate recomputed the HIFO picks on the Stylus ledger and realized the loss at the MOCK oracle mark. The ledger emitted LotsRealized; this page decodes it.
Forty seconds after beat 1, the same agent tried NFLX → AMZN. The transaction reverted. The RPC is not an archive node, so this page cannot replay that old call; instead it asks the guard the same question now.
0xd486468e…cf10 on the explorer ↗WashSaleGuard.assertBuyAllowed(owner, AMZN)windowEndsAt(owner, AMZN)The agent signed AMZN → PLTR, which the substitute map never sanctioned. It reverted OffMapSubstitute; then challenge() used the signed envelope as proof, called by a third-party key that is neither owner nor agent. The hardened bond refuses stale proof: the expired beat-2 envelope reverts EnvelopeNotLive.
isSubstitute(AMZN, PLTR)Slashed event · at that blockbondOf(agent)Two reads of the Stylus TaxLotLedger at 0xEff7…5a21: its code, and the same computeHarvest call the README runs with cast.
eth_getCode| Contract | Address | Kind |
|---|
How this page works: assets/chain.js, about 150 lines of plain JavaScript. One fetch POST of a JSON-RPC batch; events and return values decoded by hand with BigInt. If the RPC cannot be reached, every box falls back to the committed receipts/46630.json and is labeled receipt instead of live.