360 Secure SkillHub
360 安全技能中心

Agent-Wallet

这是Agent钱包设置的主入口技能,核心功能是根据需求路由至对应工作流:无钱包时引导生成/导入(助记词或私钥方式,默认生成助记词钱包),已有钱包则支持余额查询、转账。适用于用户请求钱包创建、导入、恢复、查余额或转账的场景。输入为用户操作需求及可选的助记词/私钥,输出含操作类型、链信息、地址等的标准化响应,全程遵循密钥安全存储规则。

beardkoda
beardkoda
热度 40.25
最近更新 2026-05-18 11:41:27
分类:开发依赖:代码执行 / 第三方 API应用场景:API 集成 / 自动化脚本 / 代码生成

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add agent-wallets
Metadata
name
agent-wallet
description
Route wallet workflows for agents that need to generate or import wallets using either a seed phrase or private key. Use when the user asks for wallet creation, import, recovery, or key-based onboarding.

Agent Wallet Skills

Purpose

Use this skill as the main entrypoint for wallet setup workflows.

Runtime Requirements

  • Runtime: Node.js 18+ (or equivalent TS/JS runtime)
  • Required package: viem
  • Network access: RPC endpoint for the target chain
  • Secret storage: vault, key manager, or encrypted secret store

Required Secrets / Inputs

  • RPC_URL for chain reads/writes
  • SEED_PHRASE only when user explicitly chooses mnemonic import/signing
  • PRIVATE_KEY only when user explicitly chooses private key import/signing
  • Agent must ask for confirmation before reading env-based secrets

Wallet Type -> Skill Location Map

Routing Logic

  1. Check if the agent already has a wallet configured:
    • if wallet exists, use existing wallet flow
    • if wallet does not exist, run wallet generation flow (step 2)
  2. Wallet generation flow (no existing wallet):
    • ask preferred method: seed phrase or private key import
    • if user does not provide a method, default to generating a new seed phrase wallet
    • generate/import with viem account helpers in local-wallet/SKILL.md
    • derive address/public key and persist via the project's secure secret mechanism
  3. Identify the wallet input type from the user request:
    • mnemonic / seed phrase words
    • hex private key string
    • request to generate a new wallet
  4. Route by wallet type to the mapped location:
    • seed phrase -> local-wallet/SKILL.md
    • private key -> local-wallet/SKILL.md
    • check balance -> local-wallet/balance/SKILL.md
    • send transaction -> local-wallet/send/SKILL.md
  5. If input type is unclear, ask one focused question:
    • "Do you want to use a seed phrase or a private key?"

No Wallet Exists (Viem Flow)

When the agent has no wallet configured, create one with viem before continuing.

Preferred default (generate new private key wallet)

import { generatePrivateKey, privateKeyToAccount } from 'viem/accounts'

const privateKey = generatePrivateKey()
const account = privateKeyToAccount(privateKey)

// Persist privateKey via secure secret storage only (env vault, key manager, etc.)
// Use account.address as the agent wallet address.

Optional seed phrase path

  • If user explicitly asks for seed phrase-based setup, follow local-wallet/SKILL.md seed phrase flow.
  • Derive the account/address and store secret material in secure secret storage.

Required checks after generation

  • Wallet address exists and is valid format for the target chain.
  • Secret material is stored securely and never echoed in plaintext.
  • Agent metadata references the new wallet address for future operations.

Shared Safety Rules

  • Never print full seed phrases or private keys in outputs, logs, or summaries.
  • Mask secrets when showing examples (for example ab12...9f).
  • Prefer offline generation/import steps where possible.
  • Remind users to back up secrets in a secure location.
  • Default to read-only actions until user explicitly asks to send/broadcast.
  • If chain is not provided, default to a testnet and state that choice.
  • Never broadcast immediately after simulation without explicit confirmation.

Completion Requirements

Before finishing:

  • confirm wallet address/public key was derived successfully
  • confirm secret material was not exposed in plain text
  • if wallet was missing, confirm a new wallet was created and stored securely
  • provide next action (backup, test transaction, or network config)

Standard Response Contract

Return this structure across all wallet skills:

  • action: generate | import | balance | send
  • chain: chain id/name used
  • address: active wallet or queried address
  • txHash: transaction hash when available, else null
  • status: success | failed | needs_confirmation
  • next_step: one clear follow-up action