关于 zerodust
zerodust 是用于 EVM 链的钱包原生 Gas 余额归零的服务,面向需要转移剩余 Gas 的钱包用户和开发者。它通过赞助交易、MetaMask 权限路由或直接交易执行转出;AI Agent 软件包及托管 MCP 端点目前已暂停。
主要功能
- 01将钱包原生 Gas 余额转至恰好为零
- 02支持赞助、MetaMask 权限和直接交易路径
- 03将原生 Gas 跨链发送至目的地址
- 04签名意图限定费用上限与目的地址
- 05提供 TypeScript SDK 和链上合约
适用场景
- 01清空钱包剩余的原生 Gas 余额
- 02把原生 Gas 转到另一条 EVM 链
- 03通过 API 或 SDK 集成 Gas 清扫流程
MCP 相关
项目包含本地 `@zerodust/mcp-server`,可通过公共 API 执行清扫,但该软件包目前已暂停并弃用;托管 MCP 端点已关闭。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://api.zerodust.xyz/mcpclaude mcp add --transport http andresdefi-zerodust https://api.zerodust.xyz/mcp{"mcpServers":{"andresdefi-zerodust":{"type":"http","url":"https://api.zerodust.xyz/mcp"}}}在 Cursor 中打开{"servers":{"andresdefi-zerodust":{"type":"http","url":"https://api.zerodust.xyz/mcp"}}}在 VS Code 中打开{"mcpServers":{"andresdefi-zerodust":{"type":"http","url":"https://api.zerodust.xyz/mcp"}}}{"mcpServers":{"andresdefi-zerodust":{"serverUrl":"https://api.zerodust.xyz/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
11此工具无需参数。
详细介绍
ZeroDust
将 EVM 链上钱包的原生 Gas 余额清空至恰好为 0。
普通转账无法发送全部原生余额,因为转账手续费需要用正在发送的代币支付。ZeroDust 会将余额全部发送至同一条链上的任意地址,或通过跨链桥发送至另一条链,并让钱包最终余额精确为 0 wei。服务上线于 zerodust.xyz,API 地址为
https://api.zerodust.xyz,开发者文档见 zerodust.xyz/docs。
本仓库包含合约、TypeScript SDK 和 Agent 软件包。
工作原理
- 支持赞助的链(EIP-7702):钱包签署一个
SweepIntent和两个 EIP-7702 授权(一个将权限委托给 ZeroDust 合约,另一个随后移除该授权)。ZeroDust 赞助方执行清扫并支付 Gas,之后从清扫的余额中获得补偿。合约以钱包身份运行,并会在余额最终不为 0 时回滚。 - 无需密钥的 MetaMask:MetaMask 的高级权限(ERC-7715)会为
ZeroDustPermissionRouter在每条链上授予一次性额度;一个 EIP-712 签名即可覆盖所有链。路由器兑换该额度,要求余额恰好为 0,并按与合约相同的方式结算。支持 16 条链。 - 直接链(不支持 EIP-7702):钱包自行发送传统交易,API 的规划器会将金额精确到 wei(支持 22 条链)。在有 L1 数据费的 OP Stack 链上,交易会经由
ZeroDustGuard;在 ZK Stack 链上,ZeroDust 付款方会支付 Gas。 - 接收内容:目标链的原生 Gas 代币,由 Relay、Across(ETH 到 ETH)、Stargate 或 Gas.zip 携带,以实际送达金额最高的方式为准。少数没有任何 Gas 跨链桥支持其原生币的链,会以代币形式送达(Mitosis、Endurance、Intuition、Telos、0G),报价中会明确说明。用户也可以请求将清扫的资金转入该链自己的 Ethereum 跨链桥(opBNB 则转入 BNB Chain),由接收方之后在该链上证明并领取;Gravity 的 G 和 Fraxtal 的 FRAX 会以 G 和 FXS 代币形式到达 Ethereum。
面向 AI Agent(已暂停)
Agent 软件包(@zerodust/mcp-server、@zerodust/ai-sdk、@zerodust/langchain)目前已暂停,并已在 npm 上弃用;托管的 MCP 端点和 Agent 密钥注册已关闭。本地 MCP 服务和 SDK 仍可使用你自己的密钥通过公共 API 进行清扫;此前签发的密钥仍受原有速率限制约束。如需清扫,请使用 zerodust.xyz。
| 软件包 | 用途 |
|---|---|
@zerodust/sdk | TypeScript 客户端和 Agent(createAgentFromPrivateKey);网站也在使用 |
@zerodust/mcp-server | MCP 服务,可在本地运行(已暂停) |
@zerodust/langchain | LangChain 工具(已暂停) |
@zerodust/ai-sdk | Vercel AI SDK 工具(已暂停) |
合约
| 合约 | 地址(所有链上相同,CREATE2) | 位置 |
|---|---|---|
ZeroDustSweep(contracts/src/ZeroDustSweepMainnet.sol) | 0x3732398281d0606aCB7EC1D490dFB0591BE4c4f2 | 以下 56 条支持赞助的链 |
ZeroDustPermissionRouter v2(contracts/src/ZeroDustPermissionRouter.sol) | 0x369A97dd256F7eb37fF7116C4EcBd50318eBb286 | 支持 MetaMask 高级权限的 16 条链 |
ZeroDustGuard(contracts/src/ZeroDustGuard.yul) | 0x2f95e6ED90a7dD67fc3Fae5c5628647E6A83e48e | Blast、Boba |
ZeroDustPaymaster(contracts-zk/) | 0x986e4Bb55AEEE6a8c80c28Ca787b13E216fD25B8 | zkSync Era、Abstract、Lens |
所有合约均不可变:没有管理员函数、无法升级、无法暂停(付款方的所有者只能更改其批准者并提取其备用资金)。清扫合约的赞助方地址固定在其字节码中。
支持的链
56 条赞助链,由实时 API(GET https://api.zerodust.xyz/chains)生成:
| 链 | ID | 代币 | 链 | ID | 代币 |
|---|---|---|---|---|---|
| Ethereum | 1 | ETH | Somnia | 5031 | SOMI |
| Optimism | 10 | ETH | Arc | 5042 | USDC |
| BNB Chain | 56 | BNB | Kaia | 8217 | KAIA |
| Gnosis | 100 | xDAI | Base | 8453 | ETH |
| Unichain | 130 | ETH | Plasma | 9745 | XPL |
| Polygon | 137 | POL | 0G | 16661 | 0G |
| Sonic | 146 | S | Apechain | 33139 | APE |
| Manta Pacific | 169 | ETH | Mode | 34443 | ETH |
| X Layer | 196 | OKB | Mythos | 42018 | ETH |
| Fraxtal | 252 | FRAX | Arbitrum | 42161 | ETH |
| Shape | 360 | ETH | Arbitrum Nova | 42170 | ETH |
| World Chain | 480 | ETH | Celo | 42220 | CELO |
| Endurance | 648 | ACE | Hemi | 43111 | ETH |
| Stable | 988 | gUSDT | Zircuit | 48900 | ETH |
| Lisk | 1135 | ETH | Ink | 57073 | ETH |
| Intuition | 1155 | TRUST | Linea | 59144 | ETH |
| Sei | 1329 | SEI | BOB | 60808 | ETH |
| DATA Network | 1514 | DATA | Berachain | 80094 | BERA |
| Pharos | 1672 | PROS | Codex | 81224 | ETH |
| Reya | 1729 | ETH | Doma | 97477 | ETH |
| Metal L2 | 1750 | ETH | Plume | 98866 | PLUME |
| Soneium | 1868 | ETH | Mitosis | 124816 | MITO |
| Ronin | 2020 | RON | Taiko | 167000 | ETH |
| Morph | 2818 | ETH | HPP | 190415 | ETH |
| RISE | 4153 | ETH | Scroll | 534352 | ETH |
| MegaETH | 4326 | ETH | Gensyn | 685689 | ETH |
| Robinhood Chain | 4663 | ETH | Katana | 747474 | ETH |
| Mantle | 5000 | MNT | Zora | 7777777 | ETH |
使用 node scripts/generate-chain-docs.mjs 重新生成或检查此表(CI 中会运行 --check);请勿手动编辑。22 条直连链列于 GET https://api.zerodust.xyz/direct/chains:Flare、Cronos、Rootstock、Telos、XDC、Fuse、Monad、opBNB、Lens、Boba、zkSync Era、Flow EVM、HyperEVM、Metis、Vana、Gravity、Abstract、Immutable zkEVM、Etherlink、Avalanche、Blast 和 Ethereal。目标链是桥接可将原生 Gas 发送到的任何 EVM 链(GET /destinations?fromChainId=),从 Base 出发有 100 多个目标。
费用
收取转出金额的 1%,最低 $0.05,最高 $0.50;余额低于 $1 时收取 5%,不设最低费用。另需支付转账的 Gas 费(以及 Rollup 上的 L1 数据费);跨链时还需支付桥接费用。签名的 maxTotalFeeWei 会限制可扣取的金额,因此 Gas 费飙升也不会超过你同意的金额。
安全性
- 不托管资金:每次转账都是由钱包本身发起的一笔原子交易。
- 签名意图会限制费用并指定目标;对于桥接路线,
routeHash(keccak256(callData))会将签名绑定到该确切调用。 - 每笔赞助交易在发送前都会经过模拟。
- 使用 ERC-7201 命名空间存储,因此合约的 nonce 不会与其他 EIP-7702 应用冲突。
- 内部安全审查共 7 轮,发现并修复了 16 个问题;合约测试会执行真实的 EIP-7702 委托,并经过变异验证。尚未经过外部审计,目前也没有审计资金。 详情:contracts/SECURITY.md, contracts/SECURITY_REPORT.md。
目录结构
contracts/ Foundry: ZeroDustSweepMainnet.sol, ZeroDustPermissionRouter.sol, ZeroDustGuard.yul,
tests, deploy scripts and broadcasts (README, SPECIFICATION, DEPLOYMENT, SECURITY)
contracts-zk/ ZeroDustPaymaster for ZK-stack chains (Hardhat + zksolc)
sdk/ @zerodust/sdk
packages/ @zerodust/mcp-server, @zerodust/ai-sdk, @zerodust/langchain
skills/ an agent skill for ZeroDust
scripts/ generate-chain-docs.mjs
许可证
MIT,详见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。