> ## Documentation Index
> Fetch the complete documentation index at: https://docs.presschain.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Constants & Network Reference

> Canonical V3 testnet identifiers, schema values and protocol constants used throughout the documentation.

# Constants and network reference

This page collects high-frequency values that developers should not have to rediscover in several repositories. Values are taken from current V3 authority and source-backed implementations.

## Network

| Constant                        | Value                       |
| ------------------------------- | --------------------------- |
| Network                         | `presschain-testnet`        |
| Protocol major                  | `v3`                        |
| Chain ID decimal                | `77117002`                  |
| Chain ID hex                    | `0x498B64A`                 |
| Public RPC                      | `https://rpc.presschain.io` |
| Recovery epoch                  | `1`                         |
| Canonical Capsule ID type       | `bytes32`                   |
| Legacy `uint256` Capsule writes | disabled                    |

## PRESS

| Constant                       | Value                  |
| ------------------------------ | ---------------------- |
| Symbol                         | `PRESS`                |
| Decimals                       | `18`                   |
| Planned mainnet supply         | `10,000,000,000 PRESS` |
| Testnet balances auto-migrate  | no                     |
| Mainnet reuses testnet genesis | no                     |

The planned supply is not a complete tokenomics manifest. Allocation, vesting, treasury routing, validator rewards and burn policy still require formal approval before mainnet.

## Capsule metadata

| Constant              | Value                            |
| --------------------- | -------------------------------- |
| Schema                | `presschain.capsule.metadata.v1` |
| Publication timestamp | required and non-zero            |
| Content type          | normalized lower-case            |
| Language              | normalized lower-case            |
| Cover media hash      | optional bytes32 hex             |

## Evidence

Current V3 evidence status enum:

| Value | Name        |
| ----: | ----------- |
|   `0` | `NONE`      |
|   `1` | `OPEN`      |
|   `2` | `SUPPORTED` |
|   `3` | `REJECTED`  |
|   `4` | `DISPUTED`  |
|   `5` | `FINALIZED` |

Reserved dispute evidence type:

```text theme={null}
255
```

The contract maintains a separate `finalized` boolean, so consumers should not assume status enum value `5` is the only way to identify finalization.

## Contributor roles

These are Capsule contributor roles, not protocol role IDs:

| Value | Role        |
| ----: | ----------- |
|   `0` | `NONE`      |
|   `1` | `AUTHOR`    |
|   `2` | `CO_AUTHOR` |
|   `3` | `SOURCE`    |

Maximum combined active share:

```text theme={null}
10,000 basis points
```

## Fee classes

```text theme={null}
none
bond
micro
standard
elevated
funded
```

## API defaults

| Setting                       | Default                                  |
| ----------------------------- | ---------------------------------------- |
| `PRESSCHAIN_API_PORT`         | `46331`                                  |
| `PRESSCHAIN_BOUNTY_STATE_DIR` | `/var/lib/presschain/bounty-engine-rust` |
| list page `limit`             | `25`                                     |
| maximum list `limit`          | `100`                                    |
| default `offset`              | `0`                                      |

## PressKey

Current inspected extension:

| Setting           | Value               |
| ----------------- | ------------------- |
| Manifest          | V3                  |
| Extension version | `4.11.0`            |
| Provider          | `window.presschain` |
| Provider flag     | `isPressKey: true`  |
| Chain ID          | `0x498B64A`         |
| Network version   | `77117002`          |

## Treat this page as a convenience, not a deployment manifest

Contract addresses are intentionally absent unless they are part of an approved current deployment authority set. Copying an address from an old script is more dangerous than requiring developers to load the actual deployment manifest.

When a value changes through approved authority, the reference should change with it.
