x402nano

io.github.BobjonesgoodPublished by GitHub account Bobjonesgoodv0.2.0Updated Oct 24, 2026

Machine-payable prediction-market briefs and probability-change monitoring for AI agents.

VerifiedStreamable HTTPWeb executableFinanceData & Analytics

Overview

AI-generated overview

A remote MCP server that gives assistants free Polymarket market discovery and pricing, plus paid read-only market briefs and probability-change deltas.

What you can do
List trending Polymarket markets and confirm pricing with the free tools, list_trending_markets and get_market_pricing, to pick a market slug and check cost before paying. Retrieve a paid market brief with get_market_brief: market identity, leading outcome and implied probability, volume and liquidity, 24h movement, descriptive scores, watch points and a receipt. Retrieve a paid market delta with get_market_delta: what changed since a caller-supplied timestamp, absolute and relative probability change, direction, unusual-movement flag and data-quality notes. Outputs are read-only market intelligence with no trading, custody or advice.
When to use it
Use it when an agent needs packaged Polymarket market context or a repeatable polling loop that reports what changed in a market's leading-outcome probability since the last check, without scraping or stitching data together.
Requirements
A remote Streamable HTTP endpoint; no account, API key or environment variable is declared. Paid tools require an x402-aware MCP client that can sign a 0.05 USDC payment on Base mainnet (eip155:8453) from a caller-held wallet, and network access to the endpoint.
Before you install
Paid tools cost 0.05 USDC per call on Base mainnet, so an agent loop can spend real funds; set budgets and confirm pricing first. The buyer signing key stays local to the caller and must be protected. The server states it never receives or stores private keys and does not trade, custody funds or give financial advice; scores are descriptive heuristics, not predictions.

Installation

In SourceWeft

  1. Open x402nano 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.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.Bobjonesgood%2Fx402nano/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "x402nano": {
      "type": "http",
      "url": "https://x402nano.onrender.com/mcp"
    }
  }
}

README

x402nano

Why x402nano

x402nano is machine-payable Polymarket market intelligence for AI agents and MCP clients. It provides free market discovery and pricing tools, plus paid read-only Market Brief and Market Delta tools for 0.05 USDC per call on Base mainnet.

It does not trade, place bets, custody funds, or provide financial advice. Buyer keys remain local to the caller and are never received or stored by x402nano.

Live service: https://x402nano.onrender.com

Public Market Watcher demo: https://x402nano-market-watcher.bobjonesgood.chatgpt.site

x402nano is an independent project and is not affiliated with x402nano.org or the Nano/XNO cryptocurrency. “nano” refers to the project’s small, pay-per-request intelligence scope. References to x402, Base, Polymarket, USDC, and MCP describe technical compatibility or public data sources and do not imply endorsement.

MCP Server

x402nano exposes a public, stateless MCP endpoint using the production Streamable HTTP transport:

txt
https://x402nano.onrender.com/mcp

The remote server exposes free market discovery and pricing tools plus x402-protected 0.05 USDC Market Brief and Market Delta tools. Paid MCP calls use the official x402 MCP payment flow: the caller signs locally, the facilitator verifies and settles on Base, and x402nano never receives or stores a buyer private key.

The repository also retains the proven local stdio MCP server with conservative payment budgets. See mcp-server/README.md for both connection paths, unpaid verification, and client requirements. The standards-compliant remote server manifest is server.json.

Agent Quickstart

For a new MCP client or autonomous agent:

  1. Find io.github.Bobjonesgood/x402nano in the official MCP Registry.
  2. Connect to the Streamable HTTP remote: https://x402nano.onrender.com/mcp.
  3. List tools and confirm list_trending_markets, get_market_pricing, get_market_brief, and get_market_delta.
  4. Call list_trending_markets to choose a market slug.
  5. Call get_market_pricing to confirm Base mainnet pricing.
  6. Use an x402-aware MCP client for get_market_brief or get_market_delta.

Pricing and payment boundaries:

  • Free tools: list_trending_markets, get_market_pricing.
  • Paid tools: get_market_brief, get_market_delta.
  • Price: 0.05 USDC per paid tool call, 50000 atomic units.
  • Network: Base mainnet, eip155:8453.
  • Seller: 0x4cc3831eB479aCFb6D44631d4a30814508Cf52d3.
  • Buyer keys stay local to the caller. x402nano never receives or stores buyer private keys.
  • Outputs are read-only market intelligence, not trading, betting, or financial advice.

