X402 Bazaar Mcp

io.github.sukrutkrdgPublished by GitHub account sukrutkrdgv0.3.0Updated Oct 25, 2026

Check, then act, on Base and NEAR: token-safety gates, then swaps at the best price — over x402.

Overview

AI-generated overview

A local MCP server that loads a live catalog of paid x402 services, letting an assistant run Base and NEAR token-safety checks, swaps, prices and AI reports, or

What you can do
Check tokens and addresses before trading: pre-trade GO/HOLD/STOP gates, token risk and sellability, honeypot checks, holder concentration, sanctions screening, wallet and approval audits, and a B20 safety suite for Base-native tokens and tokenized equities. Get market data: DEX prices, multi-token prices, liquidity, gas estimates, trending and new tokens, and price alerts. Inspect transactions and contracts: decode a Base transaction, check contract verification and ABI, resolve Basenames. Swap: route Base swaps via 0x and cross-chain swaps through NEAR Intents, with status tracking. Call other catalogued services such as URL extraction, email verification and domain checks, and buy prepaid
When to use it
Useful when an assistant needs fresh on-chain data or safety checks before trading Base or NEAR tokens, or wants pay-per-call access to a marketplace of small crypto and web utilities without managing RPC endpoints, scrapers or per-provider API keys.
Requirements
Node.js 20 or newer, run locally via npx. No configuration needed for the free tier (one free call per day per service that offers one). Paid calls need either a prepaid credit token in X402_CREDIT_TOKEN or a Base wallet private key in AGENT_PRIVATE_KEY holding USDC on Base mainnet. Network access to the catalog and service endpoints.
Before you install
Calls cost money: each paid call settles a USDC micro-payment on Base, and credit packs cost 0.25 to 20 USD. AGENT_PRIVATE_KEY is a wallet private key used to sign payments; use a dedicated low-balance wallet, never a main one. X402_CREDIT_TOKEN is a bearer token whose remaining balance can be spent if leaked. Swaps return ready-to-sign transactions, and price alerts register ongoing notifications. The catalog is fetched live at startup, so the tool list and prices can change.

Installation

In SourceWeft

  1. Open X402 Bazaar Mcp in the dashboard and add it to a workspace.
  2. 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

x402-bazaar-mcp

[smithery badge]

Hosted, no install: point any MCP client at https://402.com.tr/mcp — Streamable HTTP, one tool per catalogued service, no wallet held server-side. Or run it locally with npx as described below; both talk to the same catalog. The current tool list is always the server card; a number written here would be wrong the next time a service is added.

The Base token-safety toolkit for AI agents. An MCP (Model Context Protocol) server that gives your agent the checks it needs before it touches a Base token — including a 30-tool B20 (Base-native token standard) suite covering freeze/seize powers, policy changes, mint headroom and rebase history — which also covers all 82 of Coinbase's tokenized equities, telling a real issuance apart from a token merely wearing an equity ticker by reading who administers the transfer policy on chain rather than by consulting a list of addresses, so a newly issued one is recognised the day it appears — pre-trade GO/HOLD/STOP gates, honeypot & sellability checks, wallet + approval audits, sign-guard, prices and AI reports. Every paid API in the x402 Bazaar catalog, exposed as a callable tool (Cursor, Cline, Windsurf, VS Code, Coinbase AgentKit, desktop assistants and custom agents).

Bind these first: pre_trade_gate (any Base token), near_pre_trade_gate (NEAR tokens), b20_gate (Base-native B20 tokens), sign_guard (before signing a tx).

Then act — swap at the best price, after the check:

  • base_swap — on Base, routed by 0x across Uniswap, Aerodrome, Balancer, Curve and more. Returns the route, minimum out, every fee, and a ready-to-sign transaction for your agent's own wallet. Buying an unknown token runs a sellability check first and refuses a honeypot.
  • near_swap — across chains (NEAR, Base, Ethereum, Solana, Bitcoin…) through NEAR Intents. Returns a one-time deposit address; the output goes to your recipient or is refunded. Buying a NEAR token runs near_token_safety first. Track it with near_swap_status.

Funds never pass through this server or ours.

No wallet needed to start. Run it with no key, no token and no config at all and it uses the free tier — one free call/day on each service that offers one. Roughly a third of the catalogue does not: AI and metered services are always paid, and every entry in the catalogue says which it is under freeTier. When you outgrow that, a prepaid credit token keeps it walletless: one purchase, then every call is just an HTTP header. A wallet is only needed for the third mode, per-call payment.

