
Arbitrum Transaction Preflight
io.github.naur9nPublished by GitHub account naur9nv4.0.0Updated Oct 24, 2026
Paid Arbitrum transaction simulation and risk scoring for wallets and AI agents.
The publisher's own server: Preflight
Overview
A local MCP server that runs paid Arbitrum transaction preflight checks, simulating a transaction and returning gas estimates and a risk score before it is sent
- What you can do
- Simulate a proposed Arbitrum transaction and report success or revert details, gas estimate, gas price and estimated ETH cost. Inspect the target address as an EOA or contract. Detect ERC-20 approve and NFT setApprovalForAll approvals. Return a weighted risk score, warnings, block number and check timestamp. Each check is paid per report through the hosted API using the configured payer key.
- When to use it
- Useful when an assistant or agent is about to sign or send an Arbitrum One transaction and you want a simulation, gas estimate and approval/risk check first. Suited to wallets, bots and agent workflows that can pay a small per-report fee.
- Requirements
- Runs locally via npx with Node.js 22 or later. Needs a dedicated low-value payer wallet key in CLIENT_PRIVATE_KEY, the hosted API base URL in SERVER_URL, and CHAIN_ID set to 42161. The payer needs native USDC on Arbitrum One; no ETH is needed for the payment itself. Network access to the hosted API.
Installation
In SourceWeft
- Open Arbitrum Transaction Preflight in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
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 USDCper report (100000raw 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 summaryGET /health— health checkGET /openapi.json— MPP-aware OpenAPI 3.1 discovery documentGET /llms.txt— concise instructions for AI agentsGET /.well-known/agent.json— agent/service metadata
MPP clients call:
When x402 is enabled, x402 clients call:
Request and report
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
approveand NFTsetApprovalForAlldetection; - 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.
Minimum production configuration:
Never commit .env or expose SERVER_PRIVATE_KEY.
MPP client
The included client performs the complete 402 -> authorization -> retry -> receipt flow:
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.
After the npm package is published, MCP hosts can run:
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:
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
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:
- deploy this version to Railway;
- publish
arbitrum-mpp-transaction-preflightto npm; - publish
server.jsonwithmcp-publisher; - enable CDP x402 to become eligible for Bazaar indexing;
- submit the live MPP endpoint to the MPP services catalog.
Official Arbitrum MPP guide: https://docs.arbitrum.io/build-decentralized-apps/machine-payments-protocol
Source: README.md at commit e3440ba
Tools
0Version history
1- v4.0.0LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.
Other Preflight integrations
Preflight
social.preflightOfficial publisher
Hosted social media scheduling server that lets an assistant draft, rule-check, schedule and publish posts to 12 networks.

SQLite rebuild copy-map preflight
Published by GitHub account showflexinc
Remote preflight service that checks the structure of SQLite table-rebuild copy maps before a rebuild is run.

Rust MCP Preflight
Published by GitHub account Wolfe-Jam
Checks an MCP Registry listing before publishing: the README mcp-name line, server.json publish rules and the server name.

Multipart row preflight
Published by GitHub account showflexinc
CSV row-structure inspection (inspect_parts) and manifest comparison (compare_manifest).

Tool-dialogue preflight
Published by GitHub account showflexinc
Tool-dialogue preflight's hosted MCP server; credential required; Streamable HTTP.