Verify ruling
tribeunal_verify_rulingRecompute a ruling's cryptographic proofs from its public bundle to verify signatures, attestations, and log inclusion, rather than trusting the server's report.
Instructions
Recompute a Tribeunal ruling's proofs instead of trusting the server's word. It fetches the public bundle and checks, with the labels of the app's tools/ruling-verify.mjs: digest, reopen, signature[i] (EIP-712 Verdict signature), attestation[i] (EAS off-chain), signer and attester (against /.well-known/tribeunal-verdict-signer), inclusion and checkpoint (transparency log), anchor (on-chain root; only with rpcUrl) and dispute (the dispute block agrees with itself and the signed verdict). Each is ok, FAIL or n/a; ok is false when any check FAILs; a missing well-known, an unlogged ruling or an unreachable RPC is n/a, never FAIL. Pass exactly one of decisionUuid or bundleUrl (on this server's host). independent is always false: bundle, signer and log key all come from the server being checked, and witness cosignatures are counted, not verified; run the returned command on a machine you control for an independent check. Returns {ok, checks: [{name, result, detail}], independent, trustedSigner: {address, source, url}, witnesses, decisionUuid, caseUuid, command, honesty}. Refused: 404 ruling_not_found (unknown, or private and not yours to view). Proves: Cryptographic consistency against the published signer, the log and optionally the chain. Does NOT prove: Independence (independent:false); no witness cosigns the log yet. The dispute block proves: Round structure, each round's case and verdict, the standing ruling and its basis, deadlines as configured, the final flag. Does NOT prove: finalAt/confirmedAt are app-observed; basis:'app-window' finality is Tribeunal's promise, not economics; consent:'claimant_only' means the respondent never agreed to arbitrate; execution:null means nothing moved
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rpcUrl | No | Optional https JSON-RPC URL of the anchor chain (Base). Enables the anchor check; it receives one public eth_call and never your credentials. | |
| bundleUrl | No | A ruling bundle or page URL on this server's host (…/api/rulings/{uuid} or …/rulings/{uuid}; a ?share= token is kept). Omit when passing decisionUuid. | |
| decisionUuid | No | A ruling's decisionUuid (from tribeunal_await_ruling or tribeunal_await_verdict). Omit when passing bundleUrl. |