Playground

Break the agent's payment. Watch it get refused.

This page runs the real X3 checker in your browser: parse, type-check, lower, then every Guard check in the contract's order. Edit either program. Nothing is signed or sent.

Pick a case or launch an attack

One-click attacks on the authorized payment

The twelve judge scenarios

The agent pays 25 USDC to a listed recipient, inside every limit.

The two programs

Verdict

Checking…

Verify a signed 1Click quote

Guard trusts a quote only after the 1Click signature checks out. This is the same Ed25519 check the contract runs, using the pinned 1Click key, on quotes that 1Click actually issued. Change one digit and it fails.

Checking…

Pinned key ed25519:reYaWhvwu8Jzo3WUM3zhn6VrhuMEF4eADL17qtRVifc. These are dry quotes captured on 2026-11-03. A valid signature proves what 1Click offered. It does not prove a swap happened.

What this proves, and what it does not

  • Shown here · Locally valid policy

    The mandate and the payment compile, and the shared checker decides them. Python and this page agree.

  • Not shown here · Approved request

    x3-guard records approvals on NEAR (approve_intent). No approval has been recorded for these scenarios.

  • Not shown here · On-chain authorization

    x3-guard's agent_register_intent and agent_accept_quote on a deployed contract. Not deployed for this console.

  • Not shown here · Wallet-controlled transfer

    x3-guard does not custody funds. A keyholder can still transfer directly; only a wallet that calls the Guard is bound by it.

  • Not shown here · Signed quote

    The X3 Guard page verifies real 1Click dry quotes in the browser. This console asks 1Click for nothing.

  • Not shown here · Observed transaction

    No deposit or delivery transaction exists for these scenarios.

  • Not shown here · Finalized settlement

    No settlement has been observed.

  • Not shown here · Proven cross-chain causality

    Not claimed. Separate source and destination transactions would not prove that one caused the other.

Checker source: x3guard.mjs at 470d61a, copied byte for byte. In x3lang a parity test runs it against the Python adapter on the same programs. This site's own test re-checks all twelve scenarios against Python's recorded answers. The testnet transactions are on Inspect the Proof.