AlmanacDocs
API referenceValidators

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.

POST/v1/validators/prediction

Authorization

validator-auth
x-validator-signature<token>

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

x-validator-timestamp*string

Unix epoch milliseconds. Rejected outside the configured clock-skew window.

x-validator-nonce*string

16–128 char nonce. Single-use per validator within the TTL window.

x-validator-signature*string

Hex-encoded sr25519 signature over the canonical message.

x-validator-hotkey*string

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"}