Skip to content

PRD-41: ElizaOS Plugin — Drop-in Threshold Signing for AI Agents #20

Description

@PancheI

ElizaOS plugin (@agentokratia/plugin-guardian) that replaces raw EVM_PRIVATE_KEY in .env with threshold signing credentials. Drop-in replacement — change 3 env vars and swap the plugin name in the character file.

Acceptance Criteria

  • @agentokratia/plugin-guardian package builds and exports valid ElizaOS plugin
  • 7 actions registered and functional: SEND_ETH, SEND_TOKEN, CALL_CONTRACT, SIGN_MESSAGE, SIGN_TYPED_DATA, CHECK_BALANCE, SWAP_TOKEN
  • GuardianWalletService manages ThresholdSigner lifecycle, calls destroy() on agent shutdown
  • guardianWalletProvider injects address + balance context into agent memory
  • guardianTransactionProvider injects recent audit log context
  • guardianPolicyEvaluator runs pre-flight policy simulation before signing
  • Core invariant holds — full private key never exists
  • Migration from plugin-evm requires only 3 env var changes + plugin swap
  • Compatible alongside plugin-solana, plugin-tee, plugin-safe
  • SEND_TOKEN auto-reads decimals + symbol on-chain
  • SIGN_TYPED_DATA handles EIP-712 domains (x402, Permit2)
  • Natural language triggers work (e.g. "send 0.1 ETH to 0x...")
  • pnpm build succeeds across all packages

Tasks

  • Scaffold packages/elizaos-plugin/ with package.json, peer dep on @elizaos/core ^1.0.0
  • Implement GuardianWalletService — ThresholdSigner lifecycle + cleanup
  • Implement guardianWalletProvider — address + balance context
  • Implement guardianTransactionProvider — recent audit log context
  • Implement guardianPolicyEvaluator — pre-flight policy simulation
  • Implement SEND_ETH action
  • Implement SEND_TOKEN action with auto decimal handling
  • Implement CALL_CONTRACT action
  • Implement SIGN_MESSAGE action (EIP-191)
  • Implement SIGN_TYPED_DATA action (EIP-712)
  • Implement CHECK_BALANCE action
  • Implement SWAP_TOKEN action (approval + swap)
  • Write unit tests for all actions
  • Write integration tests with mock ElizaOS runtime
  • Add migration guide in README
  • Submit to ElizaOS plugin registry

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P0Production blocker priorityphase-0Novel differentiatorsprdProduct requirement document

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions