Skip to main content

V3 Testnet

The active PressChain protocol major is V3. The testnet is the environment developers should use to integrate identity, read chain state, test transaction flows and validate indexers before any mainnet assumptions are introduced.
Do not copy testnet contract addresses, balances or genesis assumptions into a future mainnet configuration. Mainnet has an explicit authority and readiness process and will receive a new PRESS asset.

Verify the network before using it

A client should not trust a label alone. Query the connected endpoint and verify the chain ID before enabling a write action.
The expected result is the hexadecimal representation of 77117002, currently 0x498B64A. In a browser application using PressKey:
Your app should show a clear network mismatch state rather than attempting a transaction against the wrong chain.

What testnet is for

Use the V3 testnet to exercise real protocol semantics:
  • resolving identities and role state
  • preparing and signing user-authorized transactions
  • working with canonical bytes32 Capsule IDs
  • attaching and reading evidence in test flows
  • building contributor and attribution interfaces
  • indexing logs and testing replay behavior
  • validating economic action classification without assuming final mainnet fee amounts
A testnet integration should be production-shaped even when the assets have no mainnet value. That means no private keys in source control, no server-side custody shortcuts and no client logic that silently bypasses protocol permissions.

Configuration pattern

Keep network configuration explicit and environment-scoped.
Contract addresses should be loaded from the approved deployment or authority manifest for the environment. Avoid scattering addresses through components. Centralizing them makes it possible to verify a deployment as a unit and prevents one stale constant from silently pointing to an older contract.

Canonical identifiers

The V3 authority file explicitly selects bytes32 Capsule IDs and disables legacy uint256 writes. Preserve these identifiers as strings in JSON and browser code. Do not run a Capsule ID through Number(), parseInt() or database columns that cannot safely preserve 256 bits. A lowercased 0x-prefixed 64-byte hex string is a practical application representation.

Recovery epoch

The current network authority records recovery epoch 1. This is useful operational context when comparing old deployments or archived engineering material. Applications should follow the current authority manifest rather than inferring canonical state from the newest-looking historical file.

Readiness mindset

A successful testnet integration does more than render a balance. It proves the application can survive the conditions that matter in production: RPC timeouts, duplicate submissions, transaction replacement, rejected permissions, stale projections, reorg handling and users locking their signer while an action is being prepared. Build those failure paths now. Mainnet should be a controlled environment transition, not the first time the application behaves like production software.