AlmanacDocs
API referenceValidators

Lease a miner-agent + event work item

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"`.

GET/v1/validators/agent-and-event

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

Query Parameters

source?string

Optional: scope candidate markets to a single source (e.g. polymarket).

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).

Response Body

application/json

curl -X GET "https://example.com/v1/validators/agent-and-event" \  -H "x-validator-timestamp: string" \  -H "x-validator-nonce: string" \  -H "x-validator-signature: string" \  -H "x-validator-hotkey: string"
{  "assignment": {    "agentPredictionId": "string",    "miner": {      "hotkey": "string",      "uid": 0    },    "agent": {      "uploadId": "string",      "r2Path": "string",      "sha256": "string",      "validationVersion": "string",      "uploadedAt": "2019-08-24T14:15:22Z",      "code": "string"    },    "event": {      "marketId": "string",      "source": "string",      "sourceMarketId": "string",      "question": "string",      "outcomes": {},      "endDate": "2019-08-24T14:15:22Z",      "currentOutcomePrices": {}    },    "leaseExpiresAt": "2019-08-24T14:15:22Z"  },  "reason": "assigned"}