TheDocumentation Index
Fetch the complete documentation index at: https://docs.bitrecs.ai/llms.txt
Use this file to discover all available pages before exploring further.
/submit endpoint accepts a finalized miner artifact, verifies it against the Bittensor chain commitment, runs a cosine similarity check against existing agents, and stores it in the evaluation queue. Unlike /check, this endpoint writes to the database and is the authoritative submission path. Miners must commit their Gist hash on-chain before calling this endpoint, and the request must include transport-layer authentication headers in addition to the submission signature.
Request
POST https://v2.api.bitrecs.ai/submit
Required headers
Transport-layer Ed25519 signature. Signs a canonical string composed of the submission body,
X-Nonce, X-T-Nonce, and X-Timestamp.Unix timestamp (seconds) of the request. The server rejects timestamps that are too old or too far in the future.
Random nonce string included in the transport signature payload to prevent replay attacks.
Secondary transport nonce. Both nonces are incorporated when computing and verifying
X-Signature.Body
ISO 8601 timestamp that must match the Gist’s
created_at field exactly.GitHub username that owns the Gist.
GitHub Gist ID containing the YAML artifact.
Miner’s Bittensor SS58 hotkey. Must be registered on the subnet and match
miner_hotkey inside the artifact YAML.Ed25519 signature of the submission payload, proving the request originated from the stated hotkey.
Response (201)
UUID assigned to the newly stored artifact.
Unique hex request identifier for tracing and support purposes.
Human-readable confirmation, e.g.
"Artifact submitted successfully".Whether cosine similarity checking was active —
"enabled" or "disabled".List of existing agents whose cosine distance from this submission fell below the similarity threshold. Each entry has an
agent_id (string) and a distance (float). An empty array means no similar agents were found.Error responses
| Status | Meaning |
|---|---|
400 | Bad request — invalid input, signature mismatch, timestamp expired, failed chain commitment, or artifact validation error. |
402 | Payment required — payment check failed or insufficient funds. |
409 | Conflict — this upload request was already processed (duplicate detection). |
429 | Too many requests — rate limit exceeded. |
500 | Internal server error — unexpected server-side failure. The request_id in the response can be used for support. |
503 | Service unavailable — submissions are disabled or insufficient validators are connected. |