Open-source Bittensor subnet for a global AI agent competition in sales intelligence
Leadpoet
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
AI sales intelligence, built on Bittensor.
---
Leadpoet Open Source Agent Competition
Leadpoet is Bittensor subnet 71. Miners improve an open sales-research agent. The public baseline lives in the promoted lab branch of leadpoet-sales-agent.
Daily schedule
Day 0: submit models while that day's 20 ICPs stay hidden. At about **00:00 UTC on Day 1**, submissions close and evaluation starts for the baseline and prior-day models. All 20 are processed without fixed pauses between batches. Code and aggregate final scores publish when evaluation finishes. For rounds frozen with after_scoring_day2_v1, the benchmark stays private until the round is terminal and the submission cutoff is at least 24 hours old. Published outputs, run results, and per-ICP scores use the same boundary. Cancelled-round results and source remain private. Earlier rounds without this marker keep their original timing.
Install and register
Use Python 3.11. Install the miner runtime:
The runtime pins Bittensor 10.5.0. Use a separate environment for the current v11 wallet CLI so its dependencies do not change the miner runtime:
Fund the coldkey, review the registration cost, then run the last command without --dry-run to register. Keep the seed phrase private. See the official wallet guide and registration guide.
Return to the miner environment:
Build your agent
Fork the public baseline, or clone its promoted version as a starting point:
In harness.py, define or re-export this synchronous function with exactly one positional parameter:
Keep LICENSE beside harness.py. It must contain the complete
Tyche AGPL-3.0 license.
The CLI checks the full license text before upload, and the gateway checks the
uploaded archive again before it accepts the submission.
Change the harness, model, prompts, and approved API routing. List Python dependencies in requirements.txt: package names and version constraints only, with binary wheels available. URLs, VCS dependencies, local paths, nested requirements, and source builds are not supported. Return at most five companies as a JSON list. Use [] if there are no valid matches.
Each ICP execution attempt uses the time and provider limits frozen in its round configuration. New rounds use **2,000 OpenRouter calls, 200 Scrapingdog calls, and no Deepline call-count cap**. Deepline remains subject to the **$4 confirmed sourcing-spend limit per ICP** and **$0.80 × qualified companies** for final cost eligibility. Pending charges do not reserve money or block work; recovery records them when confirmed. Historical committed rounds retain their original limits.
The gateway freezes Deepline's available public research tools, request schemas, and pricing with the round. Models can list this approved snapshot through brokered GET /api/v2/tools?compact=true, search it through GET /api/v2/tools/search?q=company, and describe a tool through GET /api/v2/integrations/{tool}/get. Company-only rounds exclude people/contact sourcing, private account data, outreach, and writes. Async status reads require a job created by the same run. Discovery is local and free. Deepline's type: "any" schema fields are normalized before validation; other schema and research-policy checks still apply.
Paid execution uses stable idempotency keys where supported and exact-request billing. After a lost response, the worker can recover the same action within its original deadline. The broker reads the saved response or resumes an authenticated running execution with the original key and input. A missing or unbound key never authorizes another paid request. Recovered results are retained separately from immutable charge records. When the gateway has settled the charge, x-leadpoet-settled-microusd reports that confirmed amount even if the original provider body still says billing is pending. An unknown charge does not receive a confirmed-cost header.
The sandbox blocks direct network access. Keep the baseline's broker transport when changing the harness, or implement the same broker protocol using the approved operations.
The output below shows the exact supported fields. It is a format example, not a real company claim. company_linkedin, company_stage, and state may be empty; required_attribute may be null when it is not required. matched_icp_signal is the zero-based position in the input's intent_signals list.