BlazePhoenix on-chain DEX aggregator

xyz.blazephoenixv2.0.0Updated Oct 1, 2026

On-chain DEX aggregator: quotes and verified swap calldata computed on your own RPC. No API key.

VerifiedStreamable HTTPWeb executableFinanceDeveloper Tools

Overview

AI-generated overview

Lets an assistant fetch on-chain DEX swap quotes, verified unsigned swap calldata, simulations and deployment data across five chains.

What it does
Provides tools for quoting swaps through an on-chain Quoter contract, returning net output, minimum enforced output, price impact and a risk verdict. It also builds unsigned Router calldata, dry-runs swaps from a given account, checks staking solvency, reads token metadata, and lists or verifies protocol deployments. A remote variant instead returns the eth_call to run and decodes the node's answer.
When to use it
Useful when an assistant needs to prepare or inspect DEX swaps on Base, Ethereum, Optimism, Arbitrum or Robinhood Chain without trusting a pricing server. Suited to agents that want quotes and calldata they can verify themselves before signing in their own wallet.
Requirements
The local server runs via npx and needs Node.js plus at least one RPC endpoint supplied through environment variables such as BLAZEPHOENIX_RPC_URL or per-chain variables like BLAZEPHOENIX_RPC_BASE. The remote endpoint needs no key and performs no RPC call. No account or API key is required.
Before you install
The local server reads RPC URLs from environment variables only; those URLs may embed a provider key, so keep them out of shared configs. All tools are described as read-only and the server never signs or holds a key, but build_swap returns calldata that must be reviewed and signed in your own wallet. Quotes and calldata should be verified on-chain before use.

Installation

In SourceWeft

  1. Open BlazePhoenix on-chain DEX aggregator in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "mcp": {
      "type": "http",
      "url": "https://blazephoenix.xyz/mcp"
    }
  }
}

README

BlazePhoenix MCP server

[solvency]

On-chain DEX aggregator tools for AI agents. The defining property: every quote is computed by the on-chain Quoter contract (previewPlan, a free eth_call), the same logic that executes the swap, and it runs on your own RPC. There is no pricing server to trust, and every number an agent relays is reproducible by anyone.

  • Local server: @blazephoenix/mcp over stdio. Quotes, unsigned calldata, simulation and solvency, all read through the node you configure.
  • Remote endpoint: https://blazephoenix.xyz/mcp (streamable HTTP, stateless). Deployment registry, ABIs and the pure quote codec. It performs no RPC call.
  • Auth: none · API key: none
  • Chains: Base (8453), Ethereum (1), Optimism (10), Arbitrum (42161), Robinhood Chain (4663)

Local server

bash
claude mcp add blazephoenix -e BLAZEPHOENIX_RPC_BASE=<your Base node URL> -- npx -y @blazephoenix/mcp

Any MCP client (JSON config):

json
{  "mcpServers": {    "blazephoenix": {      "command": "npx",      "args": ["-y", "@blazephoenix/mcp"],      "env": { "BLAZEPHOENIX_RPC_BASE": "<your Base node URL>" }    }  }}

The RPC comes from the environment only, never from a tool argument:

VariableMeaning
BLAZEPHOENIX_RPC_URLOne node, used for every chain it serves
BLAZEPHOENIX_RPC_BASE, _ETH, _OPTIMISM, _ARBITRUM, _ROBINHOODA node per chain. Use either this or BLAZEPHOENIX_RPC_URL, not both

A value may hold several URLs separated by commas; they are your fallback order. The server never prints your URLs, since they may carry a key.

Tools

ToolWhat it does
get_quoteSwap quote through your RPC: net output after the fee, the minimum the Router enforces, price impact and the Phoenix Check verdict (ok / caution / danger / blocked, fails closed). exact: true dry-runs every concentrated leg.
build_swapQuote and return verified unsigned Router calldata, with the minimum output and deadline baked in.
simulate_swapBuild the swap and dry-run it from a given account with an eth_call.
check_solvencyLive staking solvency: isSolvent() and the decoded solvency() struct.
get_token_infoSymbol, decimals and name of a token, read from the chain.
get_deploymentsThe versioned deployment registry: Core, Hub, Solver, Quoter and Router per chain and version.
verify_deploymentCheck that the registry addresses for a chain and version match what is deployed on-chain.

Every tool is read-only. The server never signs and never holds a key. build_swap returns calldata for you to review and sign in your own wallet, and the SDK's wallet-taking execute() is deliberately not exposed.

Remote endpoint

bash
claude mcp add --transport http blazephoenix https://blazephoenix.xyz/mcp
json
{ "mcpServers": { "blazephoenix": { "type": "http", "url": "https://blazephoenix.xyz/mcp" } } }
ToolWhat it does
prepare_quoteThe exact eth_call to run on your node for a quote, plus a request object
decode_quoteTurns your node's answer into the quote, the Phoenix Check verdict and verified calldata (pure)
get_deploymentsThe versioned deployment registry
get_abiGenerated ABI of a protocol contract

The source of the endpoint is in Blaze-Phoenix-API.

Install as a plugin or extension

Claude Code plugin (hosted MCP endpoint plus the BlazePhoenix agent skill):

bash
claude plugin marketplace add blazephoenixxyz-crypto/blazephoenix-mcpclaude plugin install blazephoenix@blazephoenix

Gemini CLI extension (hosted MCP endpoint plus a context file):

bash
gemini extensions install https://github.com/blazephoenixxyz-crypto/blazephoenix-mcp

Both connect https://blazephoenix.xyz/mcp, which needs no key and performs no RPC. For the full toolset on your own node, use the local server.

Verify instead of trusting

Nothing here requires trusting BlazePhoenix:

bash
# the solvency claim, straight from the chain, bypassing the site entirelycast call 0x3f60C7aa0c36a78D200405feBE143d2Cf3fA0c77 "isSolvent()(bool)" --rpc-url https://mainnet.base.org
# re-execute any published fact live, with its block heightcurl -s "https://blazephoenix.xyz/api/verify?fact=solvency-live"
# reproduce every live claim in ~60 secondscurl -sO https://blazephoenix.xyz/repro/verify-everything.sh && bash verify-everything.sh

Build and test

bash
npm installnpm run buildnpm test

The test spawns the built server over stdio with no RPC configured and checks the tool surface, that failures come back as tool results, and that no tool takes an RPC, key or signer argument or signs anything.

More machine surfaces

Security

To report a vulnerability, see SECURITY.md.

License

The code is MIT (see LICENSE). This documentation is CC BY 4.0. The protocol contracts are BUSL-1.1 (free to read, audit and verify; production use before the 2030 change date requires a license). The mechanisms and terminology (Iron Law Φ, Monoslot, Master Conservation Identity) are original BlazePhoenix work: attribute with a link.

Contact: [email protected] · Security: https://blazephoenix.xyz/.well-known/security.txt

Source: README.md at commit eb3ed94

Tools

0
Tool metadata has not been indexed yet.

Version history

1
  1. v2.0.0LatestOct 1, 2026