What You Are Buying

x402nano does not sell raw Polymarket data. It sells packaged, agent-ready market intelligence objects that save an agent from stitching together market metadata, current prices, movement history, scoring, receipt handling, and safety boundaries itself.

A paid market brief includes:

  • market identity, question, category, status, end date, and source URL
  • current leading outcome and implied probability
  • outcome pricing summary and top outcomes
  • volume, 24h volume, 7d volume, liquidity, and change context when available
  • 24h movement summary from public price history when available
  • resolution/source context and data-quality notes
  • descriptive scores for movement, attention, and data completeness
  • watch points for future agent checks
  • receipt metadata proving the paid unlock
  • no-advice boundaries

A paid market delta includes:

  • what changed since the caller-supplied since timestamp
  • leading outcome start/end probabilities when public history is available
  • absolute and relative probability change
  • direction, changed flag, repeat-check priority, and unusual-movement flag
  • current volume/liquidity context
  • trajectory points when available
  • data-quality notes explaining missing or nearest-point history
  • receipt metadata proving the paid unlock
  • no-advice boundaries

Representative paid brief response:

json
{  "status": "unlocked",  "receipt": {    "id": "receipt-id-after-payment",    "amount": "0.05",    "asset": "USDC",    "network": "eip155:8453"  },  "data": {    "briefType": "read-only-market-intelligence",    "market": {      "slug": "example-polymarket-slug",      "question": "Will example event happen in 2026?",      "status": "active",      "url": "https://polymarket.com/event/example"    },    "snapshot": {      "generatedAt": "2026-06-29T12:00:00.000Z",      "source": "polymarket:gamma",      "leadingOutcome": "Yes",      "leadingOutcomeImpliedProbability": "42.0%"    },    "metrics": {      "volume24h": "17,260.91",      "liquidity": "81,697.04"    },    "movement": {      "window": "24h",      "direction": "up",      "absoluteChange": "0.032"    },    "scores": {      "marketMovementScore": 61,      "attentionScore": 72,      "dataCompletenessScore": 100,      "unusualMovementFlag": false    },    "watchPoints": [      "Watch whether the leading outcome changes, flattens, or reverses over the next observation window."    ],    "boundaries": [      "Read-only public market data summary.",      "No trading execution.",      "No custody of user funds.",      "No buy/sell/bet recommendation."    ]  }}

Representative paid delta response:

json
{  "status": "unlocked",  "receipt": {    "id": "receipt-id-after-payment",    "amount": "0.05",    "asset": "USDC",    "network": "eip155:8453"  },  "data": {    "briefType": "read-only-market-delta",    "market": {      "slug": "example-polymarket-slug",      "question": "Will example event happen in 2026?"    },    "window": {      "since": "2026-06-29T11:00:00.000Z",      "until": "2026-06-29T12:00:00.000Z"    },    "change": {      "source": "polymarket:clob",      "outcome": "Yes",      "startProbability": 0.388,      "endProbability": 0.42,      "absoluteChange": "0.032",      "relativeChange": "+8.2%",      "direction": "up",      "changed": true    },    "significance": {      "repeatCheckPriority": "medium",      "unusualMovementFlag": false,      "summary": "The leading outcome moved up by 0.032 over the requested window."    },    "dataQuality": {      "priceHistoryAvailable": true,      "usedNearestHistoryPoint": false,      "notes": [        "Delta is computed from available public market data.",        "This endpoint does not store caller state; clients provide the since timestamp."      ]    }  }}

Freshness and methodology:

  • Paid briefs and deltas are generated on request after a valid payment.
  • Public freshness metadata advertises an expected max age of 90 seconds, with paid content kept behind 402 until payment.
  • Brief movement uses the most recent public Polymarket data and 24h leading-outcome history when available.
  • Delta movement is computed from public Polymarket CLOB price history for the leading outcome token between the caller's since timestamp and the latest available point.
  • If exact history is unavailable, the response says so in dataQuality rather than pretending precision.
  • Scores are descriptive heuristics from movement size, volume, liquidity, and data availability. They are not predictions or recommendations.

Machine-payable market intelligence API for AI agents and bots.

x402nano serves read-only Polymarket market briefs behind an HTTP 402 payment flow. An agent requests a market brief, receives a payment challenge, retries with X-PAYMENT, and receives unlocked JSON plus a receipt.

This is market intelligence infrastructure, not trading advice.

Paid briefs include 24h market movement, volume/liquidity context, resolution context, watch points, and safe descriptive scores. They do not include trading execution, custody, betting advice, or buy/sell recommendations.

Live Endpoint

txt
https://x402nano.onrender.com

Free discovery/trending endpoint:

http
GET https://x402nano.onrender.com/api/markets/trending

Paid market brief endpoint:

http
GET https://x402nano.onrender.com/api/markets/brief?slug=will-gideon-saar-be-the-next-prime-minister-of-israel

Paid market delta endpoint:

http
GET https://x402nano.onrender.com/api/markets/delta?slug=will-gideon-saar-be-the-next-prime-minister-of-israel&since=2026-06-15T12:00:00Z

Historical Mainnet Proofs

These are separate, owner-approved historical tests on Base mainnet. They demonstrate past paid unlocks; they are not instructions to make a payment.

ProofInitiated byPurchased resourcePrice and networkTransactionCurrent behavior
Direct core Market Briefx402nano's dedicated local buyer scriptGET /api/markets/brief?slug=...0.05 USDC on Base mainnet (eip155:8453)BaseScan · receipt f1ffa2f5cabf94c3The core paid brief endpoint remains live; this transaction is historical.
Direct core Market Deltax402nano's dedicated local buyer scriptGET /api/markets/delta?slug=...&since=...0.05 USDC on Base mainnet (eip155:8453)BaseScan · receipt 75fe7c800fed47d4The core paid delta endpoint remains live; this transaction is historical. See the proof note.
Market Watcher companion-client proofAn owner-approved controlled Market Watcher clientOne x402nano Market Brief through the companion purchase flow0.05 USDC on Base mainnet (eip155:8453)BaseScanHistorical companion-client proof only. The public Market Watcher deployment remains mock-first, has real payments disabled, and has no buyer key.

The direct core proof runs verified the HTTP 402 challenge, locally signed payment retry, on-chain USDC settlement, receipt generation, and read-only JSON unlock. The seller wallet was 0x4cc3831eB479aCFb6D44631d4a30814508Cf52d3.

Proof references:

txt
Direct core Market Brief transaction:https://basescan.org/tx/0x54ba49a288a56d20046c25f4496bec405f2eefc05fe413cd511caf96227911b1
In-repo proof notes:TRUST.mdARCHITECTURE.mdLISTING_METADATA.mdDIRECT_DELTA_X402_PRODUCTION_UNLOCK_PROOF.md

Note: the local buyer script exited nonzero after the real unlock because the immediate post-payment buyer balance read was stale. Seller balance updated, receipt/events were recorded, and a later no-payment balance check confirmed the buyer moved from 1.00 to 0.95 USDC.

Buyer Flow

  1. Discover the API.
http
GET https://x402nano.onrender.com/.well-known/x402.json
  1. Request a paid market brief.
powershell
Invoke-WebRequest `  -Uri "https://x402nano.onrender.com/api/markets/brief?slug=will-gideon-saar-be-the-next-prime-minister-of-israel" `  -UseBasicParsing
  1. Expect 402 Payment Required.

The response includes payment requirements similar to:

json
{  "error": "payment_required",  "paymentRequirements": {    "network": "eip155:8453",    "asset": "USDC",    "amount": "0.05",    "payTo": "0x4cc3831eB479aCFb6D44631d4a30814508Cf52d3",    "resource": "/api/markets/brief?slug=will-gideon-saar-be-the-next-prime-minister-of-israel"  }}
  1. Sign and send the x402 payment.

Use an x402-compatible client to sign the Base mainnet USDC payment, then retry the same request with:

http
X-PAYMENT: <signed-x402-payment>
  1. Receive the unlocked JSON.

Successful paid responses include a receipt and the market brief payload:

