Try the Demo

Accepted payment. Rejected attack.

The rules stay on screen. Pick a payment. The verdict is the same one the published checks already returned. This page does not send a transaction.

Run the integrated demos

The original page below replays published decisions. Open the actual compiler, signed-quote demo, judge tests and attack lab →

The owner's .x3 rules

  • Owner x3-owner.near. Agent x3-agent.near.
  • Spend Solana.USDC. At most 50 USDC a payment, 200 USDC in 24 hours.
  • Only recipient x3-demo.near. Only destination asset Near.USDC.
  • A failed swap refunds only to the owner's pinned Solana address.
  • Slippage at most 1%. Fees at most 100 bps.
  • Anything above 30 USDC needs the owner. Mandate expires in 30 days.

near_mandate_agent.x3

mandate x3_shopping_agent {
    owner x3-owner.near
    agent x3-agent.near
    spend Solana.USDC
    per_payment 50000000
    per_24h 200000000
    allow recipients x3-demo.near
    allow assets Near.USDC
    refund_to 4Nd1mzi8Y1QYxJt9wZWBYZpG7S4pYkZs6YzD3Vt9aBcD
    require slippage <= 1%
    require fees <= 100 bps
    approve above 30000000 by 1 of x3-owner.near
    expires 30d
}

Source file: near_mandate_agent.x3

Run one payment

Neither button calls Guard. They replay the published local decision and point at the testnet receipts. To run the checker yourself on edited programs, open the playground.