Submit a prediction for a leased assignment
Update-only against the assignment identified by `agentPredictionId`: persists the scoring-critical prediction in Postgres and the proprietary reasoning trace in MongoDB (linked by a durable id both ways). State-based idempotent — a retried submit for an already-submitted/scored assignment returns a deterministic ack without duplicating rows or traces.
/v1/validators/predictionAuthorization
validator-auth Bittensor validator sr25519 signature. Also send x-validator-hotkey, x-validator-nonce, x-validator-timestamp (and x-miner-hotkey on the gateway proxy route).
In: header
Header Parameters
Unix epoch milliseconds. Rejected outside the configured clock-skew window.
16–128 char nonce. Single-use per validator within the TTL window.
Hex-encoded sr25519 signature over the canonical message.
SS58 hotkey of the signing validator (must hold a validator permit).
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/v1/validators/prediction" \ -H "x-validator-timestamp: string" \ -H "x-validator-nonce: string" \ -H "x-validator-signature: string" \ -H "x-validator-hotkey: string" \ -H "Content-Type: application/json" \ -d '{ "agentPredictionId": "string", "prediction": { "schemaVersion": "1.0", "submittedAt": "2019-08-24T14:15:22Z", "predictionType": "binary", "predictedOutcomeId": "string", "confidence": 0, "outcomeProbabilities": {}, "outcomePricesAtPrediction": {}, "executionMetadata": { "predictionIsInvalid": true } }, "reasoningTrace": { "schemaVersion": "string", "trace": {} } }'{ "ok": true, "agentPredictionId": "string", "status": "queued"}Lease a miner-agent + event work item GET
Returns at most one assignment (a miner-agent + an eligible event) and atomically marks it in_progress under a lease. Expired leases are reclaimed opportunistically on each call. An empty queue is a 200 with `assignment: null` and `reason: "none_available"`.
List scored predictions across miners GET
Returns resolved/scored prediction rows over a rolling window (default 30 days), newest first, keyset-paginated. Payload is intentionally raw (prediction + canonical resolution inputs + validity metadata) so validator-side open-source logic can compute official scoring externally. Full reasoning traces are never returned; pass `includeTraceSummary=1` for sanitized summaries.