Arbitrum Transaction Preflight

io.github.naur9n由 GitHub 账号 naur9n 发布v4.0.0更新于 Oct 24, 2026

Paid Arbitrum transaction simulation and risk scoring for wallets and AI agents.

发布方自己的服务:Preflight

已验证STDIO仅桌面金融安全与监控

概览

AI 生成的概览

本地 MCP 服务器,提供付费的 Arbitrum 交易预检:在交易发出前进行模拟,返回 Gas 估算与风险评分。

可以做什么
模拟待发送的 Arbitrum 交易,报告模拟成功或回滚详情、Gas 估算、Gas 价格与预估 ETH 成本。检查目标地址是 EOA 还是合约。检测 ERC-20 approve 与 NFT setApprovalForAll 授权。返回加权风险评分、警告、区块号与检查时间戳。每次检查通过托管 API 按报告付费,使用配置的付款密钥。
适用场景
当助手或代理即将签署或发送 Arbitrum One 交易,希望先做模拟、Gas 估算和授权/风险检查时适用。适合能够支付小额按次费用的钱包、机器人和代理工作流。
运行要求
通过 npx 在本地运行,需要 Node.js 22 或更高版本。需要在 CLIENT_PRIVATE_KEY 中提供专用的低价值付款钱包密钥,在 SERVER_URL 中提供托管 API 地址,并将 CHAIN_ID 设为 42161。付款方需在 Arbitrum One 上持有原生 USDC;支付本身不需要 ETH。需要能访问托管 API 的网络。
安装前请注意
每次工具调用都会花费真实资金:每份报告 0.10 USDC,从 CLIENT_PRIVATE_KEY 对应的钱包扣除。请使用专用的低价值付款密钥,切勿使用有价值的钱包密钥;服务方称从不索取交易签名钱包。交易详情会发送给第三方托管 API。结果基于启发式判断,不保证安全。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Arbitrum Transaction Preflight,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Arbitrum Transaction Preflight

Paid transaction simulation and risk reports for wallets, bots, and AI agents. Before a transaction is signed, the API checks whether it simulates successfully, estimates gas, detects token/NFT approvals, inspects the target, and returns a machine-readable risk score.

Production API: https://arbitrum-mpp-transaction-preflight-production.up.railway.app

Product and pricing

  • Network: Arbitrum One (42161)
  • Asset: native USDC (0xaf88d065e77c8cC2239327C5EDb3A432268e5831)
  • Launch price: 0.10 USDC per report (100000 raw USDC units)
  • Primary payment channel: MPP with EIP-3009
  • Optional distribution channel: x402 with Coinbase CDP/Bazaar
  • Agent interface: MCP stdio server that pays the MPP endpoint with the caller's wallet

The service never asks for a transaction-signing wallet. The example MPP/MCP clients use a separate low-value payer key only to authorize the API payment.

Discovery endpoints

The hosted service exposes free discovery metadata:

  • GET / — product, network, price, and endpoint summary
  • GET /health — health check
  • GET /openapi.json — MPP-aware OpenAPI 3.1 discovery document
  • GET /llms.txt — concise instructions for AI agents
  • GET /.well-known/agent.json — agent/service metadata

MPP clients call:

text
POST /v1/preflight

When x402 is enabled, x402 clients call:

text
POST /x402/v1/preflight

Request and report

json
{  "from": "0x0000000000000000000000000000000000000001",  "to": "0x0000000000000000000000000000000000000002",  "data": "0x",  "valueEth": "0"}

from and to are required. data defaults to 0x. Use either valueEth or valueWei for native value. A successful paid response contains:

  • call simulation success/revert details;
  • gas estimate, gas price, and estimated ETH cost;
  • EOA/contract target inspection;
  • ERC-20 approve and NFT setApprovalForAll detection;
  • weighted risk score and warnings;
  • block number and check timestamp.

Automated simulation and heuristics reduce risk but are not a guarantee of safety.

Run locally

Requirements: Node.js 22+ and a dedicated server wallet. On mainnet, the server wallet needs a small Arbitrum One ETH balance for MPP settlement gas.

bash
npm installcp .env.example .envnpm run server

Minimum production configuration:

dotenv
SERVER_PRIVATE_KEY=0x...CHAIN_ID=42161ARBITRUM_RPC=https://arb1.arbitrum.io/rpcPRICE_RAW_USDC=100000ENABLE_FREE_DEMO=falseSERVER_URL=https://arbitrum-mpp-transaction-preflight-production.up.railway.app

Never commit .env or expose SERVER_PRIVATE_KEY.

MPP client

The included client performs the complete 402 -> authorization -> retry -> receipt flow:

dotenv
CLIENT_PRIVATE_KEY=0x...TARGET_ADDRESS=0x...SERVER_URL=https://arbitrum-mpp-transaction-preflight-production.up.railway.appCHAIN_ID=42161
bash
npm run client

The payer needs native USDC on Arbitrum One. It does not need ETH for the MPP payment; the merchant settles the signed EIP-3009 authorization.

MCP integration

The MCP server exposes check_arbitrum_transaction. It uses the caller's dedicated CLIENT_PRIVATE_KEY to pay the hosted MPP API, so each tool call produces API revenue instead of bypassing payment.

bash
npm run mcp

After the npm package is published, MCP hosts can run:

json
{  "mcpServers": {    "arbitrum-preflight": {      "command": "npx",      "args": ["-y", "arbitrum-mpp-transaction-preflight"],      "env": {        "CLIENT_PRIVATE_KEY": "0x...",        "SERVER_URL": "https://arbitrum-mpp-transaction-preflight-production.up.railway.app",        "CHAIN_ID": "42161"      }    }  }}

Use a dedicated low-value payer wallet. Never reuse a valuable wallet key.

Enable x402 and Bazaar

Production x402 settlement on Arbitrum uses Coinbase's CDP facilitator. Create a CDP project and add these Railway variables:

dotenv
ENABLE_X402=trueCDP_API_KEY_ID=...CDP_API_KEY_SECRET=...

The server then exposes POST /x402/v1/preflight with Bazaar discovery metadata. MPP remains available at POST /v1/preflight; the two payment channels share the same analysis engine and merchant address.

Development checks

bash
npm run typechecknpm run buildnpm pack --dry-run

Set ENABLE_FREE_DEMO=true only for local development to expose POST /demo/preflight without payment. Never enable it in production.

Publishing surfaces

The repository includes server.json and npm metadata for the official MCP Registry. Release order:

  1. deploy this version to Railway;
  2. publish arbitrum-mpp-transaction-preflight to npm;
  3. publish server.json with mcp-publisher;
  4. enable CDP x402 to become eligible for Bazaar indexing;
  5. submit the live MPP endpoint to the MPP services catalog.

Official Arbitrum MPP guide: https://docs.arbitrum.io/build-decentralized-apps/machine-payments-protocol

来源:README.md,提交 e3440ba

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v4.0.0最新Sep 16, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。

其他 Preflight 集成