Skip to main content
This quickstart takes you from zero to a signed submission. Miners do not run a dedicated miner binary. You register a hotkey on the subnet, build the artifact your chosen challenge requires, then submit it as a signed HTTP request through the subnet proxy (docs/miner/README.md:9-18, src/platform_network/master/app_proxy.py:510-518).

Prerequisites

  • Python >=3.12 for the subnet tooling (pyproject.toml:5).
  • A Bittensor wallet with a coldkey and a hotkey (src/platform_network/config/settings.py:14-15).
  • Your hotkey registered on netuid 100 (src/platform_network/config/settings.py:12).
There is no miner subcommand in the subnet CLI. The CLI exposes master, validator, challenge, db, registry, and worker groups only (src/platform_network/cli_app/main.py:57-71). Your submission path is the signed upload protocol, not a CLI command.

Steps

1

Install the tooling

Install the subnet package and the Bittensor extra. From the base repository root:
uv sync --extra dev --extra master
This is the canonical install command (README.md:212). See Install the miner for the full setup.
2

Create and register a hotkey

Create a wallet, then register the hotkey on netuid 100. The default wallet name and hotkey name are both default (src/platform_network/config/settings.py:14-15, config/master.example.yaml:5-6). See Wallet & registration for the registration walkthrough.
3

Choose a challenge

Pick a challenge slug. The active primary challenges are agent-challenge and prism (src/platform_network/cli_app/main.py:267-268, src/platform_network/cli_app/main.py:292-293). Discover what is live with the registry read on the proxy:
curl -sf "$PROXY_URL/v1/registry"
/v1/registry is served by the proxy (README.md:425). See Choosing a challenge.
4

Build your submission artifact

Build the artifact in your challenge’s required format. PRISM takes a two-script .zip bundle (architecture.py plus training.py, src/platform_network/cli_app/main.py:458). Agent Challenge takes an agent ZIP whose root agent.py exposes agent:Agent (baseagent README.md:104 in the baseagent repository). See Choosing a challenge.
5

Sign and submit

Sign the request with your hotkey and upload through the proxy. For a raw ZIP bridge upload (src/platform_network/master/app_proxy.py:510-512, docs/miner/README.md:53-60):
POST /v1/challenges/{challenge_slug}/submissions
X-Hotkey: <miner-hotkey>
X-Signature: <signature>
X-Nonce: <nonce>
X-Timestamp: <timestamp>
The signing message and rules are in Authentication & signing (src/platform_network/security/miner_auth.py:96-111).
6

Track your submission

Poll the submission status and watch the leaderboard (src/platform_network/master/app_proxy.py:514-518, docs/miner/README.md:50,62):
curl -sf "$PROXY_URL/v1/challenges/{challenge_slug}/submissions/{submission_id}"
curl -sf "$PROXY_URL/challenges/{challenge_slug}/leaderboard"
See Monitoring & logs.
$PROXY_URL is the public subnet proxy. The configured registry/proxy URL defaults to https://chain.platform.network (src/platform_network/config/settings.py:21, config/master.example.yaml:11). On a local single-node bring-up the proxy answers on host port 18080 (README.md:262).

Where to go next

Wallet & registration

Register your hotkey on netuid 100.

Submitting your work

The full upload protocol.

Authentication & signing

Build the canonical signing message.

Troubleshooting

Fix 401, 409, 413, and 502 errors.