Each tool call is otherwise backed by an x402 micro-payment in USDC on Base — no API keys, no subscriptions, no sign-up. The agent pays only for what it uses, typically fractions of a cent per call.

Works with zero config. Run it with no wallet and no token and it uses the free tier (one free call/day on each service that offers one, then a preview) — so an agent can try most of the catalogue instantly, and sees a priced 402 on the AI and metered tools rather than a surprise. Unlock unlimited paid calls with either a prepaid credit token (one x402 purchase up front, then no wallet or signing per call) or a wallet key.


How it works

  1. On startup the server fetches the live catalog from https://402.com.tr/api/catalog and auto-registers one MCP tool per service.
  2. When an AI agent calls a tool the server picks a payment mode (below), hits the endpoint, and returns the response.
  3. In wallet mode the x402 flow is transparent: HTTP 402 → pay USDC on Base → retry → return response, gasless for the payer (the facilitator pays gas).

Three payment modes (precedence order)

ModeSetWhat happensWallet? Signing?
Credits ⭐X402_CREDIT_TOKENSent as x-credit-token; each call debits your prepaid balanceNo / No
WalletAGENT_PRIVATE_KEYSigns an x402 USDC payment locally per callYes / Yes
Free(nothing)Free tier: 1 full call/day/service, then a previewNo / No

Credits are the easiest paid mode day-to-day: buying the pack takes ONE x402 settlement (call the buy_credits tool in wallet mode, or pay https://402.com.tr/api/x402/buy-credits?tier=0.25|1|5|20 from any x402 client), which returns a ck_… token. Set it as X402_CREDIT_TOKEN and every later call just draws down the balance — no private key ever touches this config again. Tiers: $0.25 starter, $1, $5 (+10%), $20 (+20%).

Paying from NEAR? The same credit token can be bought with USDC, USDT or NEAR on NEAR (or any asset NEAR Intents routes) — in the browser at 402.com.tr/credits, or headlessly with POST https://402.com.tr/api/credits/near/quote. NEAR Intents swaps it to USDC on Base; no Base wallet needed.


Requirements

  • Node.js ≥ 20
  • (optional, for paid calls) a prepaid credit token or a Base wallet private key whose address holds USDC on Base mainnet

Installation & running

bash
npm install
# Zero-config — free tier on every service that offers one:npx x402-bazaar-mcp
# Paid via prepaid credits (recommended — no wallet, no signing):X402_CREDIT_TOKEN=ck_your_token npx x402-bazaar-mcp
# Paid via wallet:AGENT_PRIVATE_KEY=0xYOUR_PRIVATE_KEY npx x402-bazaar-mcp

In wallet mode the key only ever signs for requests to https://402.com.tr, paying the Bazaar's own address in USDC on Base, at or under X402_MAX_PRICE_USD. These are fixed in the package (or set by those env vars) — never taken from the catalog or from a 402 — so a catalog entry or a 402 that points anywhere else is called unpaid.

Environment variables

VariableRequiredDefaultDescription
X402_CREDIT_TOKENno—Prepaid credit token (ck_…) from buy-credits. Sent as x-credit-token; debits your balance per call. No wallet needed. Recommended paid mode.
AGENT_PRIVATE_KEYno—Hex private key for a Base wallet holding USDC. 0x prefix optional. Used only if no credit token is set.
X402_MAX_PRICE_USDno1Wallet mode: the most a single call may cost. A 402 asking for more is not signed. Raise it on purpose to buy larger credit packs from a wallet.
X402_PAY_ORIGIN / X402_PAY_TOnohttps://402.com.tr / the Bazaar's payout addressWallet mode: the only origin the wallet pays, and the only address it pays to.
X402_BAZAAR_CATALOGnohttps://402.com.tr/api/catalogOverride the catalog URL (useful for local dev).

With none of the above set, the server runs on the free tier.


Desktop MCP clients

Most desktop assistants and IDEs read an mcpServers block from their MCP config file (see your client's docs for where it lives). Add:

json
{  "mcpServers": {    "x402-bazaar": {      "command": "npx",      "args": ["-y", "x402-bazaar-mcp"],      "env": {        "X402_CREDIT_TOKEN": "ck_your_token"      }    }  }}

Omit the env block entirely to run on the free tier (great for a first try), or use "AGENT_PRIVATE_KEY": "0x…" instead of the credit token to pay from a wallet.

Restart the client after saving; the Bazaar tools appear in its tool list.


Cursor

Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json in your project:

json
{  "mcpServers": {    "x402-bazaar": {      "command": "npx",      "args": ["-y", "x402-bazaar-mcp"],      "env": { "X402_CREDIT_TOKEN": "ck_your_token" }    }  }}

Cline (VS Code)

In the Cline panel → MCP Servers → Configure (cline_mcp_settings.json):

json
{  "mcpServers": {    "x402-bazaar": {      "command": "npx",      "args": ["-y", "x402-bazaar-mcp"],      "env": { "X402_CREDIT_TOKEN": "ck_your_token" },      "disabled": false,      "autoApprove": []    }  }}

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

json
{  "mcpServers": {    "x402-bazaar": {      "command": "npx",      "args": ["-y", "x402-bazaar-mcp"],      "env": { "X402_CREDIT_TOKEN": "ck_your_token" }    }  }}

VS Code (GitHub Copilot / MCP)

Add to .vscode/mcp.json in your workspace (or run MCP: Add Server):

json
{  "servers": {    "x402-bazaar": {      "command": "npx",      "args": ["-y", "x402-bazaar-mcp"],      "env": { "X402_CREDIT_TOKEN": "ck_your_token" }    }  }}

Every client above works the same way: omit env to run on the free tier, or swap the credit token for "AGENT_PRIVATE_KEY": "0x…" to pay from a wallet.


Use with Coinbase AgentKit, Agentic Wallet & CLI agents

Because this is a standard MCP stdio server, any MCP-capable agent runtime can load and pay for the Bazaar's tools — including Coinbase's own agent stack, with no bespoke integration:

Coinbase Agentic Wallet (npx awal)

Coinbase Agentic Wallets ship native x402 support and an MCP interface. Point the wallet's MCP config at npx x402-bazaar-mcp, and the agent can call — and pay for — any Bazaar service straight from its MPC-secured wallet, gasless on Base. The x402 payment handshake is handled for you: HTTP 402 → pay USDC on Base → retry → response.

Coinbase AgentKit

Two ways in:

  1. As MCP tools — load this server into your AgentKit agent's MCP config (command: "npx", args: ["-y", "x402-bazaar-mcp"], and X402_CREDIT_TOKEN or AGENT_PRIVATE_KEY in env). The agent gains every Bazaar tool — B20 freeze/seize checks, pre-trade gates, honeypot/sellability, deployer reputation, exit liquidity, live DEX prices, gas, tx decode, AI reports — as pay-per-call actions, no action provider to write.
  2. Via AgentKit's native x402 support — AgentKit's wallet can settle x402 payments directly, so an agent can GET https://402.com.tr/api/x402/<service> and pay the returned 402 from its own wallet. The 402 body includes a machine-readable alternatives block (starter credits first) so the agent can pick the cheapest on-ramp programmatically.

Either way the agent pays only for the calls it makes, in USDC on Base, gasless.

Command-line agents

CLI agents that manage MCP servers with an mcp add command take the same server:

bash
# Free tier (zero config):<agent-cli> mcp add x402-bazaar -- npx -y x402-bazaar-mcp
# Or paid via prepaid credits:<agent-cli> mcp add x402-bazaar -e X402_CREDIT_TOKEN=ck_your_token -- npx -y x402-bazaar-mcp

Then ask the agent to check a token, price a portfolio, or screen an address — it calls the right Bazaar tool and settles the micro-payment automatically.


Why agents use this

Agents need fresh on-chain data and AI utilities but don't want to manage RPC endpoints, scrapers, security heuristics, or per-provider API keys. One MCP server plus a credit token (or a funded wallet) gives them everything — contract safety checks, live DEX prices, gas estimates, transaction decoding, and AI-powered reports — all pay-per-use, with no subscriptions or sign-up required.


What your agent can do (tools)

Tools are loaded live from the catalog, so the list stays current. At the time of writing it includes:

ToolPriceWhat it does
pre_trade_gate$0.10The one call before a trade — risk + sellability + route + deployer → GO/HOLD/STOP
token_risk$0.03Token safety score (honeypot, taxes, ownership, holders) for any Base token
sellability$0.08Can you actually SELL it? Honeypot/tax/lp simulation verdict
ai_token_report$0.12AI-written full due-diligence report on a token
sanctions$0.02Screen an address against the OFAC sanctions list
holders$0.02Top holders, concentration (whale risk) & LP lock for a token
token_price$0.02DEX price + liquidity for a Base token
multi_price$0.02Prices for up to 10 Base tokens in one call
address_intel$0.02EOA/contract, ETH+USDC balance, activity for any address
wallet_tokens$0.02Portfolio of major Base tokens + USD value
gas_oracle$0.01Live Base gas estimates (slow/normal/fast)
tx_decode$0.02Structural decode of a Base transaction
contract_abi$0.02Is a contract verified? Get its ABI (Sourcify)
basename$0.01Resolve Basenames ↔ addresses on Base
trending_tokens / new_tokens$0.01Trending & freshly listed Base tokens
price_alert$0.05Register an alert when a token crosses a price (webhook or poll)
buy_credits$0.25–$20Buy a prepaid credit pack (tier param) — unlocks walletless calls

Prices shown as of this release — the authoritative price is always in the live catalog and in each 402 challenge. The table above is a sample: the tool list is loaded live from the catalog at startup, so the server always exposes everything the marketplace currently sells — including the B20 safety suite, the web and business checks (url_extract, email_verify, domain_check) and anything added since this README was written.

Example

Once installed, just ask your agent naturally — it picks the right tool and pays per call:

"Is 0x… a safe token to buy on Base? Check the risk and current price."

The agent calls token_risk and token_price, each settling a tiny USDC payment from your wallet, and answers with the on-chain data.

"Is this NVDA token on Base the real Coinbase one?"

b20_safety answers from the chain rather than from a list: it reads who administers the token's transfer policy and reports whether that is the operator behind Coinbase's confirmed issuances. A lookalike can copy the ticker, the name and even a 0xb200… vanity address; it cannot borrow the policy administrator. The same answer carries the issuer's powers — holder-eligibility gating, gated mint, and the rebase multiplier that redenominates every balance at once — as facts about a regulated instrument, not as a risk score to be alarmed by.


Sample outputs

token_risk — low-risk token

json
{  "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",  "isContract": true,  "token": {    "name": "USD Coin",    "symbol": "USDC",    "decimals": 6,    "totalSupply": "4800000000000000"  },  "ownership": {    "owner": "0x0000000000000000000000000000000000000000",    "renounced": true  },  "upgradeableProxy": false,  "security": {    "isHoneypot": false,    "buyTaxPct": 0,    "sellTaxPct": 0,    "isOpenSource": true,    "isMintable": false,    "transferPausable": false,    "canTakeBackOwnership": false,    "hiddenOwner": false,    "holderCount": 182430,    "topHolderPct": 12.47,    "top10HolderPct": 41.22,    "lockedLpPct": 100,    "creatorPct": 0,    "isInDex": true,    "isAntiWhale": false,    "antiWhaleModifiable": false,    "tradingCooldown": false,    "slippageModifiable": false,    "isTrueToken": true,    "isAirdropScam": false,    "creatorAddress": "0x6B175474E89094C44Da98b954EedeAC495271d0F",    "creatorBalance": "0"  },  "riskScore": 0,  "riskLevel": "low",  "flags": [],  "sources": ["base-rpc", "goplus"],  "coverage": "RPC base + GoPlus security (honeypot, taxes, holders, holder concentration, LP lock, creator holdings, source, ownership controls).",  "checkedAt": "2026-06-23T09:14:02.381Z"}

token_price — DEX price and liquidity

json
{  "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",  "priceUsd": "0.9998",  "priceChange24h": -0.03,  "liquidityUsd": 4721850.44,  "volume24h": 18340210.77,  "dexId": "uniswap",  "pairAddress": "0x88A43bbDF9D098eEC7bCEda4e2494615dfD9bB9C",  "baseToken": {    "name": "USD Coin",    "symbol": "USDC"  },  "checkedAt": "2026-06-23T09:14:03.105Z"}

Discovering available services


Security note

Prepaid credits (recommended) keep wallets out of your agent config — buying the pack takes one x402 settlement, but after that the ck_… token is all the agent holds: a bearer capability worth only its remaining balance, so a leaked token can lose at most what's left on it, never a wallet. Buy a small pack and rotate it if needed.

If you use wallet mode instead, your private key is only used locally inside this process to sign payment authorizations. It is never sent to the Bazaar server or any third party. Use a dedicated spending wallet (not your main wallet) and keep only a small USDC balance on it.


License

MIT

Source: README.md at commit 89a9975

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

3
  1. v0.3.0LatestOct 10, 2026
  2. v0.2.9Sep 27, 2026
  3. v0.2.2Sep 16, 2026

Score

50% 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