The agent never holds a key with unlimited authority. It operates a smart account whose
validation logic the owner controls, and receives session keys scoped by capability: an asset set, a venue
set, a notional ceiling and an expiry. Scope is checked in validateUserOp,
before any call executes, so an out-of-scope action reverts rather than being caught after the fact.
Catches
- Any call to a venue outside the key’s capability set.
- Any transfer of an asset the key was not issued for.
- Use of a key past its expiry, without needing a revocation transaction.
- Attempts by the agent to issue itself a wider key.
Does not catch
- Anything the key was legitimately allowed to do — a stolen key is a bounded loss, not zero.
- Actions taken by the owner key itself. It is the root of trust.
- Bundler censorship or ordering games; that is layer 04’s and the solver’s problem.