作者将市场推理代理与交易密钥彻底隔离,让模型只能表达交易意图,所有写操作必须经过不可绕过的安全门。私钥保留在Android设备上,并通过限制代理循环轮数降低失控和资源滥用风险。
加密货币交易存在一个结构性难题:自动化与资产托管往往只能二选一——至少过去一直如此。交易机器人需要你的私钥,而自托管钱包虽然让你掌握私钥,却不具备交易智能。本文将介绍我如何构建一款 Android 钱包:既能将私钥始终保留在设备端,又能在本地运行自主 AI 交易 Agent,以及保障这一方案安全运行的架构设计。
关键思路是将两个经常混为一谈的问题拆开:一个是负责分析市场并作出推理的 Agent,另一个是用于授权交易的私钥。
私钥在设备上生成并存储。它们绝不会被序列化到 Agent 可以读取的磁盘位置,也不会被传输,更不会交给 LLM。
AI 只负责表达意图。提供给它的是工具,而不是资产托管权。
所有写操作——包括 swap、approval 和 transfer——都必须经过强制性的安全闸门,Agent 无法绕过。
Agent 以循环方式运行:构建上下文 → 调用 LLM → 检查模型是否请求使用工具 → 执行工具 → 将结果反馈给模型 → 重复上述过程,直到得到最终响应。循环最多执行 8 轮,以防止工具调用链失控。
运行时同时支持 OpenAI function-calling 和 Anthropic Claude tool-use 协议,两者的区别主要在于 system prompt 的放置方式。对于临时性网络故障(timeout、DNS、5xx、429),系统会采用退避策略重试;对于身份验证失败(401/403),则不会重试。
Agent 只被授予以下十二种工具:
只读工具(不消耗 gas、不改变状态):获取钱包地址、原生代币余额、Token 余额、Token 价格、持仓、市场指标(RSI/MACD/MA/Bollinger)、安全状态,以及执行任意只读 contract call。
写入工具(消耗 gas、改变状态、必须通过安全闸门检查):swap Token、approve Token、发送原生代币,以及执行任意会改变状态的 contract call。
每个写入工具都必须提供一个 operation_desc 字符串来说明操作意图,该信息会被记录到审计日志中。
TradeAuthManager——只有账户达到准入门槛后,才能启用 AI 交易。例如,账户需要持有价值不低于 200 的主流资产,或至少持有 20,000 枚 R-MAB Token。
SafetyGate——每次写入操作都必须通过五项强制检查:
熔断机制——连续亏损 3 次后暂停交易 30 分钟;每日错误率超过 50% 后暂停交易 60 分钟。
每日限额——当天累计交易额超过配置上限后,拒绝继续执行。
单笔限额——拒绝执行超过单笔上限的交易。
白名单——默认情况下,所有 Token 都处于黑名单中;操作未加入白名单的 Token 时,会触发确认对话框。
审计——每个获批操作都会被加上时间戳并记录下来。
RiskManager——负责控制执行参数:每种 Token 的持仓比例最高为 10%,默认 stop-loss 为 -5%、take-profit 为 +15%,slippage 为 3%,每天最多执行 20 笔交易。
跨链交易采用保守的默认配置:单笔限额、每日上限。针对特定 chain+asset+address 组合完成一次性授权后,只要满足安全条件,后续同一链上的信号便可静默执行。
不同链必须使用各自对应的 DEX router。在 AVAX/MATIC/FTM 上复用 Ethereum 的 Uniswap V2 地址会导致 swap 失败。每条 EVM 链都需要配置正确的 router 地址和 wrapped-native Token 地址。
UI 应使用独立的 executor。此前,资产加载共用一个单线程 executor,导致计算全部钱包总资产时,UI 被阻塞了 2.5 分钟。现在,当前钱包的数据显示由一个 executor 处理,后台总资产计算则由另一个 executor 处理。
白名单验证必须使用在 UI 线程中捕获的 origin。从后台线程调用 WebView.getUrl() 会返回 null,进而导致 DApp 白名单检查失效。
Android(Kotlin/Java),支持 10 条链(BNB、ETH、MATIC、AVAX、FTM、ARB、OP、BASE、SOL、TRX)。
本地指标:RSI、MACD、moving averages、Bollinger Bands。
支持 4 种语言:English、中文、日本語、Deutsch。
AI 仅提供分析,不构成任何财务建议。加密货币交易具有极高风险——绝不要投入你无法承受损失的资金。
该项目采用 source-available 的 BSL-1.1 许可证,并非符合 OSI 定义的开源项目。你可以审计代码并将其用于个人用途;商业使用则需要获得团队授权。
GitHub:https://github.com/openxcn/AI-Crypto-Wallet
白皮书:https://red-tough-caribou-72.mypinata.cloud/ipfs/bafkreiaczdqmz3tbfza5zu2k3nzbjk7j6p7tug32fw77kidtq2zfn2dqom
本文不构成财务建议。请自行研究并作出判断。
对于后续操作,你可以考虑屏蔽此人和/或举报滥用行为。