API REST du vérificateur

FastAPI surface for the OSS centralised verifier. Anyone can stand one up to re-validate proof-of-inference claims emitted by the TensorCash chain. /verify/* endpoints accept FlatBuffers payloads (plus /v1/verify/*/json variants for JSON-encoded requests).

32 endpoints · OpenAPI 3.1.0 · Spécification OpenAPI (JSON)

Les endpoints /verify/* acceptent des payloads FlatBuffers (binaire application/octet-stream). Les variantes /v1/verify/*/json acceptent du JSON structuré comme les schémas proof_* ci-dessous, repris de validation.schema.json. /verify/full, model, pow, quick, quick-smell et logits couvrent l’échelle de vérification ; /verify/status/{hash_id} interroge l’état des soumissions asynchrones.

verifier-ladder/full

Full re-execution rung. Replay a deterministic inference end-to-end. Inline + async variants.

POST/v1/verify/full

Verify Full

Paramètres

NomEmplacementTypeRequisDescription
detailsqueryboolean—Include failure details in response
acceptheaderstring | null—
x-verify-detailsheaderstring | null—
x-prev-block-hashheaderstring | null—
x-merkle-rootheaderstring | null—
x-bitsheaderstring | null—

Corps de la requête

Body is a FlatBuffer-encoded ValidationRequest (or Proof / MiningResponse for /pow). FlatBuffers IDL + JSON Schema published at https://tensorcash.org/docs/schemas/.

  • application/octet-stream string (binary)

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

POST/v1/verify/full/json

Verify Full Json

Paramètres

NomEmplacementTypeRequisDescription
detailsqueryboolean—
acceptheaderstring | null—
x-verify-detailsheaderstring | null—
x-prev-block-hashheaderstring | null—
x-merkle-rootheaderstring | null—
x-bitsheaderstring | null—

Corps de la requête

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

POST/v1/verify/full/request

Verify Full Request

Paramètres

NomEmplacementTypeRequisDescription
acceptheaderstring | null—

Corps de la requête

  • application/octet-stream string (binary)

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

POST/v1/verify/full/request/submit

Verify Full Request Submit

Paramètres

NomEmplacementTypeRequisDescription
acceptheaderstring | null—

Corps de la requête

  • application/octet-stream string (binary)

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

verifier-ladder/model

Model-only rung. Verify that a model commit matches what was claimed.

POST/v1/verify/model

Verify Model

Paramètres

NomEmplacementTypeRequisDescription
detailsqueryboolean—Include failure details in response
acceptheaderstring | null—
x-verify-detailsheaderstring | null—
x-prev-block-hashheaderstring | null—
x-merkle-rootheaderstring | null—
x-bitsheaderstring | null—

Corps de la requête

Body is a FlatBuffer-encoded ValidationRequest (or Proof / MiningResponse for /pow). FlatBuffers IDL + JSON Schema published at https://tensorcash.org/docs/schemas/.

  • application/octet-stream string (binary)

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

POST/v1/verify/model/json

Verify Model Json

Paramètres

NomEmplacementTypeRequisDescription
detailsqueryboolean—
acceptheaderstring | null—
x-verify-detailsheaderstring | null—
x-prev-block-hashheaderstring | null—
x-merkle-rootheaderstring | null—
x-bitsheaderstring | null—

Corps de la requête

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

POST/v1/verify/model/request

Verify Model Request

Paramètres

NomEmplacementTypeRequisDescription
acceptheaderstring | null—

Corps de la requête

  • application/octet-stream string (binary)

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

POST/v1/verify/model/request/submit

Verify Model Request Submit

Paramètres

NomEmplacementTypeRequisDescription
acceptheaderstring | null—

Corps de la requête

  • application/octet-stream string (binary)

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

verifier-ladder/pow

Proof-of-work rung. Lightweight check that the block carried sufficient compute.

POST/v1/verify/pow

Verify Pow

Proof-only verification. Accepts MiningResponse, Proof, or ValidationRequest. Context-free by contract: no chain context is validated, the block precheck is not run, and every response form carries `result_type="proof_only" / context_bound=false`.

