# P0 Agent Economy Index (remote · x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev)

Paid APIs agents really pay for (x402 index) + SEC filings, wallet risk, OFAC, EVM reads, news, DNS

- Trust score: 68/100 (medium)
- Change this week: +9
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-22

## Components

- remote · `x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev`: 68/100 (this document), [markdown](https://verifymcp.io/servers/dev-workers-x402-bazaar-rank-worker-x402-bazaar-rank-x402-bazaar-rank/x402-bazaar-rank.md), [page](https://verifymcp.io/servers/dev-workers-x402-bazaar-rank-worker-x402-bazaar-rank-x402-bazaar-rank/x402-bazaar-rank)

## Channel facts

- Endpoint: `https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/mcp?via=mcp-registry`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.2.5`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-22.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS check failed: the endpoint is reachable over plaintext HTTP.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 68/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 7296 tokens (~162/item across 45 items; 45 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 30/100
  - Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 97/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 91% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 45 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 46 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### How do I install the P0 Agent Economy Index MCP server?

P0 Agent Economy Index is a hosted endpoint at https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/mcp?via=mcp-registry, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http dev-workers-x402-bazaar-rank-worker-x402-bazaar- 'https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/mcp?via=mcp-registry'
```

### Cursor

```json
{
  "mcpServers": {
    "dev-workers-x402-bazaar-rank-worker-x402-bazaar-": {
      "url": "https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/mcp?via=mcp-registry"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "dev-workers-x402-bazaar-rank-worker-x402-bazaar-": {
      "type": "http",
      "url": "https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/mcp?via=mcp-registry"
    }
  }
}
```

### Codex

```toml
[mcp_servers.dev-workers-x402-bazaar-rank-worker-x402-bazaar-]
url = "https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/mcp?via=mcp-registry"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "dev-workers-x402-bazaar-rank-worker-x402-bazaar-": {
      "type": "remote",
      "url": "https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/mcp?via=mcp-registry",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add dev-workers-x402-bazaar-rank-worker-x402-bazaar- --url 'https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/mcp?via=mcp-registry' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  dev-workers-x402-bazaar-rank-worker-x402-bazaar-:
    url: "https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/mcp?via=mcp-registry"
```

### Netclaw

```json
{
  "McpServers": {
    "dev-workers-x402-bazaar-rank-worker-x402-bazaar-": {
      "Transport": "http",
      "Url": "https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/mcp?via=mcp-registry"
    }
  }
}
```

### Vellum

```bash
assistant mcp add dev-workers-x402-bazaar-rank-worker-x402-bazaar- -t streamable-http -u 'https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/mcp?via=mcp-registry'
```

### Other

```json
{
  "mcpServers": {
    "dev-workers-x402-bazaar-rank-worker-x402-bazaar-": {
      "type": "http",
      "url": "https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/mcp?via=mcp-registry"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-22 (score 68, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional] New tool “x402_test_purchase”

### 2026-10-21 (score 67, 0)

- [security regression] A breaking change shipped without a version bump: still 0.2.0
- [security regression] Tool “buy_lead_list_500” was removed
- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “buy_brandwatch” rewrote its description, which is the text the model reads
- [security] Tool “buy_brandwatch_monthly” rewrote its description, which is the text the model reads
- [security] Tool “buy_dao_report” rewrote its description, which is the text the model reads
- [security] Tool “buy_dao_report_yearly” rewrote its description, which is the text the model reads
- [security] Tool “buy_discovery_listing” rewrote its description, which is the text the model reads
- [security] Tool “buy_lead_list” rewrote its description, which is the text the model reads
- [security] Tool “buy_market_report” rewrote its description, which is the text the model reads
- [security] Tool “evm_code” rewrote its description, which is the text the model reads
- [functional regression] “buy_brandwatch” made “email” required, so existing callers break
- [functional regression] “buy_brandwatch_monthly” made “email” required, so existing callers break
- [cosmetic] “buy_lead_list” added an optional parameter “countries”
- [cosmetic] “search_x402_services” added an optional parameter “include_testnets”
- [cosmetic] “buy_brandwatch” reworded the description of “email”
- [cosmetic] “buy_brandwatch_monthly” reworded the description of “email”

### 2026-10-20 (score 67, +8)

- [security improvement] Authorization: unverified → partial
- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “best_service_for_task” rewrote its description, which is the text the model reads
- [security] Tool “buy_brandwatch” rewrote its description, which is the text the model reads
- [security] Tool “buy_brandwatch_monthly” rewrote its description, which is the text the model reads
- [security] Tool “buy_dao_report” rewrote its description, which is the text the model reads
- [security] Tool “buy_dao_report_yearly” rewrote its description, which is the text the model reads
- [security] Tool “buy_discovery_listing” rewrote its description, which is the text the model reads
- [security] Tool “buy_lead_list” rewrote its description, which is the text the model reads
- [security] Tool “buy_lead_list_500” rewrote its description, which is the text the model reads
- [security] Tool “buy_market_report” rewrote its description, which is the text the model reads
- [security] Tool “check_email_address” rewrote its description, which is the text the model reads
- [security] Tool “check_email_batch” rewrote its description, which is the text the model reads
- [security] Tool “domain_report” rewrote its description, which is the text the model reads
- [security] Tool “domain_report_batch” rewrote its description, which is the text the model reads
- [security] Tool “list_paid_data_products” rewrote its description, which is the text the model reads
- [security] Tool “sanctions_screening” rewrote its description, which is the text the model reads
- [security] Tool “sanctions_screening_batch” rewrote its description, which is the text the model reads
- [security] Tool “search_x402_services” rewrote its description, which is the text the model reads
- [security] Tool “sec_filings” rewrote its description, which is the text the model reads
- [security] Tool “sec_filings_batch” rewrote its description, which is the text the model reads
- [security] Tool “tip_p0” rewrote its description, which is the text the model reads
- [security] Tool “token_risk” rewrote its description, which is the text the model reads
- [security] Tool “url_uptime_ping” rewrote its description, which is the text the model reads
- [security] Tool “url_uptime_ping_batch” rewrote its description, which is the text the model reads
- [security] Tool “wallet_balance” rewrote its description, which is the text the model reads
- [security] Tool “wallet_balance_batch” rewrote its description, which is the text the model reads
- [security] Tool “wallet_risk” rewrote its description, which is the text the model reads
- [security] Tool “x402_market_stats” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 4138 → 7226
- [functional improvement] Tool coverage: 82% → 89%
- [functional] Schema quality: good → excellent
- [functional] New tool “evm_block”
- [functional] New tool “evm_code”
- [functional] New tool “evm_ens”
- [functional] New tool “evm_erc20_balance”
- [functional] New tool “evm_native_balance”
- [functional] New tool “evm_nonce”
- [functional] New tool “evm_receipt”
- [functional] New tool “evm_transaction”
- [functional] New tool “kv_get”
- [functional] New tool “kv_list”
- [functional] New tool “kv_put”
- [functional] New tool “news_latest”
- [functional] New tool “util_base64”
- [functional] New tool “util_hash”
- [functional] New tool “util_ip”
- [functional] New tool “util_json_validate”
- [functional] New tool “util_jwt_decode”
- [functional] New tool “util_uuid”
- [cosmetic] “token_risk” added an optional parameter “request_key”
- [cosmetic] “wallet_risk” added an optional parameter “request_key”
- [cosmetic] “sec_filings_batch” reworded the description of “companies”
- [cosmetic] “wallet_balance_batch” reworded the description of “addresses”
- [cosmetic] Tool “best_service_for_task” changed its title: Best service for task
- [cosmetic] Tool “buy_brandwatch” changed its title: Buy brandwatch
- [cosmetic] Tool “buy_brandwatch_monthly” changed its title: Buy brandwatch monthly
- [cosmetic] Tool “buy_dao_report” changed its title: Buy DAO report
- [cosmetic] Tool “buy_dao_report_yearly” changed its title: Buy DAO report yearly
- [cosmetic] Tool “buy_discovery_listing” changed its title: Buy discovery listing
- [cosmetic] Tool “buy_lead_list” changed its title: Buy lead list
- [cosmetic] Tool “buy_lead_list_500” changed its title: Buy lead list 500
- [cosmetic] Tool “buy_market_report” changed its title: Buy market report
- [cosmetic] Tool “check_email_address” changed its title: Check email address
- [cosmetic] Tool “check_email_batch” changed its title: Check email batch
- [cosmetic] Tool “domain_report” changed its title: Domain report
- [cosmetic] Tool “domain_report_batch” changed its title: Domain report batch
- [cosmetic] Tool “list_paid_data_products” changed its title: List paid data products
- [cosmetic] Tool “sanctions_screening” changed its title: Sanctions screening
- [cosmetic] Tool “sanctions_screening_batch” changed its title: Sanctions screening batch
- [cosmetic] Tool “search_x402_services” changed its title: Search x402 services
- [cosmetic] Tool “sec_filings” changed its title: SEC filings
- [cosmetic] Tool “sec_filings_batch” changed its title: SEC filings batch
- [cosmetic] Tool “tip_p0” changed its title: Tip P0
- [cosmetic] Tool “token_risk” changed its title: Token risk
- [cosmetic] Tool “url_uptime_ping” changed its title: URL uptime ping
- [cosmetic] Tool “url_uptime_ping_batch” changed its title: URL uptime ping batch
- [cosmetic] Tool “wallet_balance” changed its title: Wallet balance
- [cosmetic] Tool “wallet_balance_batch” changed its title: Wallet balance batch
- [cosmetic] Tool “wallet_risk” changed its title: Wallet risk
- [cosmetic] Tool “x402_market_stats” changed its title: x402 market stats

### 2026-10-18 (score 59, 0)

- [functional regression] Schema quality: 133 → 153
- [functional regression] Tool coverage: 100% → 82%
- [functional regression] Schema quality: 133 → 152
- [functional] Schema quality: good → excellent
- [functional] New tool “best_service_for_task”
- [functional] New tool “buy_brandwatch”
- [functional] New tool “buy_brandwatch_monthly”
- [functional] New tool “buy_dao_report”
- [functional] New tool “buy_dao_report_yearly”
- [functional] New tool “buy_discovery_listing”
- [functional] New tool “buy_lead_list”
- [functional] New tool “buy_lead_list_500”
- [functional] New tool “buy_market_report”
- [functional] New tool “check_email_batch”
- [functional] New tool “domain_report_batch”
- [functional] New tool “sanctions_screening_batch”
- [functional] New tool “sec_filings_batch”
- [functional] New tool “token_risk”
- [functional] New tool “url_uptime_ping_batch”
- [functional] New tool “wallet_balance_batch”
- [functional] New tool “wallet_risk”
- [functional] New tool “check_email_address”
- [functional] New tool “domain_report”
- [functional] New tool “sanctions_screening”
- [functional] New tool “sec_filings”
- [functional] New tool “url_uptime_ping”
- [functional] New tool “wallet_balance”

### 2026-10-15 (score 59, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-14 (score 58, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-13 (score 58)

First indexed and scored.

## MCP tools (45)

### `search_x402_services` (~186 tokens)

Search x402 services

Search live x402 services by capability, ranked by REAL 30-day usage: unique payers weighted above raw call volume. Covers every service in the public index. Free tier returns the top 5; full results, market report and underserved-niche analysis are available as paid endpoints (x402 or MPP) on the same host. Not for picking one service for a concrete task (use best_service_for_task), for market-wide totals (use x402_market_stats) or for this host's own products (use list_paid_data_products).

Input parameters:

- `include_testnets` (boolean): also list services that exist only on test networks (default false)
- `network` (string): optional CAIP-2 filter, e.g. eip155:8453
- `query` (string, required): capability to look for, e.g. 'web search', 'llm inference'

### `x402_market_stats` (~59 tokens)

x402 market stats

Overall statistics of the x402 service market: catalog size, median price per call, total 30-day calls and unique payers, and the largest categories by paying demand. Market-wide totals only; for individual services use search_x402_services.

### `tip_p0` (~94 tokens)

Tip P0

Information about optionally supporting P0, the AI-run project behind this server: the donation and sponsorship pages, payment addresses per network, and how to claim a verified receipt for a transfer. Read-only; it moves no money. Support is voluntary and non-refundable; all funds are dedicated to engineering advancement, feature development and architectural optimization, and your support will be highly appreciated! Information only: it buys nothing and returns no data.

### `list_paid_data_products` (~170 tokens)

List paid data products

List the paid data products on this host (wallet balances, payment check, time and verifiable random, domain report, SEC filings, weather, OFAC sanctions screening, Wikipedia knowledge search, URL uptime ping, email address check (syntax and MX, no mailbox probe), the agent-economy index across protocols, EVM chain reads, utility functions, agent memory (KV), crypto and AI news, batch variants and the /buy/* service orders): route, price per call in USD, parameters and an example request URL. The data itself is paid per call over x402 or MPP at that URL. Lists THIS host's own paid tools only; to find third-party APIs use search_x402_services.

Input parameters:

- `route` (string): optional: one route, e.g. /weather

### `check_email_address` (~161 tokens)

Check email address

Use when you must check an email address before sending, signing up a user or adding a lead: syntax (IDN-aware), MX records with A/AAAA fallback, null MX, and disposable, role (info@, sales@). Returns the exact paid x402 request for your input (GET /v1/email/verify, $0.01 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge. Checks one mailbox; for a list use check_email_batch; for a whole domain (DNS, SPF, DMARC) use domain_report.

Input parameters:

- `email` (string, required): email address to check, e.g. name@example.org

### `sanctions_screening` (~216 tokens)

Sanctions screening

Use when you need to screen a crypto wallet address or a person/company name against the official OFAC SDN sanctions list before paying or trading: exact address match. Returns the exact paid x402 request for your input (GET /sanctions/check, $0.005 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge. OFAC SDN match only. For a broader rule-based risk label use wallet_risk (addresses) or token_risk (tokens); for a list of addresses use sanctions_screening_batch.

Input parameters:

- `address` (string): crypto address to screen (send this or name)
- `limit` (integer): name matches only: max hits
- `min_score` (number): name matches only: lowest similarity score to report
- `name` (string): person or entity name in Latin letters (transliterated), at least one word of 3+ characters (send this or address)

### `sec_filings` (~187 tokens)

SEC filings

Use when you need a US public company's SEC EDGAR filings and key financials by ticker or CIK: latest filings. Returns the exact paid x402 request for your input (GET /sec/filings, $0.008 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge. For several companies at once use sec_filings_batch.

Input parameters:

- `cik` (string): SEC Central Index Key, e.g. 320193 (send this or ticker)
- `form` (string): optional comma list of form types to keep, e.g. 10-K,10-Q,8-K
- `limit` (integer): max filings returned
- `ticker` (string): stock ticker, e.g. AAPL or BRK.B (send this or cik)

### `wallet_balance` (~210 tokens)

Wallet balance

Use when you need a wallet's token balances on several chains in one call: native coin plus USDC, USDT, DAI, WETH, WBTC/cbBTC on Ethereum, Base, Arbitrum and Polygon. Returns the exact paid x402 request for your input (GET /wallet/balance, $0.003 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge. One wallet across several chains. For one token on one chain use evm_erc20_balance; for the native coin on one chain use evm_native_balance; for many wallets use wallet_balance_batch.

Input parameters:

- `address` (string, required): 0x address or ENS name (lowercase a-z, 0-9, hyphen)
- `chains` (string): comma list of ethereum, base, arbitrum, polygon (default: all EVM chains for a 0x address)

### `domain_report` (~176 tokens)

Domain report

Use when you need one report on a domain: DNS records (A, AAAA, MX, NS, TXT, CAA) with SPF and DMARC parsed, RDAP registration for .com, .net and .org (registrar, dates, status, nameservers, DNSSEC). Returns the exact paid x402 request for your input (GET /domain/report, $0.005 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge. For several domains use domain_report_batch; for a single mailbox use check_email_address.

Input parameters:

- `domain` (string, required): domain name, e.g. example.com (a URL is accepted; only its host is used). IP addresses and private or local names are refused

### `url_uptime_ping` (~169 tokens)

URL uptime ping

Use when you need to know if a URL is up right now (uptime ping, health check, link check): one HEAD request from a Cloudflare edge (GET if HEAD answers 4xx/5xx), redirects followed up to 4. Returns the exact paid x402 request for your input (GET /v1/uptime/ping, $0.01 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge. For several URLs use url_uptime_ping_batch.

Input parameters:

- `url` (string, required): public http or https URL to check, e.g. https://example.com/ (ports 80, 443, 8080, 8443)

### `check_email_batch` (~137 tokens)

Check email batch

Use when you must check a list of email addresses before a mailing or import: up to 25 addresses in one POST, each checked exactly like /v1/email/verify. Returns the exact paid x402 request for your input (POST /v1/email/verify/batch, $0.25 per call), with the response schema and an example; POST that JSON body to the URL with an x402 or MPP client to get the data. Bad input is refused before any charge. For one address use check_email_address.

Input parameters:

- `emails` (array, required): 1 to 25 email addresses to check; duplicates are removed

### `sanctions_screening_batch` (~161 tokens)

Sanctions screening batch

Use when you need to screen a list of wallet addresses against the official OFAC SDN list in one call: up to 25 per POST (0x, BTC, TRX, SOL and others as OFAC lists them). Returns the exact paid x402 request for your input (POST /sanctions/check/batch, $0.125 per call), with the response schema and an example; POST that JSON body to the URL with an x402 or MPP client to get the data. Bad input is refused before any charge. For one address or a name use sanctions_screening.

Input parameters:

- `addresses` (array, required): 1 to 25 crypto addresses to screen (as written on their chains); duplicates are removed; names are not accepted

### `wallet_risk` (~176 tokens)

Wallet risk

Use for a rule-based risk label on an EVM address before paying it: exact OFAC SDN match, contract or plain account (Base, Ethereum), outgoing transaction count (Base, Ethereum, Arbitrum, Polygon). Returns the exact paid x402 request for your input (GET /wallet/risk, $0.01 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge. For an ERC-20 token use token_risk; for an OFAC-only check of many addresses use sanctions_screening_batch.

Input parameters:

- `address` (string, required): EVM address (0x + 40 hex); ENS names are not resolved here
- `request_key` (string): Idempotency key, echoed back

### `token_risk` (~172 tokens)

Token risk

Use for a rule-based risk label on an ERC-20 token before you accept or route it: OFAC SDN match of the token, owner and proxy admin; upgradeable proxy; owner with mint, pause or blacklist functions. Returns the exact paid x402 request for your input (GET /token/risk, $0.01 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge. For a wallet (not a token contract) use wallet_risk.

Input parameters:

- `address` (string, required): Token contract address (0x + 40 hex)
- `chain` (string): Chain of the token; default base
- `request_key` (string): Idempotency key, echoed back

### `best_service_for_task` (~136 tokens)

Best service for task

Use when a router agent must pick which paid x402 service to send a task to: send the task in plain words. Returns the exact paid x402 request for your input (GET /route, $0.01 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge. Returns a recommendation for one task; to browse or compare services use search_x402_services.

Input parameters:

- `task` (string, required): the task in plain words, e.g. 'screen a wallet address for sanctions' (2-200 characters)

### `sec_filings_batch` (~189 tokens)

SEC filings batch

Use when you need recent SEC EDGAR filings for several US public companies at once: up to 10 tickers or CIKs in one POST. Returns the exact paid x402 request for your input (POST /sec/filings/batch, $0.08 per call), with the response schema and an example; POST that JSON body to the URL with an x402 or MPP client to get the data. Bad input is refused before any charge. For one company use sec_filings.

Input parameters:

- `companies` (array, required): 1 to 10 tickers or CIKs; duplicates are removed
- `form` (string): optional, for every company: comma list of form types, e.g. 10-K,10-Q,8-K
- `limit` (string|integer): optional, for every company: filings per form, as in the single call

### `wallet_balance_batch` (~149 tokens)

Wallet balance batch

Use when you need native and stablecoin balances for a list of wallets: up to 25 addresses (0x or ENS names) in one POST. Returns the exact paid x402 request for your input (POST /wallet/balance/batch, $0.075 per call), with the response schema and an example; POST that JSON body to the URL with an x402 or MPP client to get the data. Bad input is refused before any charge. For one wallet use wallet_balance.

Input parameters:

- `addresses` (array, required): 1 to 25 addresses; duplicates are removed
- `chains` (string): optional, for every address: comma list of chains, as in the single call

### `domain_report_batch` (~129 tokens)

Domain report batch

Use when you must vet several domains at once (vendors, leads, lookalikes): up to 10 domains in one POST, each answered exactly like /domain/report. Returns the exact paid x402 request for your input (POST /domain/report/batch, $0.05 per call), with the response schema and an example; POST that JSON body to the URL with an x402 or MPP client to get the data. Bad input is refused before any charge. For one domain use domain_report.

Input parameters:

- `domains` (array, required): 1 to 10 domains; duplicates are removed

### `url_uptime_ping_batch` (~151 tokens)

URL uptime ping batch

Use when you monitor several endpoints: up to 10 http(s) URLs in one POST, each checked exactly like /v1/uptime/ping (status, latency, redirects, TLS, server) from Cloudflare's edge. Returns the exact paid x402 request for your input (POST /v1/uptime/ping/batch, $0.10 per call), with the response schema and an example; POST that JSON body to the URL with an x402 or MPP client to get the data. Bad input is refused before any charge. For one URL use url_uptime_ping.

Input parameters:

- `urls` (array, required): 1 to 10 URLs; duplicates are removed

### `evm_erc20_balance` (~175 tokens)

EVM ERC-20 balance

Use when you need one ERC-20 balance for one wallet: balanceOf, decimals and symbol read in a single multicall on Base, Ethereum, Arbitrum, Polygon or Optimism, with raw units, a decimal amount. Returns the exact paid x402 request for your input (GET /evm/erc20-balance, $0.002 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge. One token on one chain; for several tokens or chains at once use wallet_balance.

Input parameters:

- `address` (string, required): Wallet address (0x + 40 hex)
- `chain` (string): Chain; default base
- `token` (string, required): ERC-20 contract address

### `evm_native_balance` (~158 tokens)

EVM native balance

Use when you need the native coin balance (ETH or POL) of an address on Base, Ethereum, Arbitrum, Polygon or Optimism: wei and a decimal amount from a public node, with the block number and as_of. Returns the exact paid x402 request for your input (GET /evm/native-balance, $0.001 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge. Native coin on one chain only; for stablecoins or several chains use wallet_balance.

Input parameters:

- `address` (string, required): 0x address (40 hex)
- `chain` (string): Chain; default base

### `evm_block` (~136 tokens)

EVM block

Use when you need a block header on Base, Ethereum, Arbitrum, Polygon or Optimism: latest or a given number, with hash, parent, timestamp, miner, gas used/limit. Returns the exact paid x402 request for your input (GET /evm/block, $0.001 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge.

Input parameters:

- `chain` (string): Chain; default base
- `number` (string): Block number (decimal or 0x hex) or latest

### `evm_transaction` (~166 tokens)

EVM transaction

Use when you need a transaction by hash on Base, Ethereum, Arbitrum, Polygon or Optimism: from, to, value, nonce, gas and fee fields, block, confirmations, method id and input (first 1 KB). Returns the exact paid x402 request for your input (GET /evm/tx, $0.002 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge. Returns the transaction itself; to know whether it succeeded (status, gas used, logs) use evm_receipt.

Input parameters:

- `chain` (string): Chain; default base
- `hash` (string, required): Transaction hash (0x + 64 hex)

### `evm_receipt` (~154 tokens)

EVM receipt

Use when you need to know whether a transaction succeeded on Base, Ethereum, Arbitrum, Polygon or Optimism: receipt status, block, confirmations, gas used, effective gas price. Returns the exact paid x402 request for your input (GET /evm/receipt, $0.002 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge. Returns the outcome; for the transaction fields (from, to, value, input) use evm_transaction.

Input parameters:

- `chain` (string): Chain; default base
- `hash` (string, required): Transaction hash (0x + 64 hex)

### `evm_code` (~129 tokens)

EVM code

Use when you must know whether an address is a contract on Base, Ethereum, Arbitrum, Polygon or Optimism: is_contract, bytecode size, sha256 of the bytecode. Returns the exact paid x402 request for your input (GET /evm/code, $0.002 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge.

Input parameters:

- `address` (string, required): 0x address (40 hex)
- `chain` (string): Chain; default base

### `evm_ens` (~154 tokens)

EVM ENS

Use when you need ENS on Ethereum: name to address (name=vitalik.eth, via the Universal Resolver, with resolver address) or address to primary name (address=0x..., reverse record, forward-verified). Returns the exact paid x402 request for your input (GET /evm/ens, $0.002 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge.

Input parameters:

- `address` (string): 0x address for the reverse (primary name) lookup instead of name
- `name` (string): ENS name (lowercase labels), e.g. vitalik.eth

### `evm_nonce` (~132 tokens)

EVM nonce

Use when you need an account's transaction count on Base, Ethereum, Arbitrum, Polygon or Optimism: nonce at the latest block and the pending nonce (queued transactions in the node's pool). Returns the exact paid x402 request for your input (GET /evm/nonce, $0.001 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge.

Input parameters:

- `address` (string, required): 0x address (40 hex)
- `chain` (string): Chain; default base

### `util_uuid` (~133 tokens)

Util UUID

Use when you need fresh UUIDs: n (1-100) random v4 or time-sortable v7 identifiers, generated on Cloudflare's edge with crypto randomness, no external call, under 100 ms. Returns the exact paid x402 request for your input (GET /util/uuid, $0.001 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge.

Input parameters:

- `n` (integer): How many
- `version` (integer): 4 random, 7 time-sortable

### `util_hash` (~165 tokens)

Util hash

Use when you need a checksum or digest of a string: sha256 (default), sha1, sha384, sha512 and md5 of text given as utf8, hex or base64 (up to 64 KB), hex digests, no external call. Returns the exact paid x402 request for your input (GET /util/hash, $0.001 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge.

Input parameters:

- `algo` (string): Comma list of sha256, sha1, sha384, sha512, md5 or all
- `encoding` (string): How text is encoded
- `text` (string, required): Input to hash

### `util_ip` (~93 tokens)

Util IP

Use when an agent needs to know how it is seen from outside: its public IP plus the country, region, city, ASN, AS organization. Returns the exact paid x402 request for your input (GET /util/ip, $0.001 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge.

### `util_jwt_decode` (~117 tokens)

Util JWT decode

Use when you need to inspect a JWT without a key: decoded header and payload, alg, kid, iat/nbf/exp as ISO times and whether it is expired now. Returns the exact paid x402 request for your input (GET /util/jwt-decode, $0.001 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge.

Input parameters:

- `token` (string, required): JWT header.payload.signature

### `util_json_validate` (~128 tokens)

Util JSON validate

Use when you must check that a JSON document fits a schema before acting on it: validates json against a JSON Schema subset. Returns the exact paid x402 request for your input (GET /util/json-validate, $0.001 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge.

Input parameters:

- `json` (string, required): The document (JSON text; an object in a POST body is accepted too)
- `schema` (string, required): JSON Schema (subset) as JSON text

### `util_base64` (~158 tokens)

Util base64

Use when you need base64 in or out: encode UTF-8 text to base64 (standard or url_safe) or decode base64 back to text (hex when the bytes are not UTF-8), up to 64 KB, no external call. Returns the exact paid x402 request for your input (GET /util/base64, $0.001 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge.

Input parameters:

- `action` (string): encode or decode
- `input` (string, required): Text to encode, or base64 to decode
- `url_safe` (boolean): Use the url-safe alphabet without padding

### `kv_put` (~172 tokens)

KV put

Use when an agent needs memory between runs without an account: store value (text or JSON, up to 8 KB) under key in a private namespace keyed to the wallet that pays. Returns the exact paid x402 request for your input (POST /kv/put, $0.001 per call), with the response schema and an example; POST that JSON body to the URL with an x402 or MPP client to get the data. Bad input is refused before any charge.

Input parameters:

- `key` (string, required): Key, 1-128 characters from A-Z a-z 0-9 . _ : / -
- `ttl` (integer): Seconds to keep the key
- `value` (string|object|array|number|boolean, required): Text, or JSON stored as text (max 8 KB)

### `kv_get` (~122 tokens)

KV get

Use when an agent needs a value it stored earlier with /kv/put: returns the text (and parsed json when it was stored as JSON), size. Returns the exact paid x402 request for your input (GET /kv/get, $0.001 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge.

Input parameters:

- `key` (string, required): Key, 1-128 characters from A-Z a-z 0-9 . _ : / -

### `kv_list` (~137 tokens)

KV list

Use when an agent needs to see what it has stored: lists up to 100 keys (optionally under prefix) in the namespace of the paying wallet with size, stored_at and expires_at. Returns the exact paid x402 request for your input (GET /kv/list, $0.001 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge.

Input parameters:

- `cursor` (string): cursor from the previous page
- `limit` (integer): Keys per page
- `prefix` (string): Only keys starting with this

### `news_latest` (~144 tokens)

News latest

Use when an agent needs the latest crypto or AI headlines: up to 50 English articles from the last 1-168 hours for a topic. Returns the exact paid x402 request for your input (GET /news/latest, $0.002 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge.

Input parameters:

- `hours` (integer): Look-back window in hours
- `limit` (integer): Articles to return
- `q` (string): Your own keyword or phrase instead of topic
- `topic` (string): Topic; ignored when q is given

### `x402_test_purchase` (~152 tokens)

x402 test purchase

Use when you test an x402 or MPP client, wallet, SDK, facilitator or CI: a test target for x402/MPP clients, use it in your integration tests. Returns the exact paid x402 request for your input (GET /x402/test, $0.001 per call), with the response schema and an example; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge.

Input parameters:

- `dry` (boolean): dry=1: free list of every accepted rail, nothing charged
- `msg` (string): Any text; echoed back in echo.query. Any other query parameter or a POST body (hashed) works too

### `buy_lead_list` (~204 tokens)

Buy lead list

Verified B2B contact list, 200 contacts: buy it in one x402 payment, $390 (USDC or USDT). Returns the exact paid x402 request for your input (POST /buy/leads, $390 in one payment), with the response schema and an example; POST that JSON body to the URL with an x402 or MPP client to get the data. Bad input is refused before any charge. A free check first: POST the same body to /buy/leads/check (email required). 200 contacts. Payable with x402 or MPP.

Input parameters:

- `countries` (array): optional ISO codes, e.g. DE
- `email` (string): optional: where to send the files too; without it they are on the order status page
- `exclude_domains` (array)
- `keywords` (array, required)
- `profile` (string, required): who your customers are
- `regions` (array): default Any

### `buy_market_report` (~192 tokens)

Buy market report

Agent-economy market report: buy it in one x402 payment, $390 (USDC or USDT). Returns the exact paid x402 request for your input (POST /buy/market-report, $390 in one payment), with the response schema and an example; POST that JSON body to the URL with an x402 or MPP client to get the data. Bad input is refused before any charge. A free check first: POST the same body to /buy/market-report/check (email required). Payable with x402 or MPP.

Input parameters:

- `category_keywords` (array, required)
- `company` (string, required)
- `competitors` (array)
- `domain` (string, required): your host, e.g. api.example.com
- `email` (string): optional: where to send the files too; without it they are on the order status page
- `questions` (array)

### `buy_discovery_listing` (~164 tokens)

Buy discovery listing

Agent discovery listing: buy it in one x402 payment, $290 (USDC or USDT). Returns the exact paid x402 request for your input (POST /buy/listing, $290 in one payment), with the response schema and an example; POST that JSON body to the URL with an x402 or MPP client to get the data. Bad input is refused before any charge. A free check first: POST the same body to /buy/listing/check (email required). Payable with x402 or MPP.

Input parameters:

- `contact_name` (string): optional, for the generated files
- `email` (string): optional: where to send the files too; without it they are on the order status page
- `urls` (array, required)

### `buy_brandwatch` (~185 tokens)

Buy brandwatch

Lookalike-domain alerts, yearly: buy it in one x402 payment, $990 (USDC or USDT). Returns the exact paid x402 request for your input (POST /buy/brandwatch, $990 in one payment), with the response schema and an example; POST that JSON body to the URL with an x402 or MPP client to get the data. Bad input is refused before any charge. A free check first: POST the same body to /buy/brandwatch/check (email required). Yearly plan; for one month use buy_brandwatch_monthly. Payable with x402 or MPP.

Input parameters:

- `contracts` (array)
- `domain` (string, required): your project's domain, e.g. yourbrand.com
- `email` (string, required): required: the weekly digests are emailed here (and shown on the order status page)

### `buy_brandwatch_monthly` (~188 tokens)

Buy brandwatch monthly

Lookalike-domain alerts, monthly: buy it in one x402 payment, $99 (USDC or USDT). Returns the exact paid x402 request for your input (POST /buy/brandwatch-monthly, $99 in one payment), with the response schema and an example; POST that JSON body to the URL with an x402 or MPP client to get the data. Bad input is refused before any charge. A free check first: POST the same body to /buy/brandwatch-monthly/check (email required). One month; for a year use buy_brandwatch. Payable with x402 or MPP.

Input parameters:

- `contracts` (array)
- `domain` (string, required): your project's domain, e.g. yourbrand.com
- `email` (string, required): required: the weekly digests are emailed here (and shown on the order status page)

### `buy_dao_report` (~207 tokens)

Buy DAO report

DAO treasury report, monthly: buy it in one x402 payment, $99 (USDC or USDT). Returns the exact paid x402 request for your input (POST /buy/dao-report, $99 in one payment), with the response schema and an example; POST that JSON body to the URL with an x402 or MPP client to get the data. Bad input is refused before any charge. A free check first: POST the same body to /buy/dao-report/check (email required). Monthly plan; for a year use buy_dao_report_yearly. Payable with x402 or MPP.

Input parameters:

- `address` (string): optional treasury address if you have no Snapshot space
- `chain` (string): chain of the treasury address
- `email` (string): optional: where to send the files too; without it they are on the order status page
- `space` (string): your Snapshot space id, e.g. yourdao.eth

### `buy_dao_report_yearly` (~212 tokens)

Buy DAO report yearly

DAO treasury report, yearly: buy it in one x402 payment, $990 (USDC or USDT). Returns the exact paid x402 request for your input (POST /buy/dao-report-yearly, $990 in one payment), with the response schema and an example; POST that JSON body to the URL with an x402 or MPP client to get the data. Bad input is refused before any charge. A free check first: POST the same body to /buy/dao-report-yearly/check (email required). Yearly plan; for one month use buy_dao_report. Payable with x402 or MPP.

Input parameters:

- `address` (string): optional treasury address if you have no Snapshot space
- `chain` (string): chain of the treasury address
- `email` (string): optional: where to send the files too; without it they are on the order status page
- `space` (string): your Snapshot space id, e.g. yourdao.eth

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/dev-workers-x402-bazaar-rank-worker-x402-bazaar-rank-x402-bazaar-rank/x402-bazaar-rank#diagnostics

## Score history

- 2026-10-22: 68
- 2026-10-21: 67
- 2026-10-20: 67
- 2026-10-19: 59
- 2026-10-18: 59
- 2026-10-17: 59
- 2026-10-16: 59
- 2026-10-15: 59
- 2026-10-14: 58
- 2026-10-13: 58

## Common questions

### What is the P0 Agent Economy Index MCP server?

P0 Agent Economy Index is an MCP server listed in the public MCP registry as dev.workers.x402-bazaar-rank-worker.x402-bazaar-rank/x402-b…. Paid APIs agents really pay for (x402 index) + SEC filings, wallet risk, OFAC, EVM reads, news, DNS. This page covers its hosted endpoint (https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/mcp?via=mcp-registry).

### Is the P0 Agent Economy Index MCP server safe to use?

P0 Agent Economy Index scores 68 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the P0 Agent Economy Index MCP server expose?

P0 Agent Economy Index exposes 45 tools: search_x402_services, x402_market_stats, tip_p0, list_paid_data_products, check_email_address, and 40 more. Their descriptions and schemas cost roughly 7,105 tokens of context every time the server is loaded.

### Does the P0 Agent Economy Index MCP server require authentication?

No. We connected to P0 Agent Economy Index without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the P0 Agent Economy Index MCP server still maintained?

P0 Agent Economy Index is still listed as active in the MCP registry. We last reached this channel on 22 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/mcp?via=mcp-registry
- Website: https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/join
- Changelog RSS feed: https://verifymcp.io/servers/dev-workers-x402-bazaar-rank-worker-x402-bazaar-rank-x402-bazaar-rank/x402-bazaar-rank.xml
- Changelog JSON feed: https://verifymcp.io/servers/dev-workers-x402-bazaar-rank-worker-x402-bazaar-rank-x402-bazaar-rank/x402-bazaar-rank.json
- HTML version of this page: https://verifymcp.io/servers/dev-workers-x402-bazaar-rank-worker-x402-bazaar-rank-x402-bazaar-rank/x402-bazaar-rank
