{"openapi":"3.1.0","info":{"title":"XACTUM","version":"1.0.0","description":"Neutral verification oracle for AI agents: checks LLM prices against an independent reference and checks whether the model served is the one claimed. Verifies, does not route. No referral fees.","contact":{"email":"xactumoracle@proton.me"},"x-guidance":"POST JSON to a verify route. Every request must include \"acceptTerms\" (id and sha256 of https://api.xactum.com/terms/xactum-tos-2.0) and \"businessUse\": true. Pay the x402 quote (USDC on Base) and resend with the payment. Category: Data."},"servers":[{"url":"https://api.xactum.com"}],"paths":{"/v1/verify/price":{"post":{"operationId":"verifyPrice","summary":"Is a quoted or paid LLM price competitive against an independent reference?","description":"XACTUM verifies, does not route. No referral fees or provider benefits. Advisory only; business use only; payments final. Terms xactum-tos-2.0 sha256:63f07bf68c3350cdd57d7207b533d8d5865e108f6e41afd7a06ae6f97eb6cd3f at https://api.xactum.com/terms/xactum-tos-2.0. Paying = acceptance. No resale, caching or training on outputs.","tags":["verification"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{"network":"eip155:8453","asset":"USDC"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["acceptTerms","businessUse","query"],"additionalProperties":false,"properties":{"acceptTerms":{"type":"object","required":["id","sha256"],"properties":{"id":{"type":"string","const":"xactum-tos-2.0"},"sha256":{"type":"string","const":"63f07bf68c3350cdd57d7207b533d8d5865e108f6e41afd7a06ae6f97eb6cd3f"}}},"businessUse":{"type":"boolean","const":true},"vatId":{"type":"string"},"query":{"type":"object","required":["modelId"],"properties":{"modelId":{"type":"string"},"inputPerMTok":{"type":"number"},"outputPerMTok":{"type":"number"},"tier":{"type":"string"}}}},"example":{"acceptTerms":{"id":"xactum-tos-2.0","sha256":"63f07bf68c3350cdd57d7207b533d8d5865e108f6e41afd7a06ae6f97eb6cd3f"},"businessUse":true,"query":{"modelId":"anthropic/claude-sonnet-5.5","inputPerMTok":3,"outputPerMTok":15}}}}}},"responses":{"200":{"description":"Verdict (advisory) with the reference set and fingerprint used. charged=false when the answer was free (inconclusive or not enough reference: nothing is charged).","content":{"application/json":{"schema":{"type":"object","required":["result","charged","reference","terms","advisory"],"properties":{"result":{"type":"object","required":["verdict","confidence","reasons","methodVersion","snapshotId"],"properties":{"verdict":{"type":"string","enum":["COMPETITIVE","FLAG_HIGH","FLAG_LOW","FLAG_HIGH_STRONG","FLAG_LOW_STRONG","INCONCLUSIVE"]},"confidence":{"type":"string","enum":["low","medium","high"]},"reasons":{"type":"array","items":{"type":"string"}},"methodVersion":{"type":"string"},"snapshotId":{"type":"string"},"dimensions":{"type":"array","items":{"type":"object","properties":{"dimension":{"type":"string"},"quoted":{"type":"number"},"reference":{"type":"number"},"ratio":{"type":"number"},"verdict":{"type":"string"}}}},"referenceAsOf":{"type":["string","null"]}}},"charged":{"type":"boolean","description":"false: answered free, nothing was charged."},"chargeReason":{"type":"string","enum":["INCONCLUSIVE","CONFIDENCE_BELOW_MINIMUM","BASELINE_BELOW_MINIMUM","LAUNCH_FREE"]},"queryId":{"type":["string","null"],"description":"Use it to send feedback."},"reference":{"type":"object","properties":{"kind":{"type":"string"},"setId":{"type":"string"},"sha256":{"type":"string"}}},"terms":{"type":"object"},"advisory":{"type":"string"}}}}}},"402":{"description":"Payment Required (x402, USDC on Base). Includes the terms id, hash and URL."},"4XX":{"description":"Request refused before any payment is verified or settled. Nothing is charged."}}}},"/v1/verify/model":{"post":{"operationId":"verifyModel","summary":"Is the model actually served consistent with the model claimed?","description":"XACTUM verifies, does not route. No referral fees or provider benefits. Advisory only; business use only; payments final. Terms xactum-tos-2.0 sha256:63f07bf68c3350cdd57d7207b533d8d5865e108f6e41afd7a06ae6f97eb6cd3f at https://api.xactum.com/terms/xactum-tos-2.0. Paying = acceptance. No resale, caching or training on outputs.","tags":["verification"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{"network":"eip155:8453","asset":"USDC"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["acceptTerms","businessUse","sample"],"additionalProperties":false,"properties":{"acceptTerms":{"type":"object","required":["id","sha256"],"properties":{"id":{"type":"string","const":"xactum-tos-2.0"},"sha256":{"type":"string","const":"63f07bf68c3350cdd57d7207b533d8d5865e108f6e41afd7a06ae6f97eb6cd3f"}}},"businessUse":{"type":"boolean","const":true},"vatId":{"type":"string"},"sample":{"type":"object","required":["modelId","gateway","observedAt"]}},"example":{"acceptTerms":{"id":"xactum-tos-2.0","sha256":"63f07bf68c3350cdd57d7207b533d8d5865e108f6e41afd7a06ae6f97eb6cd3f"},"businessUse":true,"sample":{"modelId":"anthropic/claude-haiku-4.5","gateway":"blockrun-base","observedAt":"2026-11-09T10:00:00Z","modelFieldReturned":"anthropic/claude-haiku-4.5","latencyMs":820}}}}}},"responses":{"200":{"description":"Verdict (advisory) with the reference set and fingerprint used. charged=false when the answer was free (inconclusive or not enough reference: nothing is charged).","content":{"application/json":{"schema":{"type":"object","required":["result","charged","reference","terms","advisory"],"properties":{"result":{"type":"object","required":["verdict","confidence","reasons","methodVersion","baselineSetId"],"properties":{"verdict":{"type":"string","enum":["CONSISTENT","MISMATCH","INCONCLUSIVE"]},"confidence":{"type":"string","enum":["low","medium","high"]},"reasons":{"type":"array","items":{"type":"string"}},"methodVersion":{"type":"string"},"fingerprintVersion":{"type":"string"},"baselineSetId":{"type":"string"},"features":{"type":"array","items":{"type":"object","properties":{"feature":{"type":"string"},"outcome":{"type":"string"},"strong":{"type":"boolean"}}}}}},"charged":{"type":"boolean","description":"false: answered free, nothing was charged."},"chargeReason":{"type":"string","enum":["INCONCLUSIVE","CONFIDENCE_BELOW_MINIMUM","BASELINE_BELOW_MINIMUM","LAUNCH_FREE"]},"queryId":{"type":["string","null"],"description":"Use it to send feedback."},"reference":{"type":"object","properties":{"kind":{"type":"string"},"setId":{"type":"string"},"sha256":{"type":"string"}}},"terms":{"type":"object"},"advisory":{"type":"string"}}}}}},"402":{"description":"Payment Required (x402, USDC on Base). Includes the terms id, hash and URL."},"4XX":{"description":"Request refused before any payment is verified or settled. Nothing is charged."}}}},"/v1/feedback":{"post":{"operationId":"feedback","summary":"Rate an XACTUM answer (free). Structured fields only, no free text.","tags":["feedback"],"security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["queryId","useful"],"additionalProperties":false,"properties":{"queryId":{"type":"string","description":"The queryId returned with an answer (paid or free)."},"useful":{"type":"string","enum":["yes","partly","no"]},"outcome":{"type":"string","enum":["acted_on_verdict","used_as_input","ignored","verdict_seemed_wrong","verdict_unclear"]},"wallet":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Optional EVM address for a review credit."}},"example":{"queryId":"3f1c0f6e-2b1d-4c1e-9a55-0d6f1e2a7b10","useful":"yes","outcome":"acted_on_verdict"}}}}},"responses":{"201":{"description":"Recorded."},"404":{"description":"No query with this id (or older than the feedback window)."},"409":{"description":"Feedback for this query was already recorded."}}}}}}