Paramètres

NomEmplacementTypeRequisDescription
detailsqueryboolean—Include failure details in response
acceptheaderstring | null—
x-verify-detailsheaderstring | null—

Corps de la requête

Body is a FlatBuffer-encoded ValidationRequest (or Proof / MiningResponse for /pow). FlatBuffers IDL + JSON Schema published at https://tensorcash.org/docs/schemas/.

  • application/octet-stream string (binary)

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

POST/v1/verify/pow/json

Verify Pow Json

Paramètres

NomEmplacementTypeRequisDescription
detailsqueryboolean—
acceptheaderstring | null—
x-verify-detailsheaderstring | null—

Corps de la requête

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

verifier-ladder/quick

Quick rung. Sampling-based check; cheaper than full, weaker than full.

POST/v1/verify/quick

Verify Quick

Paramètres

NomEmplacementTypeRequisDescription
detailsqueryboolean—Include failure details in response
acceptheaderstring | null—
x-verify-detailsheaderstring | null—
x-prev-block-hashheaderstring | null—
x-merkle-rootheaderstring | null—
x-bitsheaderstring | null—

Corps de la requête

Body is a FlatBuffer-encoded ValidationRequest (or Proof / MiningResponse for /pow). FlatBuffers IDL + JSON Schema published at https://tensorcash.org/docs/schemas/.

  • application/octet-stream string (binary)

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

POST/v1/verify/quick/json

Verify Quick Json

Paramètres

NomEmplacementTypeRequisDescription
detailsqueryboolean—
acceptheaderstring | null—
x-verify-detailsheaderstring | null—
x-prev-block-hashheaderstring | null—
x-merkle-rootheaderstring | null—
x-bitsheaderstring | null—

Corps de la requête

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

verifier-ladder/quick-smell

Quick-smell rung. Heuristic smell test for adversarial proofs.

POST/v1/verify/quick-smell

Verify Quick Smell

Paramètres

NomEmplacementTypeRequisDescription
detailsqueryboolean—Include failure details in response
acceptheaderstring | null—
x-verify-detailsheaderstring | null—
x-prev-block-hashheaderstring | null—
x-merkle-rootheaderstring | null—
x-bitsheaderstring | null—

Corps de la requête

Body is a FlatBuffer-encoded ValidationRequest (or Proof / MiningResponse for /pow). FlatBuffers IDL + JSON Schema published at https://tensorcash.org/docs/schemas/.

  • application/octet-stream string (binary)

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

POST/v1/verify/quick-smell/json

Verify Quick Smell Json

Paramètres

NomEmplacementTypeRequisDescription
detailsqueryboolean—
acceptheaderstring | null—
x-verify-detailsheaderstring | null—
x-prev-block-hashheaderstring | null—
x-merkle-rootheaderstring | null—
x-bitsheaderstring | null—

Corps de la requête

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

POST/v1/verify/quick-smell/request/submit

Verify Quick Smell Request Submit

Paramètres

NomEmplacementTypeRequisDescription
acceptheaderstring | null—

Corps de la requête

  • application/octet-stream string (binary)

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

verifier-ladder/logits

Logits rung. Cheapest rung — verifies a logits commitment without re-running inference.

POST/v1/verify/logits

Verify Logits

Paramètres

NomEmplacementTypeRequisDescription
detailsqueryboolean—Include failure details in response
acceptheaderstring | null—
x-verify-detailsheaderstring | null—

Corps de la requête

Body is a FlatBuffer-encoded ValidationRequest (or Proof / MiningResponse for /pow). FlatBuffers IDL + JSON Schema published at https://tensorcash.org/docs/schemas/.

  • application/octet-stream string (binary)

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

POST/v1/verify/logits/json

Verify Logits Json

Paramètres

NomEmplacementTypeRequisDescription
detailsqueryboolean—
acceptheaderstring | null—
x-verify-detailsheaderstring | null—

Corps de la requête

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

verifier-ladder/challenge

Challenge protocol. Async-only — submit a challenge, retrieve result via /status.

