Privy — a spend management tool for organizations
Remove Privy and agents cannot sign at all. It is one of two independent enforcement gates a payment must clear, not a convenience wrapped around a seed phrase.
Organization wallets, mapped onto directly
Privy’s own primitives already do most of what a naive rebuild would reinvent:
| MANDATE concept | Privy primitive |
|---|---|
| The company | Organization (id, name, default key quorum) |
| An agent's authority tier | A key quorum, attached with override_policy_ids |
| The mandate's caps and allowlist | A conditional policy on that quorum |
| Routine mandate sync | The Enforcer calling update policy rules directly |
| Issuing or raising a mandate | An intent — proposed, then signed asynchronously by humans |
| Agent transacting | A session signer on the scoped wallet |
The enforcement split — verified, not assumed
Privy’s stateful policies do support cumulative rolling spend caps, via aggregations. The constraints are real: a maximum of ten aggregations per app, no per-wallet group_by, and a 72-hour window ceiling. Privy’s own documentation states aggregation values update after a request is successfully signed, not before — concurrent requests can all pass before any of them records.
| Enforcement | Where it lives | Why |
|---|---|---|
| Per-tx cap, recipient allowlist, chain restriction | Privy | Stateless rules, unlimited in number, evaluated before signature. |
| Cumulative rolling budget | AgentTreasury on Arc | Privy caps at ~10 agents with rolling budgets, can't scope per wallet, can't exceed 72h, and races under concurrency. |
These are not symmetric gates or defense in depth — that phrasing implies redundancy that isn’t there. They are a fast stateless pre-filter and an authoritative stateful ledger, with two different jobs.
Intents govern the humans, policies govern the agents
A human raising an agent’s budget needs other humans to approve, asynchronously — that’s an intent. An agent spending within its already-approved budget needs nobody — that’s a policy. Revoking a mandate automatically dismisses any pending intent against it, without anyone cancelling it by hand.
Business workflows, all three present
- Wallet administration — issuing, amending, and revoking a mandate through the org’s key quorum.
- Treasury operation — drawing, spending, and repaying against the revolving credit facility.
- Payment — agent-to-agent and agent-to-vendor settlement in USDC on Arc.