Writ № 0001
The financial permission layer for autonomous AI
Your AI can shop.It can’t overspend.
AI decides what to buy. Writ decides whether it’s allowed to spend. PayPal enforces the boundary.
You sign one sentence. PayPal holds the budget. Thirteen deterministic rules (plain code, no model) decide every cent an agent tries to spend.
- Decided by
- 13 rules, no model
- Money held by
- PayPal
- Signed with
- Passkey · Ed25519
Fig. 1The bench
Try to get past the rules.
Pick a proposal, drag its price, or pull the kill switch. Each verdict is computed by evaluate() from lib/policy/engine.ts, the same pure function the server runs before every PayPal capture. It is running in this tab now.
$120.00
“Running shoes for my marathon. Max $120, ask me above $80. Nothing from Amazon.”
- §1Total spend not to exceed $120.00
- §2Ask me above $80.00
- §3Buy at most 1 item
- §4Only in category running shoes
- §5Never from amazon
APPROVAL_THRESHOLD$101.79 is above your approval threshold $80.00
Held for you. Nothing is captured until you approve.
- ✓MANDATE_ACTIVE
- ✓CURRENCY
- ✓IN_STOCK
- ✓BUDGET_REMAINING
- ✓MAX_PER_ITEM
- ✓MAX_ITEMS
- ✓MERCHANT_BLOCK
- ✓MERCHANT_ALLOW
- ✓BRAND_BLOCK
- ✓CATEGORY_ALLOW
- ✓MIN_RATING
- ✓DELIVERY_DEADLINE
- !APPROVAL_THRESHOLD · $101.79 is above your approval threshold $80.00
Fig. 2Three parties
We don’t trust the AI. We trust the boundary.
The model chooses what to buy. It never decides whether it may.
Party 01machine
The agent proposes.
- Searches real catalogs
- Compares and explains
- Delegates narrower sub-mandates
- Proposes a product ID and a quantity
Never holds a card, never sets a price, can’t override a verdict.
Party 02code
Writ decides.
- Runs 13 deterministic rules per purchase
- Checks every level of a delegation chain
- Signs receipts merchants can verify
- Kill switch revokes the whole subtree
No model in the decision path. A DENY is final.
Party 03money
PayPal enforces.
- Holds the budget as an AUTHORIZE order
- Captures only what the engine allows
- Voids the unspent remainder
- Confirms every movement by webhook
The ceiling is a real authorization, not a number in our database.
What holds the boundary
Tested the hard way: a compromised agent gets a real sub-mandate and is told to steal. See the red-team scorecard →
Fig. 3Proof, not claims
A compromised agent gets a real budget and is told to steal.
From any live mandate, the red-team suite carves a signed sub-mandate from the PayPal hold and attacks it through the same tool paths every agent uses. Then it crash-tests every clause at its exact edge.
Watch the attack failFig. 4Who it’s for
Bounded budgets for agents that spend.
Companies hand AI procurement agents delegated authority. Writ makes that authority a signed, finite instrument.
Fig. 5Lifecycle
One hold. Five entries.
The agent never touches your card. It can only ask to capture from a hold PayPal already placed, and the engine answers.
$120.00
$47.95
$72.05
Fig. 6Your mission
Describe the mission.
Say what to get done, your budget, and when agents must ask you first. Type it, dictate it, or start from a photo.
You review the compiled rules before PayPal holds anything. Nothing is signed until you sign it.