Phoenix Zero — Execution Oracle for L2s

io.github.kant19801201behax5由 GitHub 账号 kant19801201behax5 发布v1.3.1更新于 Oct 30, 2026

Pre-transaction PASS/FAIL for an L2. Free verdict delayed ~60 s, no revert ratio; live via x402.

发布方自己的服务:Execution Market

已验证STDIO仅桌面云端与基础设施金融

概览

AI 生成的概览

本地 MCP 服务器,为助手提供 12 条 L2 链的交易前 PASS/FAIL 健康判定,含免费延迟版与 x402 付费调用。

可以做什么
  • 链安全检查:对 12 条受监控网络中的任意一条返回 safe、reason 与 chain,免费但每个 IP 每天限 100 次。
  • 预检健康判定:返回 PASS、DEGRADED 或 FAIL 并附内核级证据;健康检查免费,延迟与回滚比例等明细按次计费。
  • 覆盖 Base、Arbitrum、Optimism、zkSync、Scroll、Mantle、Linea、Blast、Mode、Taiko、Polygon zkEVM 与 Casper,每 2 秒采样一次。
  • 判定结果经过签名,并以内核、RPC 与链上三类证据记录为依据。
适用场景
适合在助手或代理即将在受支持的 L2 上签名或发送链上交易前,先确认网络是否停摆、拥堵或回滚异常偏高。也适合用一个工具同时观察多条 rollup 的健康状况。
运行要求
以 stdio 方式在本机运行,从 npm 包 phoenix-mcp-server 安装(需要 Node.js,可用 npx)。未声明任何环境变量或请求头。需要访问提供方的远程服务获取遥测数据;免费额度按 IP 限流,付费明细需通过 Base、Polygon 或 Arbitrum 上的 USDC 以 x402 支付。
安装前请注意
付费调用会真实花费 USDC,且激增定价可能把单次价格提高数倍。免费判定延迟约 60 秒且不含回滚比例,不能当作实时信号。请求会发往第三方服务,该服务会对调用方打标签并返回分类响应头。判定仅供参考,服务器本身不执行也不拦截交易。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Phoenix Zero — Execution Oracle for L2s,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

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

其他 MCP 客户端

参照 仓库 中的启动说明。

README

x402 Health Oracle

Execution oracle for AI agents: tells you — before you sign — whether your transaction or payment will land on time, or be delayed, stalled or reverted. 12 chains, measured every 2 s from the kernel up. Every answer is signed and backed by L1/L2/L3 evidence records. Pay per call via x402 (Base, Polygon, Arbitrum USDC).

[M8ven Score]

Live: https://rtt.phoenix-ai.work | npm: phoenix-mcp-server | MCP Registry: io.github.kant19801201behax5/phoenix-mcp-server

Try it yourself (guided, ~3 min, no wallet): https://rtt.phoenix-ai.work/?tour
On-chain registry on Arbitrum: 0xD394fFAE51d8fB52187Cf3aE3b014Ddc80Dc7B15 (Arbitrum Sepolia)
Signed live verdict (free, 60 s delayed): https://rtt.phoenix-ai.work/api/v1/demo/safe?chain=arbitrum

Problem

AI agents making autonomous on-chain transactions have no way to check network health before committing funds. 64% of DeFi protocols don't verify sequencer health. In June 2026 Base stopped producing blocks for 116 minutes (25 June) and again for 20 minutes the next day; L2Beat showed just under $11 billion of value secured on it (Cointelegraph).

Existing solutions (Chainlink L2 Sequencer Feed) give binary up/down with 30-second OCR updates. Agents need nanosecond-precision RTT, revert ratios, and stall detection — before signing a transaction.

What you actually buy: network delay is visible here before it hits you. If a sequencer is stalling or RPC latency is spiking, your swap, bridge or x402 payment will arrive late — or not at all. Phoenix measures that delay right now and answers act now / wait / route elsewhere.

Measured by Phoenix (independently confirmed from public-RPC block receipts):

  • Base, Oct 1 2026, 08:06–08:13 UTC — 7× the usual traffic; 26 % of transactions failed (up to 70 % in some blocks), ~$68 of fees burned on failed transactions in 7 minutes (calm hour: 6 %). An agent sending then had 4× the risk — and its RPC node said nothing.
  • Polygon zkEVM — no new block since Jul 3 2026, yet its RPC nodes answer in ~50 ms. A latency monitor calls it healthy; Phoenix reports chain_halted from the chain's own block timestamps.

Evidence base: three layers, recorded continuously

