Checks

Facts the worker can check itself

POST /v1/judge takes an optional checks array. The worker runs each check and returns type, passed, detail, and evidence_hash. A failed check forces verdict to fail. If every check passes, the model still judges the rest of the output.

verification is verified when at least one check ran and every check passed, judged when only a model ran, and heuristic when only the string-check fallback ran. engine is groq, then workers_ai, then deterministic. The /try/ page sets engine to demo.

The model splits agent_output into claims and marks each one supported, contradicted, or unsupported against the evidence. The score is supported claims divided by all claims, reduced when a claim is contradicted. The response includes a claims array. A signed receipt stores only the counts, plus each check's type, whether it passed, and evidence_hash. It does not store the fetched page or the chain response.

url_contains

GET an https URL on port 443 and confirm text or pattern appears. The worker blocks private, loopback, and metadata addresses, follows at most a few public redirects, waits 5 seconds, and reads at most 1 MB. A call may include at most 3 URL checks.

{ "type": "url_contains", "url": "https://example.com/status", "text": "operational" }

json_schema

agent_output must parse as JSON and match a small schema: type, properties, required, enum, items, and length or number bounds. There is no extra library.

{ "type": "json_schema", "schema": { "type": "object", "required": ["crew"], "properties": { "crew": { "type": "integer" } } } }

equals, regex, and numeric

equals compares the trimmed output with a string, or evaluates a simple arithmetic expression when expected is a number. regex tests expected as a pattern. numeric compares that expression with expected and an optional tolerance. Expressions allow digits, parentheses, and + - * / only.

{ "type": "numeric", "expected": 4, "tolerance": 0 }

onchain

chain is base or solana. kind is tx_confirmed or token_balance_at_least. Reads use the public endpoints mainnet.base.org and api.mainnet-beta.solana.com, unless BASE_RPC_URL or SOLANA_RPC_URL is set to another https URL. The call waits 5 seconds.

{ "type": "onchain", "chain": "base", "kind": "tx_confirmed", "tx": "0xabc" }

Consensus still groups answers by overlap. Each cluster's role is clustering, which means grouping only. If the answers agree and the supplied evidence does not support the shared answer, unsupported_agreement is true and false_consensus_risk is raised.

Charts of your own calls are on the dashboard. The key stays in this browser's sessionStorage.