{
  "markdown": "# x402-bazaar-mcp\n\n[![smithery badge](https://smithery.ai/badge/sukrutkrdg/x402-bazaar-mcp)](https://smithery.ai/servers/sukrutkrdg/x402-bazaar-mcp)\n\n**Hosted, no install:** point any MCP client at `https://402.com.tr/mcp` —\nStreamable HTTP, one tool per catalogued service, no wallet held server-side. Or\nrun it locally with `npx` as described below; both talk to the same catalog. The\ncurrent tool list is always\n[the server card](https://402.com.tr/.well-known/mcp/server-card.json); a number\nwritten here would be wrong the next time a service is added.\n\n**The Base token-safety toolkit for AI agents.** An **MCP (Model Context\nProtocol) server** that gives your agent the checks it needs before it touches a\nBase token — including a **29-tool [B20](https://402.com.tr) (Base-native token\nstandard) suite** covering freeze/seize powers, policy changes, mint headroom\nand rebase history — which also covers all 13 of\nCoinbase's tokenized equities, telling a real issuance apart from a token merely\nwearing an equity ticker by reading who administers the transfer policy on\nchain rather than by consulting a list of addresses, so a newly issued one is\nrecognised the day it appears — pre-trade GO/HOLD/STOP gates,\nhoneypot & sellability checks, wallet + approval audits, sign-guard, prices and\nAI reports. Every paid API in the [x402 Bazaar](https://402.com.tr) catalog,\nexposed as a callable tool (Claude Desktop, Cursor, Cline, Windsurf, VS Code,\nCoinbase AgentKit, custom agents).\n\n**Bind these first:** `pre_trade_gate` (any token), `b20_gate` (Base-native B20\ntokens), `sign_guard` (before signing a tx).\n\n**No wallet needed to start.** Run it with no key, no token and no config at all\nand it uses the **free tier** — one free call/day per service. When you outgrow\nthat, a prepaid credit token keeps it walletless: one purchase, then every call\nis just an HTTP header. A wallet is only needed for the third mode, per-call\npayment.\n\nEach tool call is otherwise backed by an **x402 micro-payment in USDC on Base** —\nno API keys, no subscriptions, no sign-up.  The agent pays only for what it uses,\ntypically fractions of a cent per call.\n\n**Works with zero config.** Run it with no wallet and no token and it uses the\n**free tier** (one free call/day per service, then a preview) — so an agent can\ntry every tool instantly. Unlock unlimited paid calls with either a **prepaid\ncredit token** (one x402 purchase up front, then no wallet or signing per call)\nor a **wallet key**.\n\n---\n\n## How it works\n\n1. On startup the server fetches the live catalog from\n   `https://402.com.tr/api/catalog` and auto-registers one MCP tool per\n   service.\n2. When an AI agent calls a tool the server picks a payment mode (below), hits\n   the endpoint, and returns the response.\n3. In wallet mode the x402 flow is transparent:\n   `HTTP 402 → pay USDC on Base → retry → return response`, gasless for the payer\n   (the facilitator pays gas).\n\n### Three payment modes (precedence order)\n\n| Mode | Set | What happens | Wallet? Signing? |\n|---|---|---|---|\n| **Credits** ⭐ | `X402_CREDIT_TOKEN` | Sent as `x-credit-token`; each call debits your prepaid balance | No / No |\n| **Wallet** | `AGENT_PRIVATE_KEY` | Signs an x402 USDC payment locally per call | Yes / Yes |\n| **Free** | *(nothing)* | Free tier: 1 full call/day/service, then a preview | No / No |\n\nCredits are the easiest paid mode day-to-day: buying the pack takes ONE x402\nsettlement (call the `buy_credits` tool in wallet mode, or pay\n`https://402.com.tr/api/x402/buy-credits?tier=0.25|1|5|20` from any x402 client),\nwhich returns a `ck_…` token. Set it as `X402_CREDIT_TOKEN` and every later call\njust draws down the balance — no private key ever touches this config again.\nTiers: $0.25 starter, $1, $5 (+10%), $20 (+20%).\n\n---\n\n## Requirements\n\n- Node.js ≥ 20\n- *(optional, for paid calls)* a prepaid credit token **or** a Base wallet\n  private key whose address holds USDC on Base mainnet\n\n---\n\n## Installation & running\n\n```bash\nnpm install\n\n# Zero-config — free tier, try every tool instantly:\nnpx x402-bazaar-mcp\n\n# Paid via prepaid credits (recommended — no wallet, no signing):\nX402_CREDIT_TOKEN=ck_your_token npx x402-bazaar-mcp\n\n# Paid via wallet:\nAGENT_PRIVATE_KEY=0xYOUR_PRIVATE_KEY npx x402-bazaar-mcp\n```\n\n### Environment variables\n\n| Variable | Required | Default | Description |\n|---|---|---|---|\n| `X402_CREDIT_TOKEN` | no | — | Prepaid credit token (`ck_…`) from `buy-credits`. Sent as `x-credit-token`; debits your balance per call. No wallet needed. **Recommended paid mode.** |\n| `AGENT_PRIVATE_KEY` | no | — | Hex private key for a Base wallet holding USDC. `0x` prefix optional. Used only if no credit token is set. |\n| `X402_BAZAAR_CATALOG` | no | `https://402.com.tr/api/catalog` | Override the catalog URL (useful for local dev). |\n\nWith none of the above set, the server runs on the **free tier**.\n\n---\n\n## Claude Desktop configuration\n\nAdd the following to your `claude_desktop_config.json`\n(usually `~/Library/Application Support/Claude/claude_desktop_config.json` on\nmacOS or `%APPDATA%\\Claude\\claude_desktop_config.json` on Windows):\n\n```json\n{\n  \"mcpServers\": {\n    \"x402-bazaar\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"x402-bazaar-mcp\"],\n      \"env\": {\n        \"X402_CREDIT_TOKEN\": \"ck_your_token\"\n      }\n    }\n  }\n}\n```\n\nOmit the `env` block entirely to run on the **free tier** (great for a first\ntry), or use `\"AGENT_PRIVATE_KEY\": \"0x…\"` instead of the credit token to pay\nfrom a wallet.\n\nAfter saving, restart Claude Desktop.  You should see the Bazaar tools appear\nin the tool list (hammer icon).\n\n---\n\n## Cursor\n\nAdd to `~/.cursor/mcp.json` (global) or `.cursor/mcp.json` in your project:\n\n```json\n{\n  \"mcpServers\": {\n    \"x402-bazaar\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"x402-bazaar-mcp\"],\n      \"env\": { \"X402_CREDIT_TOKEN\": \"ck_your_token\" }\n    }\n  }\n}\n```\n\n## Cline (VS Code)\n\nIn the Cline panel → **MCP Servers → Configure** (`cline_mcp_settings.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"x402-bazaar\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"x402-bazaar-mcp\"],\n      \"env\": { \"X402_CREDIT_TOKEN\": \"ck_your_token\" },\n      \"disabled\": false,\n      \"autoApprove\": []\n    }\n  }\n}\n```\n\n## Windsurf\n\nAdd to `~/.codeium/windsurf/mcp_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"x402-bazaar\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"x402-bazaar-mcp\"],\n      \"env\": { \"X402_CREDIT_TOKEN\": \"ck_your_token\" }\n    }\n  }\n}\n```\n\n## VS Code (GitHub Copilot / MCP)\n\nAdd to `.vscode/mcp.json` in your workspace (or run **MCP: Add Server**):\n\n```json\n{\n  \"servers\": {\n    \"x402-bazaar\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"x402-bazaar-mcp\"],\n      \"env\": { \"X402_CREDIT_TOKEN\": \"ck_your_token\" }\n    }\n  }\n}\n```\n\nEvery client above works the same way: **omit `env`** to run on the free tier,\nor swap the credit token for `\"AGENT_PRIVATE_KEY\": \"0x…\"` to pay from a wallet.\n\n---\n\n## Use with Coinbase AgentKit, Agentic Wallet & Claude Code\n\nBecause this is a standard MCP stdio server, any MCP-capable agent runtime can\nload and pay for the Bazaar's tools — including Coinbase's own agent stack, with\nno bespoke integration:\n\n### Coinbase Agentic Wallet (`npx awal`)\n\nCoinbase [Agentic Wallets](https://www.coinbase.com/developer-platform) ship\nnative x402 support and an MCP interface. Point the wallet's MCP config at\n`npx x402-bazaar-mcp`, and the agent can call — and pay for — any Bazaar service\nstraight from its MPC-secured wallet, gasless on Base. The x402 payment handshake\nis handled for you: `HTTP 402 → pay USDC on Base → retry → response`.\n\n### Coinbase AgentKit\n\nTwo ways in:\n\n1. **As MCP tools** — load this server into your AgentKit agent's MCP config\n   (`command: \"npx\"`, `args: [\"-y\", \"x402-bazaar-mcp\"]`, and `X402_CREDIT_TOKEN`\n   or `AGENT_PRIVATE_KEY` in `env`). The agent gains every Bazaar tool —\n   B20 freeze/seize checks, pre-trade gates, honeypot/sellability, deployer\n   reputation, exit liquidity, live DEX prices, gas, tx decode, Claude reports —\n   as pay-per-call actions, no action provider to write.\n2. **Via AgentKit's native x402 support** — AgentKit's wallet can settle x402\n   payments directly, so an agent can `GET https://402.com.tr/api/x402/<service>`\n   and pay the returned 402 from its own wallet. The 402 body includes a\n   machine-readable `alternatives` block (starter credits first) so the agent can\n   pick the cheapest on-ramp programmatically.\n\nEither way the agent pays only for the calls it makes, in USDC on Base, gasless.\n\n### Claude Code\n\nAdd it as an MCP server in one command:\n\n```bash\n# Free tier (zero config):\nclaude mcp add x402-bazaar -- npx -y x402-bazaar-mcp\n\n# Or paid via prepaid credits:\nclaude mcp add x402-bazaar -e X402_CREDIT_TOKEN=ck_your_token -- npx -y x402-bazaar-mcp\n```\n\nThen ask Claude Code to check a token, price a portfolio, or screen an address —\nit calls the right Bazaar tool and settles the micro-payment automatically.\n\n---\n\n## Why agents use this\n\nAgents 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 Claude-powered reports — all pay-per-use, with no subscriptions or sign-up required.\n\n---\n\n## What your agent can do (tools)\n\nTools are loaded live from the catalog, so the list stays current. At the time of\nwriting it includes:\n\n| Tool | Price | What it does |\n|---|---|---|\n| `pre_trade_gate` | $0.10 | The one call before a trade — risk + sellability + route + deployer → GO/HOLD/STOP |\n| `token_risk` | $0.03 | Token safety score (honeypot, taxes, ownership, holders) for any Base token |\n| `sellability` | $0.08 | Can you actually SELL it? Honeypot/tax/lp simulation verdict |\n| `ai_token_report` | $0.12 | Claude-written full due-diligence report on a token |\n| `sanctions` | $0.02 | Screen an address against the OFAC sanctions list |\n| `holders` | $0.02 | Top holders, concentration (whale risk) & LP lock for a token |\n| `token_price` | $0.02 | DEX price + liquidity for a Base token |\n| `multi_price` | $0.02 | Prices for up to 10 Base tokens in one call |\n| `address_intel` | $0.02 | EOA/contract, ETH+USDC balance, activity for any address |\n| `wallet_tokens` | $0.02 | Portfolio of major Base tokens + USD value |\n| `gas_oracle` | $0.01 | Live Base gas estimates (slow/normal/fast) |\n| `tx_decode` | $0.02 | Structural decode of a Base transaction |\n| `contract_abi` | $0.02 | Is a contract verified? Get its ABI (Sourcify) |\n| `basename` | $0.01 | Resolve Basenames ↔ addresses on Base |\n| `trending_tokens` / `new_tokens` | $0.01 | Trending & freshly listed Base tokens |\n| `price_alert` | $0.05 | Register an alert when a token crosses a price (webhook or poll) |\n| `buy_credits` | $0.25–$20 | Buy a prepaid credit pack (tier param) — unlocks walletless calls |\n\nPrices shown as of this release — the authoritative price is always in the live\ncatalog and in each 402 challenge. The table above is a sample: the tool list is\nloaded **live from the catalog** at startup, so the server always exposes\neverything the marketplace currently sells — including the\nB20 safety suite, the web and business checks (`url_extract`, `email_verify`,\n`domain_check`) and anything added since this README was written.\n\n### Example\n\nOnce installed, just ask your agent naturally — it picks the right tool and pays per call:\n\n> \"Is `0x…` a safe token to buy on Base? Check the risk and current price.\"\n\nThe agent calls `token_risk` and `token_price`, each settling a tiny USDC payment\nfrom your wallet, and answers with the on-chain data.\n\n> \"Is this NVDA token on Base the real Coinbase one?\"\n\n`b20_safety` answers from the chain rather than from a list: it reads who\nadministers the token's transfer policy and reports whether that is the operator\nbehind Coinbase's confirmed issuances. A lookalike can copy the ticker, the name\nand even a `0xb200…` vanity address; it cannot borrow the policy administrator.\nThe same answer carries the issuer's powers — holder-eligibility gating, gated\nmint, and the rebase multiplier that redenominates every balance at once — as\nfacts about a regulated instrument, not as a risk score to be alarmed by.\n\n---\n\n## Sample outputs\n\n### `token_risk` — low-risk token\n\n```json\n{\n  \"address\": \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\",\n  \"isContract\": true,\n  \"token\": {\n    \"name\": \"USD Coin\",\n    \"symbol\": \"USDC\",\n    \"decimals\": 6,\n    \"totalSupply\": \"4800000000000000\"\n  },\n  \"ownership\": {\n    \"owner\": \"0x0000000000000000000000000000000000000000\",\n    \"renounced\": true\n  },\n  \"upgradeableProxy\": false,\n  \"security\": {\n    \"isHoneypot\": false,\n    \"buyTaxPct\": 0,\n    \"sellTaxPct\": 0,\n    \"isOpenSource\": true,\n    \"isMintable\": false,\n    \"transferPausable\": false,\n    \"canTakeBackOwnership\": false,\n    \"hiddenOwner\": false,\n    \"holderCount\": 182430,\n    \"topHolderPct\": 12.47,\n    \"top10HolderPct\": 41.22,\n    \"lockedLpPct\": 100,\n    \"creatorPct\": 0,\n    \"isInDex\": true,\n    \"isAntiWhale\": false,\n    \"antiWhaleModifiable\": false,\n    \"tradingCooldown\": false,\n    \"slippageModifiable\": false,\n    \"isTrueToken\": true,\n    \"isAirdropScam\": false,\n    \"creatorAddress\": \"0x6B175474E89094C44Da98b954EedeAC495271d0F\",\n    \"creatorBalance\": \"0\"\n  },\n  \"riskScore\": 0,\n  \"riskLevel\": \"low\",\n  \"flags\": [],\n  \"sources\": [\"base-rpc\", \"goplus\"],\n  \"coverage\": \"RPC base + GoPlus security (honeypot, taxes, holders, holder concentration, LP lock, creator holdings, source, ownership controls).\",\n  \"checkedAt\": \"2026-06-23T09:14:02.381Z\"\n}\n```\n\n### `token_price` — DEX price and liquidity\n\n```json\n{\n  \"address\": \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\",\n  \"priceUsd\": \"0.9998\",\n  \"priceChange24h\": -0.03,\n  \"liquidityUsd\": 4721850.44,\n  \"volume24h\": 18340210.77,\n  \"dexId\": \"uniswap\",\n  \"pairAddress\": \"0x88A43bbDF9D098eEC7bCEda4e2494615dfD9bB9C\",\n  \"baseToken\": {\n    \"name\": \"USD Coin\",\n    \"symbol\": \"USDC\"\n  },\n  \"checkedAt\": \"2026-06-23T09:14:03.105Z\"\n}\n```\n\n---\n\n## Discovering available services\n\n- Human-readable catalog & docs: <https://402.com.tr/agents>\n- Machine-readable catalog (used by this server): <https://402.com.tr/api/catalog>\n- x402 well-known: <https://402.com.tr/.well-known/x402>\n\n---\n\n## Security note\n\n**Prepaid credits (recommended) keep wallets out of your agent config** — buying\nthe pack takes one x402 settlement, but after that the `ck_…` token is all the\nagent holds: a bearer capability worth only its remaining balance, so a leaked\ntoken can lose at most what's left on it, never a wallet. Buy a small pack and\nrotate it if needed.\n\nIf you use **wallet mode** instead, your private key is only used locally inside\nthis process to sign payment authorizations. It is **never** sent to the Bazaar\nserver or any third party. Use a dedicated spending wallet (not your main wallet)\nand keep only a small USDC balance on it.\n\n---\n\n## License\n\nMIT\n",
  "bytes": 14993,
  "sha": "5375d303380b451cc47c5dacb180cc5fade862957e905d361d47efb15aca54ed",
  "repo_slug": "sukrutkrdg/x402-bazaar-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_sukrutkrdg_x402_bazaar_mcp_9f8851f6/readme"
}