For judges · no login, no keys, no clone

index41

index41 proves transaction A executed before transaction B inside an Ethereum block — a fact carried in no payload and readable by no oracle — and makes a relay’s bond pay for breaking its no-sandwich promise.

The 30-second path

  1. Open the landing page and scroll to the ledger. Three rows of a real Ethereum mainnet block light up in sequence — the positions are decoded live, in front of you.
  2. Read the banner above the ledger. It names which of the two real sources is on screen right now: a live chain read, or the captured artifact if the public node is down. There is no third source.
  3. Click re-read the chain. That hits /api/proof, which performs a real eth_getTransactionReceipt against a public CC3 node every time.
  4. Check us against a stranger: the ruling on Blockscout (the contract is source-verified, so the explorer decodes the events itself), and the mainnet block the positions came from.

The receipt

Read live from the chain just now. Every row is checkable at a link on this page.

Provenance of this pageLIVE CHAIN READ · https://rpc.cc3-testnet.creditcoin.network
Contract (source verified)0xb37bc52b9d6f7431ba8be4ded4f53281efb10ec2
The ruling transaction0xd136dea052…7f4d243810 · status 1 · block 5,317,821 · 5 logs
Source of truthEthereum mainnet block 25,764,741 · 240 transactions · mined 2026-08-16 02:51:11 UTC
Positions recovered14 → 15 → 16 — from merkle laterality, by calculateTxIndex
On-chain vs off-chainRLLLRRRR→14/14 LLLLRRRR→15/15 RRRRLRRR→16/16 · all agree
Ordering assertionfront 14 < victim 15 < back 16 · holds
Harm paid from the bond219,708 wei → 0x51f400b9…af6a1410 (the address the proof says was sandwiched)
Gas1,092,1001.456% of MAX_GAS_CAP (75,000,000)
Contract tests120 Foundry unit tests across 4 suites, 0 failed
Exhaustive verification256 positions — every leaf of the depth-8 tree round-tripped through the laterality decoder in test_TxIndexOfRoundTripsEveryPositionInTheTree
Attestcoin surfaces36 made load-bearing, 24 of them undocumented; 30 do real work on a clean default run (3 more are constructed but never queried), all 36 across the default and --kill-hosted runs (official examples: 3). Counted by the run itself — npm run prove prints ATTESTCOIN SURFACES EXERCISED THIS RUN: 30 and names all 36 into docs/pipeline-output.txt

Reproduce it

No flags switch the judged capability on or off. There is no offline mode, no mock and no demo toggle anywhere in this repository.

# the demo surface — zero config, no .env, no wallet
npm install && npm run dev            # → http://localhost:3000

# re-read every live source and diff the committed artifact
node scripts/capture-proof.mjs --check

# the full on-chain run: deploy → bond → prove → pay, on CC3 testnet
# (needs a funded CC3 key at ~/.config/creditcoin/index41-testnet.json)
npm run build:cc3 && npm run prove -- --fresh-court

# the contract suite
npm test                              # forge test --summary — 120 tests

# one-line independent check of a position, against a stranger's API
curl -s https://eth.blockscout.com/api/v2/transactions/0xec3777f9d0e55d03b9caa3a4b8a786dd62e16eeb327a9f1c45dfbc79af618436 | jq .position

What this does not do

Everything else

The three mainnet transactions this ruling is over: 14 0xec3777…618436 · 15 0x7b0541…4485a0 · 16 0xb0cae3…5be23a