Offline Verifier
Verify any AGA evidence bundle in your browser. Zero AGA imports. Standard cryptography only.
Checks Ed25519 signatures on every receipt, hash-chain continuity, Merkle inclusion proofs, and a gateway-signed checkpoint that anchors the root and the receipt count, all client-side. Pin a gateway key to also verify provenance.
This page opens on the Live Gateway tab, and the fetch runs only when you click it. A bundle you fetch yourself from a running gateway answers an objection that a fixture committed to a repository cannot. To watch one fail on purpose, the tamper bench mutates a real signed bundle one field at a time.
This in-browser checker reproduces the verification here as a demonstration. For the canonical, pinned verifier, use the VerifyBundle offline verifier (what it seals and proves).
Source: the MCP server, the aga-verify offline verifier, the receipt specification, and the conformance corpus are public at github.com/attestedintelligence/aga-mcp-server under the MIT license (the receipt-spec directory carries its own Apache-2.0 license).
Endpoint: https://aga-mcp-gateway.attested-intelligence.workers.dev/bundle
Pinned signing key: c21d3d2def305160e69dcba4f829c204580d935b7c6ea7ede63168fa63584d0c
The demo gateway is a separate deployment and a convenience mirror; its bundle grows as it records new receipts, so each fetch can verify different bytes. The verdict is computed here, from the fetched bytes, against the pinned key.
The verifier is published. Check us with it.
The same Ed25519-SHA256-JCS construction the gateway signs with is published as a standalone command-line verifier on npm. It is our own package, so the point is not that we vouch for it: run it yourself, or run the VerifyBundle offline verifier in your browser. The format is specified so you can re-implement it. The package ships with SLSA build provenance; verify the attestation on /provenance.
What you get depends on the key. Without a pinned key the verifier confirms integrity only: that the bundle is internally consistent under its own key. Pin the gateway key to also prove who issued it and to rule out whole-bundle re-signing.
The demo gateway key is a published fixture, and a live deployment uses a persisted key (the server’s default key is ephemeral).
Want to try breaking one yourself? Try the interactive bench, or watch a denied call that never reached the tool.