MOI Builders VIII - How to stop an AI Agent From Spending Your Money
Give an AI agent a wallet and you have a problem more code cannot fix.
The agent holds its own key. Any limit you write into a program is one it can skip.
Lock the asset up so only your program can move it, and you get closer. But the agent created that lockup, and it can release it. The rule and the power to delete the rule sit behind the same signature.
Access policies live somewhere the agent cannot reach: on your own account, checked by the protocol before any write lands.
We will run the same call three times, from the same key. Refused, then allowed, then refused again. Nothing about the agent changes in between. The only thing that moves is one record on somebody else's account.
What we will cover
Why state on MOI belongs to you rather than to the program, and why that is what makes account-level permissions possible
Writing a policy line by line, and what each field actually does
A write refused by the runtime, with the on-chain error to prove it
Granting and revoking, both landing immediately
How this compares with allowances on Ethereum and delegates on Solana