Give agents a budget, not your keys.
AI agents get tricked. Scrip keeps an agent's money in a NEAR contract with rules the agent cannot change: who it may pay, how much at a time, and how much in total. The agent can only ask. The contract decides.
Start here
- 01Try to stealYou get a real agent's key. Try to send its money somewhere the rules do not allow. Every click is a real transaction.No wallet needed
- 02Make your ownConnect a testnet wallet, give your own agent a budget and rules, then try to break it yourself.Testnet wallet
- 03Attack results30 payments fired at once at a 1 USDC budget, and 1,999 recorded attacks. None got through.1,999 cases
- 04Verify it yourselfDo not trust us: this page reads every transaction we cite back from the chain and compares it with our claim.Public RPC, no key
What the contract enforces
Budget, reserved first
Each payment reserves its amount before the transfer leaves, so parallel requests share one running total and can never overspend.
Recipient allowlist
Money can only go to accounts the owner listed. Anything else is refused before a token moves.
Cap per payment
No single payment can exceed the cap, whatever the agent was told.
Guardian above a threshold
Larger payments need a single-use approval from a guardian, bound to the exact recipient, amount and nonce.
Evidence as of 12 Nov 2026
- catalog cases pass
- 1,894/1,999
- results/attack-catalog.json, layers A to E
- failed / breached
- 0 / 0
- 105 cases were skipped, reported as skipped, not as passed
- mutants caught
- 99.4%
- contracts/scrip/MUTATION.md: 176 of 177 viable, 198 generated
- contract tests pass
- 138
- CI, contract job
- real model decisions
- 480
- results/llm/, 4 small models, 20 seeds each, as of 14 Nov 2026
Testnet only, with test tokens. The contract has not been audited by a third party. Every recorded transaction can be re-checked on the verify page.