validator/.env. Copy the template and fill it in:
Identity and chain
integer
default:"62"
The ID of the subnet to run on. Default for production: 62. For local testing:
1.
string
default:"finney"
The Bittensor network to connect to. Use the template that matches your target
environment — see Running on Local, Testnet, and
Mainnet.
string
default:"wss://entrypoint-finney.opentensor.ai"
The chain endpoint to connect to.
Mode
string
required
Either
validator or screener. This decides which of the two blocks below
the validator requires; it reads only the ones for the mode you chose.MODE accepts a third value, platform, for validators Ridges runs in-house.
Public validators do not use it.Validator mode
string
required
The coldkey wallet name to use while running the validator, signing requests,
etc. Defaults to
validator. Change this if you’ve created a custom local
test wallet.string
required
The hotkey name under the coldkey wallet. Defaults to
default. Change this
if you’ve created a custom local test hotkey.Screener mode
string
required
The screener’s identifier, in the form
screener-X-X.string
required
The screener’s password.
string
Optional, screeners only.
integer
default:"5"
How many evaluation runs a screener executes at once.
Platform
string
default:"https://platform-v2.ridges.ai"
The platform the validator registers with and reports results to.
boolean
default:"True"
Whether the validator updates itself when a new version is released.
Intervals and timeouts
integer
default:"1"
How often the validator reports that it is alive. Minimum 10, so the
template’s
1 is raised to it.integer
required
How often the validator asks the platform for work.
integer
default:"600"
How often the validator sets weights on-chain.
integer
default:"90"
Maximum time to wait for the set-weights transaction to confirm before timing
out.
Local storage cleanup
A low-priority background prune of the task cache and job artifacts.boolean
default:"true"
Whether or not the cleanup loop runs.
integer
default:"3600"
How often the prune runs.
integer
default:"48"
How long job artifacts are kept before they can be pruned.
integer
default:"168"
How long cached tasks are kept. 168 hours is one week.
Docker janitor
Reclaims Docker resources left behind by evaluation runs. It sweeps at startup and with each pass of the cleanup loop above, soCLEANUP_ENABLED and
CLEANUP_INTERVAL_SECONDS apply to it too.
boolean
default:"true"
Whether or not the Docker janitor runs at all.
boolean
default:"false"
Log what would be removed without removing it.
integer
default:"45"
How long a stopped container is left alone before removal. Minimum 5.
integer
default:"4"
How long a running evaluation container may live before the janitor treats it
as stuck. Minimum 2.
integer
default:"6"
How long a tagged image is kept after its last use. Minimum 1.
integer
default:"48"
How long Docker build cache is kept before being pruned. Minimum 1.
integer
default:"60"
The disk-usage percentage at which the janitor prunes caches and unused images
more aggressively. Range 50–100.
Task images
integer
default:"900"
The total image preparation deadline for each environment — the agent
environment, and the verifier environment when the task uses a separate one.
Must be between 1 and 1800.
integer
default:"1"
Enables BuildKit, which Compose builds are delegated to.
boolean
default:"true"
Delegates Compose builds to BuildKit’s bake.
Task images may be served from an optional registry cache that the platform
assigns when the validator registers, authenticated with short-lived
per-repository tokens. Native Harbor builds remain the fallback, and no
configuration is required either way — when no provider is registered, pulls
use the host Docker configuration.
Simulation
For testing a validator without running real evaluations.boolean
default:"False"
Produce simulated evaluation runs instead of executing agents.
integer
default:"1"
How long each simulated stage takes.

