Verifier REST API

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개 · OpenAPI 3.1.0 · OpenAPI 명세(JSON)

/verify/* 엔드포인트는 FlatBuffers 페이로드(바이너리 application/octet-stream)를 받습니다. /v1/verify/*/json 변형은 validation.schema.json에서 가져온 아래 proof_* 스키마 형태의 JSON을 받습니다. /verify/full, model, pow, quick, quick-smell, logits가 검증 단계 사다리를 구성하며, /verify/status/{hash_id}로 비동기 제출 상태를 폴링합니다.

verifier-ladder/full

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

POST/v1/verify/full

Verify Full

파라미터

이름위치타입필수설명
detailsqueryboolean—Include failure details in response
acceptheaderstring | null—
x-verify-detailsheaderstring | null—
x-prev-block-hashheaderstring | null—
x-merkle-rootheaderstring | null—
x-bitsheaderstring | null—

요청 본문

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)

응답

상태설명본문
200Successful Response
  • application/json any
422Validation Error

POST/v1/verify/full/json

Verify Full Json

파라미터

이름위치타입필수설명
detailsqueryboolean—
acceptheaderstring | null—
x-verify-detailsheaderstring | null—
x-prev-block-hashheaderstring | null—
x-merkle-rootheaderstring | null—
x-bitsheaderstring | null—

요청 본문

응답

상태설명본문
200Successful Response
  • application/json any
422Validation Error

POST/v1/verify/full/request

Verify Full Request

파라미터

이름위치타입필수설명
acceptheaderstring | null—

요청 본문

  • application/octet-stream string (binary)

응답

상태설명본문
200Successful Response
  • application/json any
422Validation Error

POST/v1/verify/full/request/submit

Verify Full Request Submit

파라미터

이름위치타입필수설명
acceptheaderstring | null—

요청 본문

  • application/octet-stream string (binary)

응답

상태설명본문
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

파라미터

이름위치타입필수설명
detailsqueryboolean—Include failure details in response
acceptheaderstring | null—
x-verify-detailsheaderstring | null—
x-prev-block-hashheaderstring | null—
x-merkle-rootheaderstring | null—
x-bitsheaderstring | null—

요청 본문

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)

응답

상태설명본문
200Successful Response
  • application/json any
422Validation Error

POST/v1/verify/model/json

Verify Model Json

파라미터

이름위치타입필수설명
detailsqueryboolean—
acceptheaderstring | null—
x-verify-detailsheaderstring | null—
x-prev-block-hashheaderstring | null—
x-merkle-rootheaderstring | null—
x-bitsheaderstring | null—

요청 본문

응답

상태설명본문
200Successful Response
  • application/json any
422Validation Error

POST/v1/verify/model/request

Verify Model Request

파라미터

이름위치타입필수설명
acceptheaderstring | null—

요청 본문

  • application/octet-stream string (binary)

응답

상태설명본문
200Successful Response
  • application/json any
422Validation Error

POST/v1/verify/model/request/submit

Verify Model Request Submit

파라미터

이름위치타입필수설명
acceptheaderstring | null—

요청 본문

  • application/octet-stream string (binary)

응답

