- install guide
- create validator
- keys
- security hardening
- state sync
- snapshots
- archive indexing
- upgrades
- useful commands
- monitoring
- links
- staking pools
- skill
- contributions
NEAR Mainnet Validator Installation Guide
NEAR is not a Cosmos SDK chain. There is no gaiad-style daemon, no
Tendermint priv_validator_key.json, no Cosmovisor, no genesis/addrbook
bootstrap pair and no IBC. Everything below is NEAR-native.
Network facts
| Parameter | Value |
|---|---|
| Network | NEAR Mainnet |
| Chain ID | mainnet |
| Binary | neard (from near/nearcore) |
| Latest stable release | 2.13.4 |
| Protocol version | 86 |
| Token | NEAR |
| Block time | ~1.1 s |
| Epoch length | 43,200 blocks (~12 h) |
| Unbonding | 4 epochs (~2 days) |
| P2P port | 24567 |
| RPC / metrics port | 3030 |
| Staking-pool factory | poolv1.near |
| Explorer | nearblocks.io |
| POSTHUMAN pool | posthuman.poolv1.near |
Always confirm the current stable tag on the nearcore releases page before you build. Mainnet runs the latest stable release; testnet runs the latest release candidate.
Validator roles
NEAR has two validator roles with different hardware and stake requirements:
- Block / chunk producers — the top 100 validators by stake. They track a shard, produce blocks and chunks, and carry the heaviest hardware cost.
- Chunk validators — everyone below the top 100. They do not track shards; they validate and endorse chunks. Lower RAM and storage, same 2.5% minimum annual reward target.
Read the seat price, do not quote it. A seat costs more than the smallest
stake currently in the validator set, and that number moves every epoch.
docs.near.org describes the threshold as the 300th largest staking proposal
with an absolute floor of 25,500 NEAR; measured against mainnet on 2026-09-17
the set held 415 validators and the smallest stake in it was 10,989 NEAR, so
the documented floor is not what the protocol is currently enforcing. Take the
live figure from nearblocks.io/node-explorer,
near-staking.com/stats or the RPC itself:
Hardware
Source: near-nodes.io hardware requirements.
| Role | CPU | RAM | Storage |
|---|---|---|---|
| Chunk/block producer (recommended) | 8+ physical cores, x86_64 | 48 GB | 3 TB NVMe |
| Chunk validator (recommended) | 8+ physical cores, x86_64 | 16 GB | 2 TB NVMe |
| Chunk validator (minimum) | 8+ physical cores, x86_64 | 8 GB | 1 TB SSD, 15k IOPS |
Required CPU features: CMPXCHG16B, POPCNT, SSE4.1, SSE4.2, AVX,
SHA-NI. Verify before provisioning:
Provision at least 8 GiB of RAM headroom above steady-state usage, or swap.
neard memory use spikes during state transitions, and an OOM kill during
your assigned chunk production costs endorsements directly.
1. System preparation
2. Network tuning
3. Build neard
The build needs roughly 1 GB of RAM per parallel job. If jobs are killed,
reduce them: CARGO_BUILD_JOBS=8 make neard.
Install the binary where systemd will find it:
4. Initialise the working directory
This writes:
| File | Purpose |
|---|---|
config.json | node configuration |
genesis.json | mainnet genesis state (large; the download runs for a while with no progress output) |
node_key.json | P2P identity of the host — not the staking key |
data/ | chain state |
--download-config takes a profile name. Pick it deliberately:
| Profile | Use for | Notes |
|---|---|---|
validator | validator nodes | heavily optimised, does not keep full state, cannot serve RPC queries |
rpc | public/internal RPC nodes | keeps recent data for all shards, serves roughly the last 5 epochs |
archival | archive nodes | full history from genesis, large storage — see the Archive & Indexing guide |
Run the validator on the validator profile and run RPC on a separate
host. Do not turn a validator into a public RPC endpoint.
5. Sync to the chain tip
Epoch Sync is the current recommended bootstrap: it syncs from genesis without downloading a state snapshot. It needs a fresh boot-node list.
Third-party snapshots remain an option for a faster cold start; see the Snapshot guide.
6. Firewall
Port 24567 must be reachable. Port 3030 carries both JSON-RPC and
Prometheus metrics: keep it on loopback or a private interface on a validator
and scrape it from there. Publishing 3030 from a validator host is a
deliberate exposure decision, not a default — see the Security guide.
7. systemd unit
8. Verify sync
Compare latest_block_height against an independent endpoint before you call
the node synced:
syncing must be false and the local height must track the public height
within a few blocks. Never submit a staking proposal before this holds.
Use 127.0.0.1 rather than localhost in any high-frequency check. On a
dual-stack host localhost resolves to ::1 first, and a service bound to
0.0.0.0 only answers after the IPv6 attempt times out.
9. Become a validator
The node itself does not stake. On NEAR, stake lives in a staking-pool smart
contract deployed through the poolv1.near factory, and the node signs for
that pool through validator_key.json.
Follow the Create validator guide for the full sequence: create the
account and access keys, deploy the pool, write validator_key.json, restart
neard, deposit stake, then ping every epoch.
Read the Keys & custody guide first. The node key, the staking key and the pool owner's full-access key are three different things with three different blast radii.
Related guides
- Create validator — pool creation,
ping, proposals, commission - Keys & custody —
validator_key.json,node_key.json, access keys - Security — host hardening, RPC exposure, backups
- Monitoring — Prometheus exporters, endorsement ratio, alerting
- Archive & Indexing — archival node, split storage, indexers
- Endpoints — public RPC endpoints and health checks
- Useful commands —
near-cli-rsandnear-validatorcheat sheet - Upgrades —
neardrelease upgrade procedure - NEAR Testnet — the same flow against
pool.f863973.m0