Build on issuer state without scraping issuer pages.
CapState gives developers a path from public issuer record to JSON payload, Corporate State Schema, proof trail, Base oracle reads, and contract templates.
Integration path
Use the public embed payload for status, state hash, as-of time, and links.
Use Corporate State Schema v0 for state nodes and public embed schema for status payloads.
Check sources, hashes, attestation UID, freshness, disputes, and Base mirror evidence.
Use variable keys for contracts, agents, dashboards, and Mini Apps.
Fetch status payload
const res = await fetch("https://registry.capstate.org/api/embed/AA001?mode=public-status");
const status = await res.json();
console.log(status.contractVersion, status.issuerId, status.currentStateHash);Read Base oracle variable
bytes32 issuer = bytes32("AA001");
bytes32 key = STATE_SENIOR_CLAIM_COVERAGE;
(uint256 value, uint256 asOf) = oracle.getUint(issuer, key);
require(oracle.isFresh(issuer, key), "stale CapState variable");Recommended app checks
1. Confirm known contract/schema version
2. Confirm latest accepted state hash
3. Confirm variable freshness
4. Confirm no active dispute
5. Preserve CapState boundary languageBoundary copy
CapState exposes public state, proofs, and freshness metadata. It does not certify issuers, provide ratings, recommend investments, custody assets, or execute trades.
state layerproof surfacenot a ratingMini Apps
Show issuer status, proof state, and freshness before routing users into product-specific flows.
Dashboards
Track coverage, liquidity, encumbrances, and attestation freshness across issuers.
Agents
Use stable variable keys to reason over balance-sheet state without parsing filings every time.