PayAPI Market

Search settlement-verified x402 APIs for free. Pay providers in USDC on Base, Solana or Algorand.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
94%
Naming quality
100%
Poisoning risk
80%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainin get_api

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,446Tokens (tool definitions)
~2.7 KBTypical response size
Moderate attention impact (1.13% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "marketplace": {
      "url": "https://payapi.market/mcp"
    }
  }
}

Remote endpoints

https://payapi.market/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_apis(query, verified_only, limit, network)

Free-text search across the live catalogue. Matches listing name, description, category and provider name. Returns settlement-verified listings only unless verified_only is false. Free and read-only; spends nothing.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "What you are looking for, e.g. \"uk property\" or \"sanctions screening\"."
    },
    "verified_only": {
      "type": "boolean",
      "default": true,
      "description": "Restrict to settlement-verified listings. Default true."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    },
    "network": {
      "type": "string",
      "description": "Only listings that accept USDC on this network: base, solana, algorand, or a CAIP-2 id. Omit for all. Each listing reports its rails in `networks`."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
🟢list_apis(category, verified_only, limit, network)

Browse the live catalogue, optionally filtered to one category. Omit category for everything. Returns settlement-verified listings only unless verified_only is false. Free and read-only; spends nothing.

Input Schema

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "description": "Exact category name. Call with no category first to see the valid values."
    },
    "verified_only": {
      "type": "boolean",
      "default": true
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 50
    },
    "network": {
      "type": "string",
      "description": "Only listings that accept USDC on this network: base, solana, algorand, or a CAIP-2 id. Omit for all. Each listing reports its rails in `networks`."
    }
  },
  "additionalProperties": false
}
🟢get_api(id)

Fetch a single live listing by its id or slug, including base_url, price range, network and verification state. payment_verified is true if at least one route was paid; verified_routes names each paid route with its on-chain receipt. Also returns a reliability object: score (0 to 100 or null), band (strong, established, thin, caution or unscored) and computed_at. Reliability is a running score from paid verifications, health history and payTo integrity, not a star rating and not a guarantee; unscored means it has not been computed for that listing yet. Method: https://payapi.market/how-an-agent-finds-payapi. Returns the listing whether or not it is verified, and reports payment_verified honestly. Free and read-only; spends nothing.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Listing uuid or slug, as returned by search_apis or list_apis."
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}
🟡submit_listing(name, description, base_url, paid_route_url, method, ...)

Submit a new API listing to PayAPI Market. The listing will be validated, preflighted, and placed in pending review. NEVER sets payment_verified or makes the listing live. PayAPI Market will test it with a real paid call (up to $0.10 USDC on Base). sample_input is required: a query string for GET, or a JSON body for POST. We test the listing with that example request before it can be badged settlement-verified. If the test succeeds, the listing receives a settlement-verified badge and appears in the marketplace. Rate limited: max 10 submissions per hour per wallet and per contact email, 50 per day per IP and per payTo address. If this wallet already submitted this API, the result is the existing listing id and the message "This API has already been submitted." No second row is created.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "API name"
    },
    "description": {
      "type": "string",
      "description": "API description"
    },
    "base_url": {
      "type": "string",
      "description": "Base URL of the API (http(s) only, no localhost/tunnels)"
    },
    "paid_route_url": {
      "type": "string",
      "description": "The exact route that requires x402 payment (http(s) only)"
    },
    "method": {
      "type": "string",
      "enum": [
        "GET",
        "POST"
      ],
      "description": "How we call the paid route. GET uses sample_input as a query string. POST uses it as a JSON body."
    },
    "price": {
      "type": "number",
      "description": "Price per request in USDC"
    },
    "networks": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "base",
          "solana",
          "algorand"
        ]
      },
      "description": "Networks this API accepts (e.g. [\"base\"], [\"base\", \"solana\"])"
    },
    "payTo": {
      "type": "string",
      "description": "Wallet address that receives payments (Base: 0x... address, Solana: base58 address)"
    },
    "contact_email": {
      "type": "string",
      "description": "Contact email for the provider"
    },
    "category": {
      "type": "string",
      "enum": [
        "Data",
        "Verification",
        "Intelligence",
        "Tools",
        "Finance"
      ],
      "description": "API category"
    },
    "sample_input": {
      "type": "string",
      "description": "Required example request. A query string for GET (city=London) or a JSON body for POST ({\"city\":\"London\"}). Placeholders are rejected."
    },
    "sample_url": {
      "type": "string",
      "description": "Optional free sample or health URL. Called unpaid, before any paid check."
    },
    "example_expected_output": {
      "type": "string",
      "description": "Optional JSON shape or short sample the free check compares against."
    },
    "input_param_to_vary": {
      "type": "string",
      "description": "Optional parameter name to change between two free sample calls, for example city."
    },
    "settles_after_success": {
      "type": "boolean",
      "description": "Confirm the paid route settles only after a successful response. Required only when the server switch is on."
    },
    "mcp_endpoint": {
      "type": "string",
      "description": "Optional: MCP endpoint URL if this is an MCP server"
    },
    "provider_name": {
      "type": "string",
      "description": "Optional: provider/company name (defaults to API name)"
    },
    "network": {
      "type": "string",
      "description": "Only listings that accept USDC on this network: base, solana, algorand, or a CAIP-2 id. Omit for all. Each listing reports its rails in `networks`."
    }
  },
  "required": [
    "name",
    "description",
    "paid_route_url",
    "price",
    "payTo",
    "contact_email",
    "category",
    "sample_input"
  ],
  "additionalProperties": false
}

Recommended Prompts

search_research
Search for information about [topic] using PayAPI Market
Expected tools: search_apis
find_specific
Find [specific item] using PayAPI Market
Expected tools: search_apis
retrieve_data
Get details about [item] from PayAPI Market
Expected tools: get_api
fetch_info
Fetch [information type] using PayAPI Market
Expected tools: get_api
list_items
List all [items] available in PayAPI Market
Expected tools: list_apis

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools