Skip to content
Protean

Live on Base mainnet · chainId 8453

Protean Ledger — canonical scientific record

Network
Base mainnet
Chain ID
8453
Schema
protean.ledger.v1
Deployment block
46,612,390

Proxy

0x2a6f84fA0a09b1c04F9edAccCF6De58F11a4a364

The trust on-ramp · five steps · ~90 seconds

Walk a real record from claim to source.

The Protean Ledger only matters if you can verify it. This page walks you through doing exactly that, against a real record on Base mainnet. Two commands at the end. If they match, you have personally verified the entire record. You did not need to trust us.

Verification path · current state

Steps 1, 2, and 5 work for every record from genesis using any public Base RPC. Steps 3 and 4 (replay-artifact fetch + sha256 recompute) work for records that postdate the public verification mirror at proteanlabs1/ledger-mirror. The four bootstrap records (genesis + activation cycle + reproducibility hypothesis + launch package v1.0) predate the mirror; their record pages show a "Historical Bootstrap Record" badge and link to honest reconstructions in the mirror's artifacts/mainnet/ directory.

  1. 01

    Read the on-chain record

    The contract stores plaintext on Base mainnet. You can read it from any RPC. We use cast (the Foundry CLI), but eth_call from any client works the same way.

    cast call 0x2a6f84fA0a09b1c04F9edAccCF6De58F11a4a364 "getRecord(bytes32)" 0xa7858230ccb9556d7dbd472044bbb0f2a73ecd632a342cb3e9fc824b6a20c564 \
      --rpc-url https://mainnet.base.org
  2. 02

    Confirm the content digest

    The contract emits keccak256 of the canonical envelope as contentDigest on RecordRegistered. Recompute it from the envelope you read in step 1 and confirm equality.

    python -c "from eth_utils import keccak; print(keccak(text=open('envelope.json').read()).hex())"
    # Compare to contentDigest in the RecordRegistered event
  3. 03

    Fetch the replay source

    The replayPointer field tells you where the supplemental replay artifact lives — for records that postdate the mirror, git:proteanlabs1/ledger-mirror@<commit>:artifacts/mainnet/<id>.json. Fetch at the cited commit (never main / HEAD). The chain and Digest remain primary.

    curl -sL "https://raw.githubusercontent.com/proteanlabs1/ledger-mirror/<commit>/artifacts/mainnet/<id>.json" -o artifact.json
  4. 04

    Recompute the replay SHA-256

    The replayPointer also carries the expected sha256. Recompute it locally on the file you fetched. Equality means the public mirror has not been tampered with at that commit.

    shasum -a 256 artifact.json
    # Compare to the sha256: suffix in the replayPointer
  5. 05

    Run the indexer yourself

    The canonical reproducibility commitment. Fetch the open-source indexer from the public mirror and run it from genesis against any Base RPC. Your digest should equal the one published at /ledger/api/v1/indexer/digest.

    curl -sL https://raw.githubusercontent.com/proteanlabs1/ledger-mirror/main/scripts/index_ledger_from_genesis.py -o index_ledger.py
    python3 index_ledger.py --rpc https://mainnet.base.org \
      --proxy 0x2a6f84fA0a09b1c04F9edAccCF6De58F11a4a364 \
      --db /tmp/protean.db --from-block 46612390 --once
    python3 index_ledger.py --digest-only --db /tmp/protean.db

If you finished step 5 and the digests match, you have just personally verified the entire Protean Ledger.

You did not need to trust us. That is the entire point.

See the receipts page for this record
LedgerBase Mainnet · chainId 8453Schema protean.ledger.v1
Indexer digestsha256:ed809f…1b86