Arx Verify checks a validator fault artifact or a state proof and returns a verdict, with no node, no chain code and no network access.
Drop an evidence artifact or state-proof response. Verification runs entirely in your browser; your file is never uploaded or sent to a node.
Drop your file here
or select a .json file
Loading verifier…
Verdict
Your result will appear here.
Check the chain yourself. The artifact’s genesis_hash is displayed but never checked against a trusted registry. A VALID result alone does not establish which chain it concerns.
UNRESOLVED ≠ guilty. A signed disagreement proves a dispute occurred, not which party is at fault. State proofs check the Merkle path and execution-proof commitment, but do not verify the finality certificate’s BLS aggregate.
Fetch
Pull the signed JSON fault artifact from a node's evidence directory or RPC. arx-verify never talks to a node itself.
Check
Confirms the block or dissent signatures inside the artifact are real, and that they say what the artifact claims they say.
Report
VALID with the culpable key, UNRESOLVED naming the disputing parties, or a failure. Nothing more, nothing assumed.
Validators write a signed JSON artifact whenever they observe a fault. Arx Verify proves it is internally consistent: its signatures are real and say what it claims they say. It doesn’t prove the artifact is about a chain you should care about, and for a disagreement it doesn’t say who is at fault. That is a governance question, not something a signature check can answer.
A verdict on stdout and an exit code: 0 if it verifies, 1 for a bad path, malformed JSON or a failed check.
$ arx-verify equivocation.json
VALID
fault: equivocation
genesis_hash: 0xa1b2c3d4...ccddeeff
culpable_pubkey: 0xea4a6c63...1446d22c
$ arx-verify disagreement.json
UNRESOLVED
fault: execution_disagreement
parties: 0xea4a6c63..., 0x957467ef...
note: artifact proves proposer/validator execution disagreement, not who is at fault
$ echo $?
0Depends only on xc-artifact: no chain code, no storage, no network. Builds and runs on a machine that has never talked to an Arxium node.
Proves the signatures inside an artifact are real and self-consistent. It does not tell you the artifact is about a chain you should care about.
The artifact carries a genesis_hash but arx-verify doesn't check it against anything. Compare it to a registry you trust before treating a VALID verdict as meaningful.
An execution-disagreement artifact confirms a genuine dispute between two named parties. It doesn't say which one is at fault. That's a governance question, not a signature check.
Same signing and verification code as production, so the verdict you get locally matches what any other verifier would get on the same artifact.
Prints the verdict to stdout and exits 0 on a verified artifact, 1 on a bad path, malformed JSON, or a failed check, easy to wire into a pipeline.