POST/v1/verify/challenge/request

Verify Challenge Request

Paramètres

NomEmplacementTypeRequisDescription
acceptheaderstring | null—

Corps de la requête

  • application/octet-stream string (binary)

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

POST/v1/verify/challenge/request/submit

Verify Challenge Request Submit

Paramètres

NomEmplacementTypeRequisDescription
acceptheaderstring | null—

Corps de la requête

  • application/octet-stream string (binary)

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

status

Status polling for async submissions. One endpoint per ladder rung plus a generic by-hash and batch.

GET/v1/verify/status/{hash_id}

Get Verification Status

Search all types; return 200 (complete), 202 (pending), or 404.

Paramètres

NomEmplacementTypeRequisDescription
hash_idpathstringOui

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

GET/v1/verify/status/full/{hash_id}

Get Status Full

Paramètres

NomEmplacementTypeRequisDescription
hash_idpathstringOui

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

GET/v1/verify/status/model/{hash_id}

Get Status Model

Paramètres

NomEmplacementTypeRequisDescription
hash_idpathstringOui

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

GET/v1/verify/status/challenge/{hash_id}

Get Status Challenge

Paramètres

NomEmplacementTypeRequisDescription
hash_idpathstringOui

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

GET/v1/verify/status/quick-smell/{hash_id}

Get Status Quick Smell

Paramètres

NomEmplacementTypeRequisDescription
hash_idpathstringOui

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

GET/v1/verify/status/pow/{hash_id}

Get Status Pow

Proof-only status: always `result_type="proof_only"`, never a block result.

Paramètres

NomEmplacementTypeRequisDescription
hash_idpathstringOui

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

POST/v1/verify/status/batch

Get Status Batch

Batch status polling — matches gateway contract: {completed, still_pending, waited_ms, server_ts}. Only items with actual in-flight/lifecycle state appear in still_pending.

Corps de la requête

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

GET/v1/public/status/{hash_id}

Get Public Status

Public read-only status. Returns {"status": "NAN"} if not found. Note: no durable-storage fallback in the open-source build.

Paramètres

NomEmplacementTypeRequisDescription
hash_idpathstringOui
verification_typequerystring | null—Filter by type

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

health

Liveness / readiness probes. /health and the kubernetes /healthz, /readyz.

GET/v1/verify/health

Health Check

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any

GET/health

Health

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any

GET/healthz

Healthz

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any

GET/readyz

Readyz

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any

verifier-ladder/batch-triage

POST/v1/verify/batch-triage

Verify Batch Triage

ADVISORY: which of these shares are worth a full verify? Returns a summary verdict for the batch. Per-share outcomes are emitted as Triage_Check / Triage_Clear / Triage_Error against each share's own hash_id (little-endian display hex, same as the Full endpoints), pollable via /v1/verify/status/batch with verification_type "triage". Triage_Clear means DEPRIORITISED, not verified good. A Triage_Check must still be confirmed with a real Full verification before any action.

Corps de la requête

Body is a FlatBuffer-encoded ValidationRequest (or Proof / MiningResponse for /pow). FlatBuffers IDL + JSON Schema published at https://tensorcash.org/docs/schemas/.

Réponses

StatutDescriptionCorps
200Successful Response
  • application/json any
422Validation Error

Schémas

BatchTriageRequest

N shares to triage in one batched pass. Each entry of shares is a base64 ValidationRequest -- byte-identical to what you would POST to /verify/full for that share.

ChampTypeRequisDescription
sharesstring[]Ouibase64 ValidationRequest blobs
chunkinteger—shares per forward pass; 0 = worker default
rank_rationumber—flag above this x cohort median; 0 = default
bootstrapinteger—0 = worker default
wait_msinteger—

Body_verify_full_json_v1_verify_full_json_post

ChampTypeRequisDescription
proof_b64stringOui

Body_verify_logits_json_v1_verify_logits_json_post

ChampTypeRequisDescription
proof_b64stringOui

Body_verify_model_json_v1_verify_model_json_post

ChampTypeRequisDescription
proof_b64stringOui

