EDITORIAL ARTICLE
What Is a Session Key for an Agent Wallet?
You want an agent to call a service daily and pay a small fee without giving it full control of your wallet. Some smart accounts support a restricted signing key, commonly called a session key.
This is conceptual. Not every wallet has session keys, and no wallet’s permissions or revocation have been tested here.
What can rules limit?
| Dimension | Example | Verify |
|---|---|---|
| Target | Only specified addresses or contracts | Address checks, contract upgrades and proxy contracts |
| Action | Only specified functions | Parameters, token approvals and other signatures |
| Time | Expires after a day | Default expiry, time zone and revocation timing |
| Usage | Daily amount or count | Aggregation, concurrency and fee inclusion |
| Asset | Only a specified asset | Whether native assets, tokens and exchanges have separate restrictions |
These are possible dimensions, not universal support. ZeroDev’s session key documentation shows permissions involving targets, time, parameters and revocation; implementation varies by version.
Relationship to the primary key
A session key is still a credential that needs protection. When the account correctly configures and enforces limits, its authority should be narrower than the account controller’s. Primary authority generally manages adding, changing and revoking permissions, but the actual arrangement depends on wallet, contract and deployment.
Rules do not guarantee safety. A permitted merchant can be problematic; an agent can buy the wrong item within its limit; a stolen key can be used within remaining permissions. Network fees, permission upgrades and submitted transactions also need separate checks.
Before configuration, ask who creates and revokes keys, where checks execute, whether expiry is automatic, how concurrent use is counted and whether emergency disablement is available. See wallet key control.