LayerWhat is measuredRecord types (signed BLAKE3 + Ed25519)
L1 — kernel / physicaleBPF kernel RTT to each chain's RPC, physical timing statsPHOENIX_KERNEL_RTT, SILICON_DNA_PHY_STATS
L2 — RPC / networkp95/p99 latency, stall flag, anomaly score per chain; ETH mempool signalPHOENIX_METRIC, PHOENIX_ETH_SIGNAL
L3 — chain / sequencerrevert ratio from block receipts (Arbitrum's ArbOS system tx excluded), where the failed txs went (top-contract share, distinct senders), head-block age (halted-chain detection), volume deltaPHOENIX_L2_HEALTH, PHOENIX_VOLUME_DELTA
Cross-layer12×12 Pearson R_xy between chains (correlated failures)SILICON_DNA_CORRELATION

The server writes ~1.2 GB/day of these records; a paid verdict is derived from them and signed (EIP-191, signer 0xdac8adC44f621bC3A56E9DC108d2F76Be3142294) so it can be verified offline.

Solution: One Core, Four Entrances

                    ┌── MCP Server (Claude/Cursor/Windsurf)                    │Agent ──────────────┼── Olas Mech (DeFi/arbitrage agents)                    │                    ├── Direct HTTP/x402 (any agent by URL)                    │                    └── RPC Gateway (transparent proxy)                           │                           ▼                    PHOENIX CORE                    ├── x402 paywall ($0.01/query)                    ├── 12-chain RTT probe (2s interval)                    ├── BLAKE3+Ed25519 integrity signing                    ├── Isolation Forest anomaly scoring                    ├── Surge pricing daemon (3-tier: $0.01/$0.03/$0.10)                    └── eBPF XDP enforcement (prog 6293, live)

Distribution Channels

ChannelStatusHow agents find us
MCP RegistryPublishedio.github.kant19801201behax5/phoenix-mcp-server — tools check_safety_free, preflight_network_health
MCP DiscoveryLive/.well-known/mcp.json — 2 MCP tools (the tools of the npm server) plus 4 paid HTTP endpoints under http_tools, for LLM agent auto-discovery
npm SDKPublishedphoenix-zero-preflight (also @phoenix-zero/preflight) — 3-line integration with createPhoenixTool() for AgentKit/LangChain
Olas MechCode ready (on-chain registration pending)Mech marketplace tool interface
Direct x402LiveAny agent calls rtt.phoenix-ai.work with x402 payment
Free DemoLive/api/v1/demo/safe — verdict delayed 60 s, 100 calls/IP/day, no payment
RPC GatewayLiveAgent uses our URL as RPC endpoint — doesn't know Phoenix exists

Chains Monitored

12 L2 networks with 2-second sampling interval:

ChainTypeChainType
BaseOP StackScrollzkEVM
ArbitrumNitroMantleOP Stack
OptimismOP StackLineazkEVM
zkSynczkEVMBlastOP Stack
ModeOP StackTaikoBased rollup
Polygon zkEVMzkEVM — halted since Jul 3 2026, reported chain_haltedCasperL1 PoS

Casper is included as an L1 reference chain (L1 thresholds: stall ≥ 10 s, high latency > 2 s).

x402 Payment Rails

NetworkFacilitatorStatus
Base mainnet (eip155:8453)Coinbase CDPLive — USDC settled on-chain
Polygon (eip155:137)Coinbase CDPOffered in the 402; no settled payment yet
Arbitrum One (eip155:42161)Coinbase CDPLive - 1 external payment settled on-chain (24 Oct 2026)
Hedera testnetBlocky402Integrated (testnet)

Every 402 response carries the x402 v2 PAYMENT-REQUIRED header and the same x402Version/accepts in the JSON body.

bash
# Try it — returns 402 Payment Required with x402 challengecurl -i https://rtt.phoenix-ai.work/api/v1/health
# Free demo — the same verdict, 60 s late (100/day/IP, no payment)curl https://rtt.phoenix-ai.work/api/v1/demo/safe
# Free current price (surge multiplier)curl https://rtt.phoenix-ai.work/api/v1/price
# Free health endpoint (no payment)curl https://rtt.phoenix-ai.work/api/health

Paid Endpoints ($0.01 USDC; surge ×3 = $0.03 when Base p99 > 500 ms or revert > 25%, ×10 = $0.10 on stall ≥ 5 s or revert ≥ 50%)

EndpointDescription
POST /api/v1/preflightDeterministic execution decision — PASS/DEGRADED/FAIL with evidence_id
/api/v1/healthFull health snapshot (all 12 chains)
/api/v1/safeLive boolean safety verdict + reason, P99, revert ratio
/api/v1/chains/{chain}Single-chain telemetry
/api/v1/classifyAgent classification: HUMAN/LEGIT_AGENT/MALICIOUS_BOT (behavioral timing, not NIC fingerprinting)
/api/v1/correlation12×12 cross-chain Pearson R_xy matrix + Frobenius anomaly score
/api/v1/health-proofHMAC-SHA256 integrity commitment + eBPF status (not ZK — requires shared key)

Free Endpoints (no payment required)

EndpointDescription
GET /api/v1/demo/safeSafety verdict delayed 60 s (100/day/IP) — {safe, reason, chain, demo: true, delayed_s, as_of, teaser}
GET /api/v1/priceCurrent price and surge multiplier (no verdict)
GET /api/healthNode health status
GET /.well-known/mcp.jsonMCP 1.0 tool discovery (2 MCP tools + 4 paid HTTP endpoints)
GET /.well-known/x402x402 V2 agent discovery metadata
GET /api/v1/openapi.jsonOpenAPI 3.0 spec (paid operations carry a 402 response and x-payment-info)

On-chain Registry on Arbitrum

PhoenixOracleRegistry — 0xD394fFAE51d8fB52187Cf3aE3b014Ddc80Dc7B15 on Arbitrum Sepolia. Source: contracts/PhoenixOracleRegistry.sol (Solidity ^0.8.20).

  • A publisher writes the live verdict on-chain every 5 minutes (more than 10,000 updates by 4 Nov 2026): Base p99 latency, revert ratio (bps), risk level (SAFE / ELEVATED / HIGH / STALL), timestamp, Base block number.
  • Smart contracts read it directly: isSafe(), riskLabel(), latest(), updateCount(); event SnapshotPublished.
  • Access control: only the owner or the designated oracle address may publish (setOracle, transferOwnership).
  • The publisher runs inside a BPF LSM kernel sandbox (no new executables; outbound only to DNS / HTTPS / RPC ports).
  • The contract is chain-agnostic Solidity — deployable to any EVM chain; a Casper oracle contract exists as well.

Caller label and agent passport

Every response of the paid gateway (/v1/*, both 402 and 200) carries a label for the caller: X-Silicon-DNA-Class (HUMAN / LEGIT_AGENT / MALICIOUS_BOT / SYBIL), -Confidence, -Layers (passed/14), -Layers-Applicable, -Timing-Intervals, -Timing (insufficient / human_like / agent_like / bot_like), -Paid (settled payments of this caller), -Passport. The label never blocks a request: a bot-like caller still receives the normal 402, so directories that list the oracle keep seeing the payment terms.

GET /api/agent/passport returns the full passport with an Ed25519 signature. Verify it without trusting the server: take signed_payload and signature_ed25519 from the answer and the public key from /.well-known/silicon-dna-key.json (the page explains the check in Node and Python). The payment block comes from settlements confirmed by the x402 facilitator.

Honest limit: the timing layers (L3, L4, L6, L7) need ≥ 20 request intervals from the same caller. Most API callers make fewer, so their class rests on headers and request rate until enough history accumulates (measured 8 Oct 2026: 2 of 30 outside callers had ≥ 20 intervals).

Components

ComponentFileDescription
x402 Gatewaygateway/x402_gateway.pyFastAPI payment gateway — CDP (Base, Polygon, Arbitrum) + Blocky402 (Hedera testnet)
Multi-Chain Probeprobe/multi_chain_probe.py12-chain RPC poller (eth_blockNumber every 2s)
WSS Distributorprobe/wss_distributor.pyWebSocket broadcast with BLAKE3+Ed25519 integrity signing
Silicon DNAgateway/server.ts14-layer caller classification (L0–L13: HUMAN / LEGIT_AGENT / MALICIOUS_BOT / SYBIL): request-timing entropy, Spearman ρ, CV, header consistency (Frankenstein), Argon2id PoW, ML-KEM-768 session, Sybil cohort, session continuity
XDP Threat Filterebpf/xdp_threat_filter.cKernel-speed packet drop for banned IPs
LSM Agent Guardebpf/lsm_agent_guard.cSyscall-level sandbox: block execve, restrict network
MCP Servermcp-server/Model Context Protocol server for AI agent discovery
RPC Gatewaygateway/rpc_gateway.pyTransparent health-checking proxy before upstream RPC
Mech Toolmech-tool/phoenix_health_check.pyOlas Mech marketplace tool interface

eBPF Kernel Security

XDP Threat Filter (LIVE since Aug 28, 2026)

eBPF XDP program (prog id 6293) on eth0 drops malicious packets before the TCP stack (run time of the XDP program: 927 ns per packet on average (measured 8 Oct 2026 with the kernel's BPF run counters, generic mode on virtio_net)). Silicon DNA's 14-layer bot detection feeds the BPF map every 5 seconds.

LSM Agent Guard (live: guards the Arbitrum registry publisher)

BPF LSM program (kernel boot lsm=landlock,lockdown,yama,integrity,apparmor,bpf). Sandboxes the service named in LSM_TARGET_SERVICE — currently phoenix-arb-publisher, which keeps publishing on-chain under the guard (verified by an on-chain publish):

  • Block execve — agent can't spawn child processes
  • Restrict connect — only ports 53 (DNS), 443 (HTTPS), 8545 and 7777 (RPC)
  • File access — limited to agent's working directory

MCP Server (AI Agent Discovery)

Published to npm and MCP Registry. Any AI coding assistant can discover and use our health oracle.

bash
# Install from npmnpm install -g phoenix-mcp-server
# Or add to Claude Desktop (claude_desktop_config.json):{  "mcpServers": {    "phoenix-zero": {      "command": "npx",      "args": ["phoenix-mcp-server"]    }  }}

Tools:

  • check_safety_free — FREE safety check (100 calls/IP/day). Returns {safe, reason, chain} for any of 12 chains.
  • preflight_network_health — PASS / DEGRADED / FAIL with kernel-level evidence. Free for health_check, x402 $0.01 for rtt_ns/revert_ratio.

npm SDK — phoenix-zero-preflight

3-line integration for bot developers:

javascript
const { PhoenixPreflight } = require("phoenix-zero-preflight");const phoenix = new PhoenixPreflight();
// Free demo — no payment neededconst result = await phoenix.checkSafe("base");// { safe: true, reason: "ok", chain: "base", demo: true }
// For AgentKit / LangChain — drop-in toolconst { createPhoenixTool } = require("phoenix-zero-preflight");const tool = createPhoenixTool();// tool.name = "phoenix_preflight_safety"

RPC Gateway (Transparent Proxy)

Agent connects to Phoenix as if it were a normal RPC endpoint. Phoenix checks health before forwarding:

Agent → POST /rpc/base {"method": "eth_sendRawTransaction", ...}     Phoenix checks health:       PASS → forward to upstream RPC → response + X-Phoenix-Health: PASS       DEGRADED → forward + X-Phoenix-Warning header       FAIL → 503 "Transaction blocked to protect funds"

Live — try it now:

bash
curl -X POST https://rtt.phoenix-ai.work/rpc/base \  -H "Content-Type: application/json" \  -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'# → {"jsonrpc":"2.0","result":"0x...","id":1}# + X-Phoenix-Health: PASS header

Supported chains: base, arbitrum, optimism, zksync, scroll, mantle, linea, blast, mode, taiko, polygon_zkevm.

Docker

Runs the x402 gateway locally. Real-time telemetry comes from the production server at rtt.phoenix-ai.work.

bash
cp .env.example .env   # works as is (x402.org facilitator, Base Sepolia); add CDP keys for Base mainnetdocker compose upcurl -i localhost:3002/v1/safe       # → 402 Payment Requiredcurl localhost:3002/                  # → service info

Security Stack

  • eBPF XDP — kernel-speed threat response (live, prog 6293)
  • eBPF LSM — per-agent syscall sandbox (3 LSM programs; attach target configurable)
  • ML-KEM-768 (NIST FIPS 203) post-quantum key exchange
  • BLAKE3 + Ed25519 integrity signing on all telemetry
  • 14-layer bot detection — CPU jitter, Spearman correlation, Argon2 PoW, Frankenstein headers, Sybil clustering, Privacy Pass
  • Isolation Forest anomaly scoring (offline-trained, edge inference; anomaly_score in every PHOENIX_METRIC)

Test Suite

  • Main repo: over 1,000 TypeScript and over 700 Python automated tests, passing in CI (4 Nov 2026)
  • This repo: gateway 21 + MCP server 10
  • Every production release is verified by sha256 against git, checked live (including a forged-payment test) and rolled back automatically on failure.

Verified Revenue

External (non-owner) x402 settlements, 10 Oct - 4 Nov 2026: 25 payments of 0.01 USDC = $0.25 from 11 wallets (24 on Base, 1 on Arbitrum One); own test payments excluded; some of the 11 wallets may be automated directory checks. Each payment was checked on-chain (USDC Transfer to PAY_TO). Verify on-chain:

  • PAY_TO: 0xbb967F16C7f3e9B4c1626680684445d41dBE44Ab

Continuity

This project extends 6+ months of production work (since March 2026). Server uptime 170+ days. 14 production services on DigitalOcean. See CONTINUITY_PROOF.md.

Paper

Cross-Chain Temporal Correlation and Kernel-Level Enforcement for Layer-2 Bot Detection (preprint, CC BY 4.0, Zenodo version 2.0, September 2026) DOI: 10.5281/zenodo.22239862

License

MIT

来源:README.md,提交 61795d3

工具

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

版本历史

2
  1. v1.3.1最新Oct 29, 2026
  2. v1.0.1Sep 16, 2026

评分

已满足适用检查项的 50%

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

  • 近 30 天内可连通25 分

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

  • 已声明认证方式10 分

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

  • 已列出工具15 分

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

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

其他 Execution 集成