This section covers the current miner-facing workflow for Minotaur Subnet 112.
- Quickstart - Run the current CLI flow
- Configuration - Flags, defaults, and environment variables
- Solver API -
IntentSolverandStrategyinterfaces - Custom Solver - Strategy implementation guidance
- Troubleshooting - Common errors and fixes
Miners compete by improving solver quality, not by running a quote server.
Typical loop:
- Build/iterate on strategies (often via
RoutingSolver). - Submit candidate solver code.
- Validator/API benchmark worker scores submissions against active app scenarios.
- A challenger that delivers strictly more than the champion per order (zero regressions, ≥1 win/blind-spot cover) can be adopted as champion.
- Champion solver is loaded into block loop execution.
- Signed by Bittensor hotkey
- Runs 3-stage screening:
- static checks
- Docker build/import
- smoke test
- Then benchmarked and ranked
- Inline Python source upload
- Skips screening
- Goes directly to benchmarking
- Used by the agent loop for rapid iteration
- Submissions are compared to the champion per order (relative reference-bar) — the champion is the baseline, with no score of its own.
- A challenger must deliver strictly more than the champion: zero per-order regressions or drops, and at least one strict win or blind-spot cover (within a ±0.1% / 10 bps tie band). Matching everywhere is rejected.
- On adoption, block loop hot-swaps to the new solver.