多链钱包与交易工具,为 AI 代理提供 27 项功能:钱包管理(创建、查余额、导出密钥),灵活额度代币兑换(100美元、50%、最大),跨链桥,DEX 市场数据(热门、成交量、涨跌榜),分层市值的代币发行,费用管理。支持 Solana 与 EVM 链。适用于代理需要操作钱包、执行交易、调研或发行代币的场景。
OpenClaw 钱包插件是一项面向实际任务的技能,主要用于多链钱包和交易工具箱, 用于 AI 代理, 共 27 个工具;您必须在使用任何工具前安装 npm 包;
该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
面向 AI 代理的多链钱包与交易工具包,共包含 27 个工具。
使用任何工具前,必须先安装 npm 包:
npm install @loomlay/openclaw-wallet-plugin
该命令将安装插件及其全部依赖项,无需额外安装其他包。
认证为自动完成。 首次使用时,插件将自动注册并获取 API 密钥,并将其保存至 ~/.loomlay/credentials.json。无需手动配置。
如需使用指定的 API 密钥(而非自动注册),请执行:
export LOOMLAY_API_KEY=agent_your_key_here
重要:安装插件后,必须先完成钱包设置,方可使用交易或钱包类工具。
在首次与用户交互(或技能首次加载)时,请运行以下初始化流程:
const { wallet_get, wallet_create } = require('@loomlay/openclaw-wallet-plugin');
// 1. 检查钱包是否已存在
const existing = await wallet_get();
if (!existing.success) {
// 2. 尚无钱包 — 创建一个
const created = await wallet_create();
if (created.success) {
// 3. 向用户展示新钱包信息
// 重要:助记词仅显示一次,请务必提示用户安全保存。
// "您的钱包已创建:"
// " Solana: "
// " EVM: "
// " 助记词: (请安全保存 — 此后不再显示)"
}
} else {
// 钱包已存在 — 显示地址及余额
// "您的钱包:"
// " Solana: "
// " SOL 余额: "
}
所有钱包或交易操作前,必须始终执行此检查。 若 wallet_get() 返回 UNAUTHORIZED 错误,可能需重新注册 API 密钥 — 删除 ~/.loomlay/credentials.json 后重试。
全部 27 个工具均以扁平化的异步函数形式从插件包中导出。在 Node.js 中可如下使用:
const { wallet_get, swap_quote, swap, dex_trending, token_search } = require('@loomlay/openclaw-wallet-plugin');
// 查询钱包余额
const wallet = await wallet_get();
// wallet.data.balances.solana.sol
// 获取热门代币
const trending = await dex_trending({ chain: 'solana', limit: 10 });
// trending.data.pairs[...]
每个工具均返回标准化响应格式:
{
success: true, // 或 false
data: { ... }, // 成功时返回结果数据
error: { // 失败时返回错误信息
message: "...",
code: "RATE_LIMITED",
retryAfter: 30 // 重试等待时间(秒,仅限限流场景)
}
}
使用 result.data 前,务必检查 result.success。
对于任何涉及资金的操作,请遵循以下四步流程:
const { swap_quote, swap } = require('@loomlay/openclaw-wallet-plugin');
// 第一步:获取报价
const quote = await swap_quote({ inputToken: 'SOL', outputToken: 'USDC', amount: '$100' });
// 提示用户:“您将用约 1.2 SOL 兑换约 $99.50 USDC”
// 第二步:用户确认 → 第三步:执行
const result = await swap({ inputToken: 'SOL', outputToken: 'USDC', amount: '$100' });
if (result.success) {
// 展示 txHash 及新余额
}
wallet_create() 仅返回一次助记词,请提示用户离线保存token_search() 查找准确地址交易类工具支持灵活的金额输入格式:
| 格式 | 示例 | 含义 |
|---|---|---|
| 小数 | "1.5" |
精确代币数量 |
| 美元值 | "$100" |
以美元计价(自动换算) |
| 百分比 | "50%" |
余额的一半 |
| 最大值 | "max" |
全部余额 |
const { wallet_create, wallet_get, wallet_export_keys } = require('@loomlay/openclaw-wallet-plugin');
// 创建新钱包(助记词仅返回一次)
await wallet_create()
// → { wallet: { solanaAddress, evmAddress }, seedPhrase, message }
// 获取钱包地址与余额
await wallet_get()
// → { wallet: { solanaAddress, evmAddress }, balances: { solana, evm } }
// 导出私钥(需提供助记词)
await wallet_export_keys({ seedPhrase: '12 word phrase here' })
// → { solanaPrivateKey, evmPrivateKey }
const { swap, swap_quote, transfer, bridge, bridge_quote } = require('@loomlay/openclaw-wallet-plugin');
// 代币兑换
await swap({ inputToken: 'SOL', outputToken: 'USDC', amount: '$100', chain: 'solana', slippage: 1 })
// → { success, txHash, inputAmount, outputAmount }
// 获取兑换报价(不执行交易)
await swap_quote({ inputToken: 'SOL', outputToken: 'USDC', amount: '$100' })
// → { inputAmount, outputAmount, minOutputAmount, priceImpact, route }
// 转账
await transfer({ token: 'SOL', amount: '1.5', to: 'recipient_address' })
// → { success, txHash, amount, token, to }
// 跨链桥接
await bridge({ inputToken: 'SOL', amount: '1', sourceChain: 'solana', destinationChain: 'base' })
// → { success, sourceTxHash, destinationTxHash, status }
// 桥接报价
await bridge_quote({ inputToken: 'SOL', amount: '1', sourceChain: 'solana', destinationChain: 'base' })
// → { inputAmount, outputAmount, fee, estimatedTime }
const { token_search, token_price, token_details, token_chart } = require('@loomlay/openclaw-wallet-plugin');
// 按名称或符号搜索代币
await token_search({ query: 'BONK' })
// → { tokens: [{ address, symbol, name, price, safetyScore }] }
// 获取代币价格
await token_price({ token: 'SOL', chain: 'solana' })
// → { token, price, chain }
// 获取代币详细信息
await token_details({ address: 'token_mint_address' })
// → { token, market, safety }
// 获取 OHLCV 行情图表数据
await token_chart({ address: 'token_mint_address' })
// → { data: [...] }
const { portfolio_get, portfolio_history } = require('@loomlay/openclaw-wallet-plugin');
// 获取跨所有链的汇总资产组合
await portfolio_get()
// → { positions: [...], totalUsdValue: number }
// 获取交易历史
await portfolio_history({ chain: 'solana', limit: 50 })
// → { transactions: [...] }
const { dex_trending, dex_volume, dex_gainers, dex_losers, dex_new, dex_pumpfun, dex_query } = require('@loomlay/openclaw-wallet-plugin');
// 热门交易对
await dex_trending({ chain: 'solana', minLiquidity: 10000, limit: 10 })
// → { pairs: [...], pagination }
// 成交量最高交易对
await dex_volume({ chain: 'solana', minLiquidity: 10000, limit: 10 })
// 24 小时涨幅榜
await dex_gainers({ chain: 'solana', minLiquidity: 10000, limit: 10 })
// 24 小时跌幅榜
await dex_losers({ chain: 'solana', minLiquidity: 10000, limit: 10 })
// 新建交易对(创建时间 < 24 小时)
await dex_new({ chain: 'solana', minLiquidity: 5000, limit: 10 })
// Pumpfun 热门榜(仅 Solana)
await dex_pumpfun({ maxAge: 6, maxProgress: 80, limit: 10 })
// 高级查询(支持自定义筛选条件)
await dex_query({
chain: 'solana',
timeframe: 'h24',
rankBy: 'volume',
order: 'desc',
minSafetyScore: 80,
limit: 10
})
const { tokenize_launch, tokenize_info } = require('@loomlay/openclaw-wallet-plugin');
// 发行代币(每个账户限一次)
await tokenize_launch({
name: 'My Token',
symbol: 'MYT',
tier: '100k', // 可选:10k、100k、1m、10m
imageUrl: 'https://...'
})
// → { success, launchId, tokenMint, poolAddress, dexscreenerUrl }
// 查询已发行代币信息
await tokenize_info()
// → { hasToken, launchId, tokenMint, poolAddress, dexscreenerUrl }
const { fees_status, fees_claim } = require('@loomlay/openclaw-wallet-plugin');
// 查询费用状态
await fees_status()
// → { totalFeesGeneratedSol, beneficiaryFeesUnclaimedSol, canClaim, feeForfeitsAt }
// 领取费用(平台承担 Gas 费)
await fees_claim()
// → { success, amountSol, txSignature }
const { rpc_call, rpc_chains } = require('@loomlay/openclaw-wallet-plugin');
// 直接 RPC 调用
await rpc_call({ chain: 'solana', method: 'getBalance', params: ['address'] })
// → { result, error }
// 列出支持的链
await rpc_chains()
// → { chains: [...] }
| 链 | 兑换 | 跨链桥 | RPC |
|---|---|---|---|
| Solana | 是 | 是 | 是 |
| Ethereum | 是 | 是 | 是 |
| Base | 是 | 是 | 是 |
| Arbitrum | 是 | 是 | 是 |
| Optimism | 是 | 是 | 是 |
| Polygon | 是 | 是 | 是 |
| BSC | 是 | 是 | 是 |
const result = await swap({ inputToken: 'SOL', outputToken: 'USDC', amount: '1' });
if (!result.success) {
switch (result.error?.code) {
case 'RATE_LIMITED':
// 等待 result.error.retryAfter 秒后重试
break;
case 'BAD_REQUEST':
// 参数无效
break;
case 'UNAUTHORIZED':
// API 密钥异常 — 请检查 LOOMLAY_API_KEY 或 ~/.loomlay/credentials.json
break;
case 'INSUFFICIENT_BALANCE':
// 余额不足
break;
default:
// 其他通用错误
break;
}
}
references/wallet-operations.md — 钱包创建、安全机制、密钥导出references/trading-guide.md — 兑换、转账、跨链桥接及金额格式说明references/market-analysis.md — DEX 数据、热门榜单、筛选逻辑references/token-launch.md — 代币发行工作流、等级划分、费用结构references/error-handling.md — 错误类型、恢复策略、重试机制references/amount-formats.md — 灵活金额格式详解references/chain-reference.md — 支持链列表及其行为说明workflows/first-time-setup.md — 安装 → 钱包创建 → 首笔交易全流程workflows/token-launch-playbook.md — 完整代币发行操作手册相关专题
热门下载
相关下载
精品课程
共1课时 | 140人学习
共0课时 | 0人学习
共1课时 | 192人学习
最新文章