The Core Constraint
Every architectural decision flows from one principle: the protocol must not appear - or actually be - controlled by any company. Domain separation, service isolation, and the API gateway pattern all exist to preserve decentralization posture as the network matures.Domain Separation
presschain.io - Protocol Namespace
Everything protocol-critical: RPC, canonical dApps, court, explorer, docs, bridge. Neutral, permanent, canonical. Over time, RPC load-balances across community operators without changing URLs.
presslabs.io - Steward Org
Legal, disclosures, grants, validator node sales, careers. PressLabs does not host RPC or canonical dApps - this keeps the chain from looking corporate-controlled.
Full Request Chain
Service Components
EVM Node
EVM Node
Geth-compatible execution layer. Produces blocks, enforces EVM execution, hosts JSON-RPC on internal ports 8545/8546 (mainnet) and 9545/9546 (testnet). Validators secure consensus. They do not decide what news is true.
Protocol API (Rust)
Protocol API (Rust)
Direct chain reader and state manager. Returns full Capsule objects including policy, outlet, content, evidence, contributors, and revision lineage. Policy objects are currently bridge-backed pending direct Rust getter finalization.
Bridge API
Bridge API
Node.js middleware at
bridge.presschain.io. Requires Bearer auth for all write routes. Exposes normalized REST endpoints for outlet workflows, capsule submission, voting, and metadata. The stable integration surface for all non-validator development.Indexer
Indexer
Indexes chain events into PostgreSQL. Powers fast queries for capsule state, vote history, court cases, and distribution events. The Bridge reads from here for all normalized data - not directly from RPC.
BlockScout Explorer
BlockScout Explorer
Customized so the first-class object is the Capsule, not the transaction. Shows acceptance ratios, vote breakdowns, integrity labels, and revision lineage on each Capsule page.
Court Engine
Court Engine
Separate service on internal port 46103. Handles case lifecycle, summons issuance, juror selection, deliberation windows, verdict execution, and integrity label application. Interacts with BondManager for automatic penalty enforcement.
Burn Engine
Burn Engine
Runs on port 46105. Executes the 90-day burn cycle automatically, accumulating from publish fees, rights fees, ad fees, slashed bonds, and brand separation fees. Execution is on-chain and visible in explorer.
Protocol Namespace - All Surfaces
Decentralization Roadmap
| Phase | State |
|---|---|
| Now | Single-operator RPC, PoA consensus, community validators being onboarded |
| Phase 2 | Load-balance RPC across community operators, same URL |
| Phase 3 | Multi-validator consensus, Council authority narrows |
| Phase 4 | Protocol autonomous - PressLabs is one participant among many |