상태설명본문
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`.

파라미터

이름위치타입필수설명
detailsqueryboolean—Include failure details in response
acceptheaderstring | null—
x-verify-detailsheaderstring | null—

요청 본문

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)

응답

상태설명본문
200Successful Response
  • application/json any
422Validation Error

POST/v1/verify/pow/json

Verify Pow Json

파라미터

이름위치타입필수설명
detailsqueryboolean—
acceptheaderstring | null—
x-verify-detailsheaderstring | null—

요청 본문

응답

상태설명본문
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

파라미터

이름위치타입필수설명
detailsqueryboolean—Include failure details in response
acceptheaderstring | null—
x-verify-detailsheaderstring | null—
x-prev-block-hashheaderstring | null—
x-merkle-rootheaderstring | null—
x-bitsheaderstring | null—

요청 본문

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)

응답

상태설명본문
200Successful Response
  • application/json any
422Validation Error

POST/v1/verify/quick/json

Verify Quick Json

파라미터

이름위치타입필수설명
detailsqueryboolean—
acceptheaderstring | null—
x-verify-detailsheaderstring | null—
x-prev-block-hashheaderstring | null—
x-merkle-rootheaderstring | null—
x-bitsheaderstring | null—

요청 본문

응답

상태설명본문
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

파라미터

이름위치타입필수설명
detailsqueryboolean—Include failure details in response
acceptheaderstring | null—
x-verify-detailsheaderstring | null—
x-prev-block-hashheaderstring | null—
x-merkle-rootheaderstring | null—
x-bitsheaderstring | null—

요청 본문

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)

응답

상태설명본문
200Successful Response
  • application/json any
422Validation Error

POST/v1/verify/quick-smell/json

Verify Quick Smell Json

파라미터

이름위치타입필수설명
detailsqueryboolean—
acceptheaderstring | null—
x-verify-detailsheaderstring | null—
x-prev-block-hashheaderstring | null—
x-merkle-rootheaderstring | null—
x-bitsheaderstring | null—

요청 본문

응답

상태설명본문
200Successful Response
  • application/json any
422Validation Error

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

Verify Quick Smell Request Submit

파라미터

이름위치타입필수설명
acceptheaderstring | null—

요청 본문

  • application/octet-stream string (binary)

응답

상태설명본문
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

파라미터

이름위치타입필수설명
detailsqueryboolean—Include failure details in response
acceptheaderstring | null—
x-verify-detailsheaderstring | null—

요청 본문

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)

응답

상태설명본문
200Successful Response
  • application/json any
422Validation Error

POST/v1/verify/logits/json

Verify Logits Json

파라미터

이름위치타입필수설명
detailsqueryboolean—
acceptheaderstring | null—
x-verify-detailsheaderstring | null—

요청 본문

응답

상태설명본문
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

파라미터

이름위치타입필수설명
acceptheaderstring | null—

요청 본문

  • application/octet-stream string (binary)

응답

상태설명본문
200Successful Response
  • application/json any
422Validation Error

POST/v1/verify/challenge/request/submit

Verify Challenge Request Submit

파라미터

이름위치타입필수설명
acceptheaderstring | null—

요청 본문

  • application/octet-stream string (binary)

응답

상태설명본문
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.

파라미터

이름위치타입필수설명
hash_idpathstring예

응답

상태설명본문
200Successful Response
  • application/json any
422Validation Error

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

Get Status Full

파라미터

이름위치타입필수설명
hash_idpathstring예

응답

상태설명본문
200Successful Response
  • application/json any
422Validation Error

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

Get Status Model

파라미터

이름위치타입필수설명
hash_idpathstring예

응답

상태설명본문
200Successful Response
  • application/json any
422Validation Error

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

Get Status Challenge

파라미터

이름위치타입필수설명
hash_idpathstring예

응답

상태설명본문
200Successful Response
  • application/json any
422Validation Error

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

Get Status Quick Smell

파라미터

이름위치타입필수설명
hash_idpathstring예

응답

상태설명본문
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.

파라미터

이름위치타입필수설명
hash_idpathstring예

응답

상태설명본문
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.

요청 본문

응답

상태설명본문
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.

파라미터

이름위치타입필수설명
hash_idpathstring예
verification_typequerystring | null—Filter by type

응답

상태설명본문
200Successful Response
  • application/json any
422Validation Error

health

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

GET/v1/verify/health

Health Check

응답

상태설명본문
200Successful Response
  • application/json any

GET/health

Health

응답

상태설명본문
200Successful Response
  • application/json any

GET/healthz

Healthz

응답

상태설명본문
200Successful Response
  • application/json any

GET/readyz

Readyz

응답

상태설명본문
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.

요청 본문

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

응답

상태설명본문
200Successful Response
  • application/json any
422Validation Error

스키마

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.

필드타입필수설명
sharesstring[]예base64 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

필드타입필수설명
proof_b64string예

Body_verify_logits_json_v1_verify_logits_json_post

필드타입필수설명
proof_b64string예

Body_verify_model_json_v1_verify_model_json_post

필드타입필수설명
proof_b64string예

Body_verify_pow_json_v1_verify_pow_json_post

필드타입필수설명
payload_b64string예

Body_verify_quick_json_v1_verify_quick_json_post

필드타입필수설명
proof_b64string예

Body_verify_quick_smell_json_v1_verify_quick_smell_json_post

필드타입필수설명
proof_b64string예

StatusBatchItem

필드타입필수설명
hash_idstring예
verification_typestring예
batch_hash_idstring | null—

StatusBatchRequest

필드타입필수설명
itemsStatusBatchItem[]예
wait_msinteger—

ValidationError

필드타입필수설명
locstring | integer[]예
msgstring예
typestring예

proof_FloatArray

필드타입필수설명
valuesnumber[]—

proof_UIntArray

필드타입필수설명
valuesinteger[]—

proof_Proof

필드타입필수설명
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

타입: "Quick" | "Quick_Smell" | "Full" | "Model" | "Challenge" | "Logits" | "BatchTriage"

proof_ResponseValue

타입: "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

타입: "NONE" | "BlockValidation" | "ModelValidation" | "BatchValidation"

proof_BlockValidation

필드타입필수설명
versioninteger—
hashinteger[]—
prev_block_hashinteger[]—
merkle_rootinteger[]—
timestampinteger—
bitsinteger—
nonceinteger—
pow_blob_hashinteger[]—
adjusted_bitsinteger—
pow_blobproof_Proof—
difficultyinteger—
heightinteger—
rulesetinteger—

proof_ModelValidation

필드타입필수설명
model_namestring—
model_commitstring—
difficultyinteger—
cidstring—
extrastring—
txidinteger[]—
block_hashinteger[]—
block_heightinteger—

proof_BatchShare

필드타입필수설명
hash_idinteger[]—
requestinteger[]—

proof_BatchValidation

필드타입필수설명
sharesproof_BatchShare[]—
chunkinteger—
rank_rationumber—
bootstrapinteger—

proof_ValidationResponse

필드타입필수설명
hash_identifierinteger[]—
enum_responseproof_ResponseValue—

proof_BlockHeader

필드타입필수설명
req_idinteger—
versioninteger—
prev_block_hashinteger[]—
merkle_rootinteger[]—
timestampinteger—
bitsinteger—
heightinteger—
stepbindinteger—

proof_MiningResponse

필드타입필수설명
req_idinteger—
nonceinteger—
adjusted_bitsinteger—
pow_blob_hashinteger[]—
difficultyinteger—
pow_blobproof_Proof—
completion_idstring—