Skip to content

feat: obol wallet import — inject existing key into remote-signer #331

@bussyjd

Description

@bussyjd

Problem

obol stack up always auto-generates a fresh wallet via GenerateWallet(). There's no way to inject an existing private key into the remote-signer. Users who already have funded wallets must manually transfer funds to the auto-generated address every time.

This came up during dual-stack testing: Bob's derived wallet (funded on Base Sepolia) is different from the remote-signer's auto-generated wallet. Every test run requires a manual USDC transfer.

Proposal

# Import an existing key into the remote-signer
obol wallet import --private-key-file /path/to/key

# Or during openclaw setup
obol openclaw setup --wallet-key-file /path/to/key

This would:

  1. Convert the raw private key to a Web3 V3 keystore
  2. Store it in the remote-signer keystores directory
  3. Update wallet.json with the imported address
  4. Restart the remote-signer to pick up the new key

Context

  • Current: GenerateWallet() in internal/openclaw/wallet.go
  • Remote-signer reads keystores from PVC at startup
  • The key format is Web3 V3 JSON keystore (encrypted with a random password stored in values-remote-signer.yaml)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions