Tensorfeed X402 Base Mcp

by RipperMercs

303 downloads
Not rated
GitHub

About

Read-only Base mainnet chain reader for x402 payment verification. Confirms on-chain that a USDC settlement matches a claimed x402 receipt (recipient and amount), parses publisher /.well-known/x402 manifests, and lists recent USDC payments to an address. No private keys, verifica

Details

Author
RipperMercs
Downloads
303
Categories
Other

- Read-only chain visibility — no private keys, no signing
- Generic Base tools: balance, usdc_balance, block_number, get_tx_receipt, call, recent_transfers
- x402-native verification: verify_x402_settlement, parse_x402_manifest, probe_x402_endpoint
- TensorFeed flavor tools: verify_afta_federation, tf_payment_lookup, x402_publisher_health, afta_federation_members
- Input validators, output sanitization, 50 KB response cap, RPC allowlist
- No telemetry, no phone-home, no analytics; MIT licensed

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Tensorfeed X402 Base Mcp
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install globally via npm, then add the server to claude_desktop_config.json or use claude mcp add. Configure an optional private RPC URL via the TENSORFEED_RPC_URL environment variable for heavier workloads.

balance

Returns the native ETH balance of an address on Base mainnet.

usdc_balance

Returns the USDC balance of an address on Base mainnet (Circle native bridged USDC).

block_number

Returns the latest block number on Base mainnet.

get_tx_receipt

Returns the receipt for a transaction on Base mainnet, including status, gas used, and a summary of emitted logs.

call

Performs an eth_call against a contract on Base mainnet. Read-only; never broadcasts a transaction.

recent_transfers

Returns USDC Transfer events involving the given address over the last N blocks on Base mainnet. Direction filter: in, out, or both.

verify_x402_settlement

Given a tx hash, expected recipient, and expected USDC amount, returns a structured verdict on whether the on-chain USDC Transfer event actually matches the claimed settlement. Use to independently verify any x402 payment receipt.

parse_x402_manifest

Fetches https://{domain}/.well-known/x402.json (or x402) and returns the structured manifest. Used to discover what an x402-paid publisher accepts (scheme, network, payTo, prices, paid endpoints).

usdc_recent_payments_to

Returns USDC transfers TO the given address over the last N blocks on Base mainnet. A convenience wrapper for x402 merchants verifying incoming agent payments.

probe_x402_endpoint

Performs a GET against an https URL and reports whether the response looks like a canonical x402-paid endpoint (HTTP 402 with a JSON body containing accepts[]). Read-only. Does not pay, does not broadcast.

decode_x402_payment_payload

Decodes a base64-encoded X-PAYMENT header payload per the Coinbase x402 V2 spec. Returns the parsed scheme, network, x402Version, EIP-3009 authorization, and signature. Pure offline decode; no signature is verified and no network call is made.

verify_afta_federation

Calls TensorFeed's canonical AFTA certification endpoint for a domain. Returns a scored checklist of which Agent Fair-Trade Agreement tenets the domain's public surfaces satisfy. Read-only.

tf_payment_lookup

On-chain lookup: was this transaction hash a USDC payment to TensorFeed's canonical payment wallet (0x549c82e6bFC54bdaE9A2073744CBC2AF5D1FC6D1) on Base mainnet? Returns structured details if yes. For credit attribution and endpoint mapping, the paying agent should call https://tensorfeed.ai/api/payment/history with its bearer token.

x402_publisher_health

Returns the latest x402 status snapshot for a given domain from TensorFeed's canonical hourly monitor: current outcome, latency, 24h/7d uptime, and the recent series of check results. Useful for agents picking which paid publisher to depend on.

afta_federation_members

Returns the canonical list of confirmed Agent Fair-Trade Agreement (AFTA) federation members as of this package version. Static curated list; chain through verify_afta_federation(domain) to confirm live cert posture per member.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "tensorfeed x402 base mcp": {
            "tensorfeed-x402-base": {
                "command": "npx",
                "args": [
                    "-y",
                    "@tensorfeed/x402-base-mcp"
                ]
            }
        }
    }
}

McpServers

{
    "tensorfeed-x402-base": {
        "command": "npx",
        "args": [
            "-y",
            "@tensorfeed/x402-base-mcp"
        ]
    }
}

@tensorfeed/x402-base-mcp

Read-only MCP server for verifying x402 USDC settlements on Base mainnet. Drop it into any MCP-compatible agent (Claude Desktop, Claude Code, Cursor, ChatGPT) to independently audit x402 payment receipts on-chain, parse publisher .well-known/x402 manifests, and check AFTA federation status. No private keys, no signing, no broadcasts.

npm install -g @tensorfeed/x402-base-mcp

Relationship to Coinbase Base MCP

Coinbase shipped Base MCP (the official mcp.base.org server, launched May 2026) as the transact-side MCP: it connects an agent to a Base Account and lets the agent propose swaps, transfers, and x402 payments that the user approves in-wallet.

This package, @tensorfeed/x402-base-mcp, is the verify-side MCP. Once an x402 payment has been made (by Base MCP, by a server-side @coinbase/x402 middleware, or by any other x402 client), this server lets the calling agent independently check the on-chain settlement, parse the publisher's /.well-known/x402 manifest, and audit the receipt. Read-only chain visibility, no wallet.

The two are complementary, not competing. Use Base MCP to pay. Use this MCP to verify.

Why a separate verify MCP

x402 is a payment protocol where agents pay merchants in USDC on Base for paid API responses. When an agent receives a payment receipt back, it has two options for confirming that the settlement actually happened the way the receipt claims:

