Skip to main content

The Naming Principle

All canonical protocol infrastructure lives permanently under presschain.io. This is intentional and load-bearing. As PressChain decentralizes, operators behind these URLs can change - the URLs themselves never need to. Community-run RPC nodes can serve rpc.presschain.io without breaking any integration anywhere. presslabs.io hosts everything organizational - legal, grants, careers, node sales. PressLabs does not host RPC, explorer, or any dApp. This separation is what keeps the protocol from looking corporate-controlled.

Full Protocol Surface Map


App Directory

portal.presschain.io

Outlet Control Plane · Port 3010The primary hub for editors, outlet managers, and journalists. Capsule queue management, acceptance monitoring, role management, import tools, distribution configuration, rights licensing, compliance exports, and the full Admin CMS.Source: /home/press/PressChain/apps/portal

outlet.presschain.io

Outlet-Facing App · Port 3011Public-facing outlet interface. Readers can browse canonical Capsules, see voting status, view integrity labels, and connect PressKey to vote directly.Source: /home/press/PressChain/apps/outlet

court.presschain.io

Court Engine dApp · Port 3012Public interface for the dispute resolution engine. Browse open cases, track case lifecycle, view evidence submissions, verdicts, and permanent integrity label assignments.Source: /home/press/PressChain/apps/court

proposals.presschain.io

Governance · Port 3013Protocol governance interface. Submit proposals, vote with bonded weight, view active and historical outcomes. Council emergency actions are logged here.Source: /home/press/PressChain/apps/proposals

ads.presschain.io

Ad Marketplace · Port 3014Proof-of-placement ad system with escrow. Advertisers create campaigns, funds are escrowed, placement is verified on-chain before release. 5% protocol fee.Source: /home/press/PressChain/apps/ads

status.presschain.io

Network Telemetry · Port 3015Live: block height, validator count, vault operator health, acceptance rate, average time to acceptance, burn pool size, next burn countdown, court backlog, governance participation.Source: /home/press/PressChain/apps/status

docs.presschain.io

Documentation · Port 3016This documentation. Mintlify-powered, Nunito + DM Serif Display, light-default with dark mode. Served via the presschain-next@docs systemd service.Source: /home/press/presschain-docs

faucet.presschain.io

Testnet Faucet · Port 3017Dispenses testnet PRESS (tPRESS) for development and testing. Chain ID 77117002. Rate limited per address.Source: /home/press/PressChain/apps/faucet

key.presschain.io

PressKey Identity WalletMandatory identity layer. Browser extension. Generates and encrypts private keys locally. Signs all protocol actions via nonce challenge. Never exposes raw keys to any server.

explorer.presschain.io

Customized BlockScoutNot a generic transaction scanner. First-class object is the Capsule. Shows acceptance ratios, integrity labels, vote breakdowns, revision lineage, burn countdown. Built on BlockScout with PressChain-specific customizations.

Monorepo Structure

All Next.js apps live in the main PressChain monorepo:
Each app is fully independent with its own config and package manifest. They share design tokens and contract ABIs via workspace packages.

Static Marketing Site (presschain.io)

The main marketing site is a separate Vite/React app managed through cPanel on 38.83.53.142:
Build and deploy:

presslabs.io - What Lives Here

PressLabs is the steward organization, not the chain. presslabs.io hosts everything commercial and organizational - never protocol infrastructure.
  • Legal disclosures and terms of service
  • Transparency reports
  • Ecosystem grants and programs
  • Validator node sales and pricing pages
  • Careers and public communications
  • Foundation contact and governance filings
PressLabs does not host: RPC, explorer, canonical dApps, or Bridge API.

RPC Surfaces


Apache Proxy Configs

Each subdomain’s proxy configuration lives at:
Pattern for all Next.js app subdomains:
After any proxy config change: