agentwallets.si
← Back to Blog

EDITORIAL ARTICLE

What Is a Session Key for an Agent Wallet?

Article concepts · illustration
01Account control02Session key03Revoke access

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.

flowchart TD A[Account controller sets rules] --> B[Give agent restricted signing capability] B --> C[Agent proposes an operation] C --> D{Is it permitted?} D -->|Yes| E[Sign or execute transaction] D -->|No| F[Reject]

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.