Capsules
A Capsule is PressChain’s durable record for a piece of journalism or publishable content. It is designed to anchor the facts needed for independent verification without forcing the entire article body into contract storage. At its core, a Capsule ties a canonicalbytes32 identifier to an author, content hash, metadata hash, outlet context, status and timestamps. Related registries extend that record with contributors, evidence, metadata locations and revisions.
Core shape
The Capsule interface consumed by current V3 evidence and contributor contracts contains:What remains off-chain
Long-form text, images, PDFs, datasets and rich metadata can live at stable URIs. Their hashes let a client verify that retrieved bytes match what was committed. This is a deliberate tradeoff. Large content remains accessible through storage systems optimized for it, while protocol state preserves identity, integrity and relationships.Related registries
A Capsule can be extended through separate concerns:- metadata locator for canonical metadata location
- contributors for authorship, sources, contribution roles and share basis points
- evidence for canonical and dispute evidence plus vote tallies
- revisions for later content history
Example product
Imagine a local newsroom publishes an investigation. Its public article lives on the newsroom site. The PressChain Capsule commits to the article bytes and canonical metadata. A cover image URI and hash allow rich rendering. Two co-authors are attached as contributors. Source documents are attached as evidence. A later correction becomes a revision rather than overwriting the original commitment. A reader using an independent Explorer can reconstruct the history even if they never use the newsroom’s own website.Capsule IDs in routes
Treat IDs as opaque protocol identifiers:Status and lifecycle
Capsule status is represented at the protocol layer as a numeric field. Applications should resolve labels from the authority or contract version in use rather than guessing a global enum from archived code. Theexists flag is especially useful in interfaces consumed by related registries. Check it before showing contributor or evidence actions.