Every AI-council or user-strategy call Scienter publishes is SHA-256-hashed and timestamped on-chain before the market can move. 24 hours later (the ensemble’s fixed horizon), a verifier oracle binds the realized P&L to that same hash — once, immutably. Anyone can recompute the hash from the stored payload and check both facts against the chain. Track records stop being screenshots.

The two facts it proves

  1. When the call was made. The hash of the call payload lands in a Merkle batch committed to AlphaLedger.sol on Base (Optimism as failover). Batch roots inherit the block’s timestamp, so a late attestation can never improve a call’s recorded time.
  2. What actually happened. Exactly one bound outcome per hash, submitted by a dedicated verifier key over EIP-191, sourced from real price/fill data (Hyperliquid, on-chain price feeds, or — for equities — a connected broker via SnapTrade). There is no update, delete, or admin override once an outcome is bound.

What’s deliberately NOT claimed

  • Emission is permissionless, not identity-verified. The chain proves when a hash existed — never that its author is trustworthy. Anyone can emit a hash; the leaderboard attributes by submitter wallet.
  • A source without a defensible price returns nothing. If no data source can resolve an outcome, the call stays visibly unsettled rather than getting a fabricated result. See the “DORMANT, with a reason” convention throughout Scienter — a missing input is never silently treated as a zero or a pass.

Verify a call yourself

This returns the canonical payload, the Merkle proof, and the batch root. The /proof/<hash> page recomputes the SHA-256 hash in your own browser with WebCrypto and checks it against what’s on-chain — you aren’t asked to trust Scienter’s arithmetic, only the transaction you can look up yourself on a block explorer. See Alpha Ledger endpoints for the full API, and the aggregate emitter leaderboard at /edge/ledger.json.

Current status

  • Contract: contracts/src/AlphaLedger.sol, 28 Foundry tests.
  • SDK: @scienter/alpha-ledger (Node/TypeScript, viem), 23 tests with vectors byte-checked against the Solidity implementation.
  • Not yet deployed to any network. The deploy runbook targets Base Sepolia (testnet) first; every *_ADDRESS environment variable ships empty in .env.example. Mainnet deployment requires explicit sign-off and has not happened.
  • Payload archival to Arweave/S3 is scaffolded in configuration but not yet wired — local batch files are the interim payload store.
Scienter publishes impersonal market signals of general and regular circulation. Nothing here is investment, legal, or tax advice, or a recommendation to buy, sell, or hold any asset. Scienter is not a registered investment adviser or broker-dealer. Trading digital assets can result in the total loss of your funds — see Disclaimers for the full text.