Policy-bound agent sessions
Create short-lived, scoped, signed, and revocable authorization.
A policy is an EIP-712 envelope that a compatible executor can enforce before privileged operations. Wallet-native execution permissions add session keys, exact targets and selectors, call limits, and cumulative value. The durable authorizer resolves ENS live and commits usage atomically.
Before you run this workflow
Networks
- Ethereum mainnet EIP-712 domain
- Wallet-selected execution chain where supported
Prerequisites
- Issuer wallet
- ENS grantee resolving to the intended agent wallet
- Compatible fail-closed executor
Wallet permissions
- EIP-712 policy signature
- Optional ERC-7715 permission request and ERC-7710 delegated execution
Expected result
- Published policy
- Live verification decision
- Append-only idempotent usage receipt
Errors and recovery
- Publish signed revocation
- Expire short sessions
- Deny execution when identity, policy, usage, or simulation evidence is unknown
How to use it
- 1
Define the smallest scope
Name only the tools, ENS suffixes, value ceiling, and duration the agent needs.
- 2
Prepare and read the envelope
Confirm issuer, grantee, resolved address, chain, policy ID, and human-readable limits.
- 3
Sign and publish
Sign the EIP-712 data, then publish the signed envelope so compatible executors can verify it.
- 4
Simulate the exact use
Collect fresh identity and endpoint evidence and simulate the intended target, selector, and value.
- 5
Authorize every execution
Call authorize_agent_execution with one stable idempotency key. Proceed only when execution.mayProceed is true.
- 6
Retain the receipt
Store the request hash and append-only usage receipt with execution evidence. Retrying the same key does not consume the limit twice.
- 7
Revoke when needed
Prepare and sign the revocation, publish it, and confirm that subsequent verification fails closed.