PRISM exposes public challenge routes and internal Platform routes.
Returns challenge health metadata.
Returns challenge version, API version, SDK version, and capabilities.
Submit a model project directly to PRISM. In production, miner submissions should usually enter through the Platform proxy.
Request:
{
"filename": "project.zip",
"code": "<base64 zip payload>",
"metadata": {}
}The direct public route uses miner authentication headers. Platform bridge uploads use an internal route instead.
Returns status and score fields:
{
"id": "...",
"hotkey": "...",
"epoch_id": 123,
"status": "completed",
"code_hash": "...",
"created_at": "...",
"error": null,
"final_score": 0.72,
"q_arch": 0.8,
"q_recipe": 0.6
}status can be pending, running, completed, failed, rejected, or held. Held submissions are awaiting manual component-attribution resolution and do not affect weights.
Returns ranked submissions for the current epoch.
Returns known architecture families.
[
{
"id": "...",
"family_hash": "...",
"owner_hotkey": "...",
"owner_submission_id": "...",
"canonical_submission_id": "...",
"q_arch_best": 0.9,
"created_at": "...",
"updated_at": "..."
}
]Optional query parameters:
architecture_idlimit
Returns training variants and current-best state.
Returns the current epoch id and epoch length.
All internal routes require:
Authorization: Bearer <shared-token>
Standard Platform challenge contract. Returns normalized hotkey weights.
Receives Platform-verified submissions.
Headers:
Authorization: Bearer <shared-token>
X-Platform-Verified-Hotkey: <hotkey>
X-Submission-Filename: project.zip
Content-Type: application/zip
The body can be raw ZIP bytes or JSON matching SubmissionCreate.
Claims and processes one pending submission.
Polls remote jobs. This is retained for compatibility with asynchronous job flows.
Lists low-confidence semantic attribution holds.
Response:
[
{
"id": "...",
"submission_id": "...",
"status": "pending",
"reason": "low confidence component attribution",
"confidence": 0.61,
"created_at": "...",
"updated_at": "..."
}
]Resolves a held submission with an operator attribution decision.
Request:
{
"architecture_action": "existing",
"training_action": "new",
"architecture_id": "7ec2c3a8-...",
"training_variant_id": null,
"reason": "manual review confirmed same architecture and new training hook"
}Allowed architecture actions are new, existing, transfer, and reject. Allowed training actions are new, existing, transfer, reject, and none.
These routes support validator-assignment operation.
Headers:
X-Validator-Hotkey: <validator-hotkey>
Returns an assignment or null.
Marks an assignment as accepted.
Request:
{
"reason": "busy"
}Rejects an assignment and requeues the submission if attempts remain.
Request:
{
"metrics": {
"q_arch": 0.8,
"q_recipe": 0.7,
"train_loss": 1.0
}
}Finalizes the assignment and records scores.
Expires stale assignments and requeues or fails submissions according to the configured attempt limit.