json
{  "receipt": {    "id": "f1ffa2f5cabf94c3",    "network": "eip155:8453",    "amount": "0.05",    "asset": "USDC"  },  "data": {    "briefType": "read-only-market-intelligence",    "status": "ok",    "market": {      "slug": "will-gideon-saar-be-the-next-prime-minister-of-israel"    },    "movement": {      "window": "24h",      "direction": "flat",      "trajectory": []    },    "metrics": {      "volume24h": "17,260.91",      "liquidity": "81,697.04"    },    "resolution": {      "endDate": "2026-12-31T00:00:00Z"    },    "scores": {      "marketMovementScore": 45,      "attentionScore": 70,      "dataCompletenessScore": 100,      "unusualMovementFlag": false    }  }}

Delta Briefs

Delta briefs are the repeat-use paid object for agent polling loops. A brief answers "what is this market right now?" A delta answers "what changed since the agent last checked?"

http
GET https://x402nano.onrender.com/api/markets/delta?slug=will-gideon-saar-be-the-next-prime-minister-of-israel&since=2026-06-15T12:00:00Z

Without payment, the route returns 402 Payment Required. With a valid X-PAYMENT retry, the response includes a receipt and read-only delta JSON:

json
{  "status": "unlocked",  "receipt": {    "id": "receipt-id-after-payment",    "network": "eip155:8453",    "amount": "0.05",    "asset": "USDC"  },  "data": {    "briefType": "read-only-market-delta",    "market": {      "slug": "will-gideon-saar-be-the-next-prime-minister-of-israel"    },    "window": {      "since": "2026-06-15T12:00:00.000Z",      "until": "2026-06-15T18:30:00.000Z"    },    "change": {      "available": true,      "outcome": "Yes",      "absoluteChange": "0.050",      "relativeChange": "+11.9%",      "direction": "up",      "changed": true    },    "significance": {      "repeatCheckPriority": "high",      "unusualMovementFlag": true,      "summary": "The leading outcome moved up by 0.050 over the requested window."    }  }}

Delta briefs are descriptive market context for agents. They do not include trading execution, custody, betting advice, predictions, or buy/sell recommendations.

Example polling clients:

txt
examples/delta-polling.jsexamples/delta-polling.py

Both examples show the intended agent loop: inspect freshness metadata, request a delta, handle the 402, retry with an x402 payment from a caller-provided signing hook, parse the receipt and delta payload, then update since after a successful response.

Local Proof Command

Run these commands from the repository root after a normal clone.

Preflight only; this does not sign or send a payment:

powershell
$env:MAINNET_PAID_PATH="/api/markets/brief?slug=will-gideon-saar-be-the-next-prime-minister-of-israel"$env:MAINNET_MAX_USDC="0.05"$env:MAINNET_PAYMENT_ACK="PREFLIGHT_ONLY"npm.cmd run agent:mainnet

Real payment example, only for a separately owner-approved test that intentionally sends one 0.05 USDC unlock:

powershell
$env:MAINNET_PAID_PATH="/api/markets/brief?slug=will-gideon-saar-be-the-next-prime-minister-of-israel"$env:MAINNET_MAX_USDC="0.05"$env:MAINNET_PAYMENT_ACK="PAY_REAL_0.05_USDC"npm.cmd run agent:mainnet

Launch Ask

x402nano is looking for feedback from 20 AI agent, trading bot, and market-data builders.

What to check:

txt
Would a machine-readable market brief be useful to your agent?Is 0.05 USDC per brief the right shape for testing?What fields would your bot need before paying for a brief?Would you rather call this directly, through an SDK, or through another agent framework?

Positioning:

txt
Stop scraping. Use a machine-payable API for market briefs.0.05 USDC per read-only market brief on Base.No account. No API key. HTTP 402 and X-PAYMENT.

Current Scope

In scope:

txt
Polymarket public dataread-only market intelligencefree trending endpointpaid market brief endpointpaid market delta endpointHTTP 402 challengeBase mainnet USDC unlockreceipt and proof

Out of scope for this launch:

txt
trading advicetrade executionTelegram botlead generationx402 consultingnew product features before feedback

Development

powershell
npm.cmd installnpm.cmd run build

Core scripts:

txt
npm.cmd run agent:mainnetnpm.cmd run wallet:mainnet:createnpm.cmd run build

License

This project is licensed under the MIT License.

Source: README.md at commit edfdf4e

Tools

0
SourceWeft has not read this server's tools yet.

Version history

1
  1. v0.2.0LatestSep 16, 2026

Score

85% 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 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 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