Skip to main content
This page documents every key in the Settings model (base/src/platform_network/config/settings.py). All keys live under a section (for example master.proxy_port). See Configuration for how files and environment variables are merged.

Top level

KeyTypeDefaultSource
environmentstringdevelopmentbase/src/platform_network/config/settings.py:119
The environment value drives the production policy when set to prod, production, or staging.

network

Chain, wallet, and subnet identity (base/src/platform_network/config/settings.py:10-17).
KeyTypeDefaultSource
network.namestringplatformbase/src/platform_network/config/settings.py:11
network.netuidinteger100base/src/platform_network/config/settings.py:12
network.chain_endpointstring or nullnullbase/src/platform_network/config/settings.py:13
network.wallet_namestringdefaultbase/src/platform_network/config/settings.py:14
network.wallet_hotkeystringdefaultbase/src/platform_network/config/settings.py:15
network.wallet_pathstring or nullnullbase/src/platform_network/config/settings.py:16
network.master_uidinteger0base/src/platform_network/config/settings.py:17

master

Master proxy, epoch scheduling, registry, and upload acceptance (base/src/platform_network/config/settings.py:20-38).
KeyTypeDefaultSource
master.registry_urlstringhttps://chain.platform.networkbase/src/platform_network/config/settings.py:21
master.proxy_hoststring0.0.0.0base/src/platform_network/config/settings.py:26
master.proxy_portinteger8081base/src/platform_network/config/settings.py:27
master.epoch_interval_secondsinteger360base/src/platform_network/config/settings.py:28
master.metagraph_cache_ttl_secondsinteger300base/src/platform_network/config/settings.py:29
master.challenge_timeout_secondsfloat10.0base/src/platform_network/config/settings.py:30
master.challenge_retriesinteger3base/src/platform_network/config/settings.py:31
master.registry_state_filestring/var/lib/platform/registry.jsonbase/src/platform_network/config/settings.py:32
master.upload_signature_ttl_secondsinteger300base/src/platform_network/config/settings.py:33
master.upload_nonce_ttl_secondsinteger86400base/src/platform_network/config/settings.py:34
master.upload_max_body_bytesinteger7500000base/src/platform_network/config/settings.py:35
master.upload_require_registered_hotkeybooleantruebase/src/platform_network/config/settings.py:36
master.upload_extra_registered_hotkeyslist of string[]base/src/platform_network/config/settings.py:38
master.admin_host and master.admin_port exist only for back-compat and are ignored — the admin and registry API is served by the proxy on proxy_port as a single public API (base/src/platform_network/config/settings.py:22-25).

validator

Validator registry polling and weight submission (base/src/platform_network/config/settings.py:41-52).
KeyTypeDefaultSource
validator.registry_urlstringhttps://chain.platform.networkbase/src/platform_network/config/settings.py:42
validator.registry_retry_secondsinteger15base/src/platform_network/config/settings.py:43
validator.weights_urlstring or nullnullbase/src/platform_network/config/settings.py:44
validator.weights_interval_secondsinteger360base/src/platform_network/config/settings.py:45
validator.weights_timeout_secondsfloat15.0base/src/platform_network/config/settings.py:46
validator.weights_retriesinteger3base/src/platform_network/config/settings.py:47
validator.weights_freshness_secondsinteger720base/src/platform_network/config/settings.py:48
The effective weights endpoint is weights_url if set, otherwise registry_url (base/src/platform_network/config/settings.py:50-52).

database

KeyTypeDefaultSource
database.urlstringpostgresql+asyncpg://platform:platform@postgres.platform.svc.cluster.local/platformbase/src/platform_network/config/settings.py:56
In production the URL must point to an external PostgreSQL instance; sqlite URLs are rejected (base/src/platform_network/config/policy.py:42-50).

docker

Swarm broker, challenge networking, and job placement (base/src/platform_network/config/settings.py:59-104).
KeyTypeDefaultSource
docker.network_namestringplatform_challengesbase/src/platform_network/config/settings.py:60
docker.secret_dirstring/var/lib/platform/secretsbase/src/platform_network/config/settings.py:61
docker.internal_networkbooleantruebase/src/platform_network/config/settings.py:62
docker.broker_hoststring0.0.0.0base/src/platform_network/config/settings.py:63
docker.broker_portinteger8082base/src/platform_network/config/settings.py:64
docker.broker_urlstringhttp://platform-docker-broker:8082base/src/platform_network/config/settings.py:65
docker.broker_workspace_dirstring/tmp/platform-docker-brokerbase/src/platform_network/config/settings.py:66
docker.broker_allowed_imageslist of string["ghcr.io/<org>/"]base/src/platform_network/config/settings.py:67-69
docker.allow_privilegedbooleanfalsebase/src/platform_network/config/settings.py:70
docker.broker_privileged_slugslist of string[]base/src/platform_network/config/settings.py:71
docker.broker_node_rolemanager or workermanagerbase/src/platform_network/config/settings.py:72
docker.broker_allow_privileged_escapebooleanfalsebase/src/platform_network/config/settings.py:73
docker.broker_docker_socket_slugslist of string[]base/src/platform_network/config/settings.py:81
docker.broker_docker_socket_pathstring/var/run/docker.sockbase/src/platform_network/config/settings.py:82
docker.broker_eval_readonly_mountslist of string[]base/src/platform_network/config/settings.py:89
docker.broker_eval_readonly_mounts_by_slugmap of string to list{}base/src/platform_network/config/settings.py:97-99
docker.challenge_placement_constraintstring or nullnode.role==managerbase/src/platform_network/config/settings.py:102
docker.cpu_job_constraintstring or nullnode.labels.platform.workload==cpubase/src/platform_network/config/settings.py:103
docker.gpu_job_constraintstring or nullnode.labels.platform.workload==gpubase/src/platform_network/config/settings.py:104
The broker_allowed_images default is shown with the registry namespace redacted as <org>. Set it to your own fully-qualified registry prefix (for example ghcr.io/<org>/); broad prefixes are rejected under the production policy (base/src/platform_network/config/policy.py:53-67).

security

Admin token used to authorize admin API calls (base/src/platform_network/config/settings.py:107-109).
KeyTypeDefaultSource
security.admin_tokenstring or nullnullbase/src/platform_network/config/settings.py:108
security.admin_token_filestring or nullnullbase/src/platform_network/config/settings.py:109
Provide the token inline with admin_token, or point admin_token_file at a file containing it.

observability

Logging and telemetry (base/src/platform_network/config/settings.py:112-115).
KeyTypeDefaultSource
observability.log_jsonbooleantruebase/src/platform_network/config/settings.py:113
observability.sentry_dsnstring or nullnullbase/src/platform_network/config/settings.py:114
observability.otel_service_namestringplatformbase/src/platform_network/config/settings.py:115

System architecture

What each settings section actually configures.

Configuration examples

These keys shown in complete, annotated files.