ethereum-optimism / ethereum-optimism/actions
CLI: session-key flow (agent runs as delegated session key)
- Dominant language
- TypeScript
- Stars
- 32
- Forks
- 25
- Avg merge
- 10h 20m
- Merged PRs (30d)
- 16
Description
Replace the agent's raw EOA signer with a delegated session key — agent can act within predefined bounds without holding owner privileges on the smart wallet.
Parent: #407
Blocked by: ZeroDev \`SmartWallet\` implementation (#403), guardrails (#TBD onchain-guardrails).
## Why
Hackathon MVP puts the raw \`PRIVATE_KEY\` into the agent service env. That signer is a full co-owner of the smart wallet — any compromise drains the wallet. Session keys limit blast radius to the policies attached (spending cap, call-target, time-bounded).
## Scope (TBD during planning)
- \`actions wallet session-key create --policies <...>\` — mints a session key, returns the key material for the agent to consume.
- \`actions wallet session-key rotate\` — swap out the current key.
- \`actions wallet session-key revoke\` — onchain revocation.
- Agent reads session key from env instead of \`PRIVATE_KEY\`; owner key stays offline or in the user's custody.
Contributor guide
Research direction
Start with the planned `actions wallet session-key create`, `rotate`, and `revoke` commands, then trace how the agent currently consumes `PRIVATE_KEY` from its environment. Done means session-key policies, rotation, revocation, and agent environment usage are defined and implemented, but the work depends on the ZeroDev `SmartWallet` and guardrails implementations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- blockchain, cli, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100