ethereum-optimism / ethereum-optimism/actions

CLI: session-key flow (agent runs as delegated session key)

Open
#415 0 comments 0 reactions 0 assignees View on GitHub
agent
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.