Body_verify_pow_json_v1_verify_pow_json_post

ChampTypeRequisDescription
payload_b64stringOui

Body_verify_quick_json_v1_verify_quick_json_post

ChampTypeRequisDescription
proof_b64stringOui

Body_verify_quick_smell_json_v1_verify_quick_smell_json_post

ChampTypeRequisDescription
proof_b64stringOui

StatusBatchItem

ChampTypeRequisDescription
hash_idstringOui
verification_typestringOui
batch_hash_idstring | null—

StatusBatchRequest

ChampTypeRequisDescription
itemsStatusBatchItem[]Oui
wait_msinteger—

ValidationError

ChampTypeRequisDescription
locstring | integer[]Oui
msgstringOui
typestringOui

proof_FloatArray

ChampTypeRequisDescription
valuesnumber[]—

proof_UIntArray

ChampTypeRequisDescription
valuesinteger[]—

proof_Proof

ChampTypeRequisDescription
versioninteger—
tickinteger—
timestampinteger—
targetinteger[]—
vdfinteger[]—
hashinteger[]—
block_hashinteger[]—
header_prefixinteger[]—
is_solutionboolean—
model_identifierstring—
compute_precisionstring—
ipfs_cidstring—
extra_flagsstring—
temperaturenumber—
top_pnumber—
top_kinteger—
repetition_penaltynumber—
chosen_tokensinteger[]—
chosen_probsnumber[]—
sampling_unumber[]—
softmax_normalizersnumber[]—
prompt_tokensinteger[]—
pad_maskboolean[]—
topk_logitsproof_FloatArray[]—
topk_indicesproof_UIntArray[]—
logsumexp_statsproof_FloatArray[]—

proof_ValidationType

Type: "Quick" | "Quick_Smell" | "Full" | "Model" | "Challenge" | "Logits" | "BatchTriage"

proof_ResponseValue

Type: "Quick_OK" | "Quick_Fail" | "Quick_OK_Smell_OK" | "Quick_OK_Smell_Fail" | "Quick_Fail_Smell_OK" | "Quick_Fail_Smell_Fail" | "Full_Green" | "Full_Amber" | "Full_Red" | "Model_OK" | "Model_Fail" | "Challenge_OK" | "Challenge_Fail" | "Model_Pending_Review" | "Logits_OK" | "Logits_Fail" | "Triage_Check" | "Triage_Clear" | "Triage_Error"

proof_ValidationUnion

Type: "NONE" | "BlockValidation" | "ModelValidation" | "BatchValidation"

proof_BlockValidation

ChampTypeRequisDescription
versioninteger—
hashinteger[]—
prev_block_hashinteger[]—
merkle_rootinteger[]—
timestampinteger—
bitsinteger—
nonceinteger—
pow_blob_hashinteger[]—
adjusted_bitsinteger—
pow_blobproof_Proof—
difficultyinteger—
heightinteger—
rulesetinteger—

proof_ModelValidation

ChampTypeRequisDescription
model_namestring—
model_commitstring—
difficultyinteger—
cidstring—
extrastring—
txidinteger[]—
block_hashinteger[]—
block_heightinteger—

proof_BatchShare

ChampTypeRequisDescription
hash_idinteger[]—
requestinteger[]—

proof_BatchValidation

ChampTypeRequisDescription
sharesproof_BatchShare[]—
chunkinteger—
rank_rationumber—
bootstrapinteger—

proof_ValidationResponse

ChampTypeRequisDescription
hash_identifierinteger[]—
enum_responseproof_ResponseValue—

proof_BlockHeader

ChampTypeRequisDescription
req_idinteger—
versioninteger—
prev_block_hashinteger[]—
merkle_rootinteger[]—
timestampinteger—
bitsinteger—
heightinteger—
stepbindinteger—

proof_MiningResponse

ChampTypeRequisDescription
req_idinteger—
nonceinteger—
adjusted_bitsinteger—
pow_blob_hashinteger[]—
difficultyinteger—
pow_blobproof_Proof—
completion_idstring—