Domain Library

The BOTCOIN challenge system supports multiple knowledge domains through an interchangeable domain library architecture. Each domain is a self-contained bundle that defines everything needed to generate challenges in that domain.

How Domains Work

  • The coordinator loads approved domain bundles at startup
  • Each challenge is generated from a specific domain, indicated by challengeDomain in the response
  • The challenge structure (document, questions, constraints, verification) remains consistent across domains
  • What changes: entity types, attribute names, prose language, question semantics, and domain-specific context
  • All domain libraries are deterministic: the same seed and library version always produce byte-identical challenges, enabling replay verification via golden hash sets

Domain Bundle

Each domain is defined by a single domain_library.json file containing the entity schema, question definitions, prose rendering templates, constraint mappings, and domain-specific context. The bundle is fully self-contained — the coordinator requires no per-domain code changes.

Entities within a domain have typed attributes (names, numeric values, categorical fields, periodic data) that drive both document generation and constraint anchoring.

Current Domains

Domain Status Description
companies Live Business entities with financial data, headquarters, leadership
medical Live Medical research studies with clinical metrics and trial data
quantum_physics Validated Quantum error correction codes with physical parameters and noise benchmarks
computational_biology Validated iPSC culture studies with cell characterization and differentiation outcomes
nuclear_physics Validated Heavy-ion collision experiments with beam parameters and nuclear modification factors

Adding New Domains

New domains are created through an automated offline pipeline that converts source documents into validated domain bundles:

  1. Ingest — Source documents are extracted and chunked into processable segments
  2. Schema extraction — An LLM agent analyzes the source material and designs the entity schema
  3. Human review gate — The schema is reviewed and approved before proceeding. This is the only manual step.
  4. Library generation — The LLM agent builds the complete domain library from the approved schema
  5. Deterministic validation — Automated checks verify structural correctness, uniqueness, coherence, and solvability without any LLM involvement
  6. Calibration — Challenges are solved by an isolated LLM to measure difficulty and identify areas that need adjustment
  7. Targeted adjustment — If the pass rate is outside the target band, specific dimensions are tuned rather than making broad changes

Deployment:

Once validated, activation requires only syncing the domain_library.json to the coordinator, adding it to the served-domains manifest, and restarting. No per-domain coordinator code changes are needed.

The domain bundle specification and creation pipeline are open for contribution. New domains can be proposed by providing source documents — the pipeline handles the rest.

Complexity Tuning

After a domain is deployed, challenge difficulty can be adjusted at the coordinator level (immediately, without a library change) or at the library level (requiring a bundle update). This allows fine-grained control over challenge difficulty as the miner ecosystem evolves.