1. Trust the merchant
2. Read the on-chain Transfer event itself

Most existing EVM MCP servers either require a private key (so the agent can also send transactions, which is operationally risky and unnecessary for verification), or are generic multi-chain readers that don't speak x402. This server is the read-only, x402-aware option. Drop it into a Claude Desktop or Claude Code session and any agent can verify x402 payments without operating a wallet.

The TensorFeed-flavor tools (verify_afta_federation, tf_payment_lookup) compose the same primitives against TF's canonical surfaces and demonstrate the pattern. Use them or ignore them; the generic tools work fine on their own.

Installation

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "tensorfeed-x402-base": {
      "command": "npx",
      "args": ["-y", "@tensorfeed/x402-base-mcp"]
    }
  }
}

Claude Code

claude mcp add tensorfeed-x402-base -- npx -y @tensorfeed/x402-base-mcp

Optional: bring your own RPC

The server defaults to the public Base RPC (https://mainnet.base.org), which is fine for casual use. For heavier workloads, set an Alchemy or Infura URL via TENSORFEED_RPC_URL. The URL must match the allowlist in src/rpc/allowlist.ts; anything else falls back to the public endpoint and logs a warning to stderr.

export TENSORFEED_RPC_URL="https://base-mainnet.g.alchemy.com/v2/YOUR_KEY"

Affiliate links if you don't already have an account:
- Alchemy: https://www.alchemy.com/
- Infura: https://www.infura.io/

Tools

Generic Base reads

| Tool | Description |
|------|-------------|
| balance | Native ETH balance for an address |
| usdc_balance | USDC (Circle native bridged) balance for an address |
| block_number | Latest Base block number |
| get_tx_receipt | Full tx receipt with status, gas, and logs summary |
| call | Read-only contract call (eth_call, never broadcasts) |
| recent_transfers | USDC Transfer events involving an address over N blocks |

x402-native verification

| Tool | Description |
|------|-------------|
| verify_x402_settlement | Given a tx hash, expected recipient, and expected USDC amount, returns a structured verdict on whether the on-chain Transfer event matches. |
| parse_x402_manifest | Fetches https://{domain}/.well-known/x402.json, returns the structured manifest. |
| usdc_recent_payments_to | USDC transfers TO an address over N blocks; the merchant-side view. |
| probe_x402_endpoint | Probes any https URL and reports whether it returns a canonical x402-paid 402 response with accepts[]. |
| decode_x402_payment_payload | Offline decode of a base64 X-PAYMENT header (Coinbase x402 V2): returns scheme, network, version, EIP-3009 authorization, signature. |

TensorFeed flavor

| Tool | Description |
|------|-------------|
| verify_afta_federation | Calls TensorFeed's AFTA certification endpoint for a domain, returns a scored checklist. |
| tf_payment_lookup | Checks whether a tx hash is a USDC payment to TensorFeed's canonical wallet on Base. |
| x402_publisher_health | Returns current outcome + 24h/7d uptime + recent series for a domain monitored by TensorFeed's hourly x402 status probe. |
| afta_federation_members | Returns the canonical curated list of confirmed AFTA federation members (TF origin + federated members). |

Examples

Verify an x402 settlement (works on TensorFeed's first canonical V2 payment):

verify_x402_settlement({
  tx_hash: "0xe20c57d8aa6df63f75ce7a4e4c0cab492eb7fa672a23cd8fd59967eb6b66bd67",
  expected_recipient: "0x549c82e6bFC54bdaE9A2073744CBC2AF5D1FC6D1",
  expected_amount_usdc: "0.02"
})
// returns { ok: true, verified: true, matches: [...] }

Inspect a publisher's x402 manifest:

parse_x402_manifest({ domain: "tensorfeed.ai" })

Check AFTA certification:

verify_afta_federation({ domain: "tensorfeed.ai" })

Threat model

Read-only chain-visibility MCP. The full picture is in SECURITY.md; the short version:

- No private keys, no signing, no broadcasts. The server cannot move funds.
- Input validators on every tool reject malformed inputs (bad checksums, malformed hashes, URL-shaped domains, private/loopback hostnames).
- Output sanitization strips C0/C1 control characters and zero-width / direction-override marks from every string returned to the calling agent.
- External strings carry an _origin: "external" marker so the calling agent knows the value came from a third party.
- 50 KB response cap on serialized tool output; oversized responses collapse to a structured stub.
- RPC allowlist limits self-hosters to known endpoints; arbitrary URLs are rejected and fall back to public Base RPC.
- No telemetry, no phone-home, no analytics.
- Provenance: npm releases are published via GitHub Actions OIDC with cryptographic provenance attestations. Verify with npm audit signatures.

Report security issues to security@tensorfeed.ai. Please do not file a public issue or CVE for an unfixed vulnerability.

License

MIT

Related

- Coinbase Base MCP - the official transact-side MCP for Base. Pair with this package for a full pay + verify loop: Base MCP signs the x402 payment, this package independently confirms the settlement on-chain.
- @tensorfeed/mcp-server - companion package, the TensorFeed data MCP (news, status, models, benchmarks, premium endpoints). Complementary role: this server verifies x402 payments on-chain; mcp-server wraps the TF data API as MCP tools.
- TensorFeed - AI ecosystem data layer
- TensorFeed developers - free + premium API for AI agents
- Agent Fair-Trade Agreement (AFTA) - open standard for honest agent commerce
- x402 spec - the payment protocol this MCP verifies

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.