Proof trail demo
Every balance-sheet variable needs a trail.
CapState’s proof surface shows why a state variable can be trusted: source documents, extraction notes, schema version, attestation UID, state hash, freshness, disputes, and Base mirror evidence.
AA001 proof summary
Ethereum attestedBase mirroredknown schemano active disputesdemo valuesissuerId: AA001
schemaVersion: corporate-state-v0
canonicalChain: ethereum
attestationUid: 0x44…9a
stateHash: 0x8f…21
baseAcceptedStateRoot: 0xbe…51
asOf: 2026-05-28Source-to-state table
State variable
Source evidence
Freshness
Proof status
STATE_TREASURY_BTC_UNITS12,430 BTC
Custody letter + issuer attestationdocument hash 0x31…ac
7-day windowfresh
attestedBase mirrored
STATE_CASH_USD_UNRESTRICTED$84.2m
10-Q + issuer attestationdocument hash 0x19…ee
90-day windowfresh
source-cited
STATE_SENIOR_DEBT_USD$300.0m
Indenture + filingseniority layer verified
90-day windowfresh
verified claim
STATE_SENIOR_CLAIM_COVERAGE2.14x
Derived from assets + claimsmethodology v0
1-day derived metricfresh
calculatedoracle-ready
Attestation timeline
1 · Source documents indexed
Filings, custody refs, designations, and issuer attestations are hashed and linked.
2 · State object assembled
Balance-sheet rows normalize into corporate-state-v0 variables.
3 · Ethereum attestation recorded
Authority attests stateHash under known schema UID.
4 · Base mirror accepted
Latest accepted state root and selected variables are mirrored for app reads.
What a contract should verify
bytes32 hash = oracle.latestStateHash(issuer);
require(hash == expectedOrAcceptedHash, "unexpected state root");
require(oracle.isFresh(issuer, STATE_SENIOR_CLAIM_COVERAGE), "stale variable");
require(!registry.hasActiveDispute(issuer, hash), "disputed state");For auditors
Trace variable → source → hash → attestation → Base mirror.
For issuers
Show exactly what public evidence backs each displayed balance-sheet row.
For builders
Gate contract logic on freshness, accepted state roots, and dispute status.