Api Endpoint

badhttp

badhttp /402/pay: a real x402 v2 paywall for testing clients. Pay 0.01 USDC on Base mainnet and get a 200 with a PAYMENT-RESPONSE receipt and the transaction hash. Nothing else is sold; sibling endpoints under /402 misbehave on purpose.

Open interactive test console

Offering

Provider
badhttp.dev
Method
GET
Offering type
Api Endpoint
Transport type
http
Category
Blockchain And Crypto
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://badhttp.dev/402/pay/base
MIME type
application/json
First seen
2026-10-16T01:50:19.913Z
Last seen
Tags
testing, HTTP, X402, edge-cases, developer-tools

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.01 USDC
Atomic price: 10000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "10000",
    "payTo": "0x2b14ad50d63c7fee5a33847f95153ac37a690170"
  }
]

Observed health

Status
Healthy
Latest latency
203 ms
Average latency
378 ms
HTTP status
402
Last checked
Reachability
100% over 14 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "http"
    },
    "method": {
      "type": "string",
      "enum": [
        "GET",
        "HEAD",
        "DELETE"
      ]
    },
    "queryParams": {
      "type": "object",
      "properties": {
        "network": {
          "type": "string",
          "enum": [
            "base",
            "base-sepolia"
          ],
          "description": "base-sepolia is test USDC (the default); base is real USDC on Base mainnet"
        },
        "amount": {
          "type": "string",
          "pattern": "^\\d+(\\.\\d{1,6})?$",
          "description": "price in USD, 0.001-1, default 0.01"
        }
      }
    },
    "headers": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "required": [
    "type",
    "method"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "headers": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "method": {
          "enum": [
            "GET",
            "HEAD",
            "DELETE"
          ],
          "type": "string"
        },
        "queryParams": {
          "properties": {
            "amount": {
              "description": "price in USD, 0.001-1, default 0.01",
              "pattern": "^\\d+(\\.\\d{1,6})?$",
              "type": "string"
            },
            "network": {
              "description": "base-sepolia is test USDC (the default); base is real USDC on Base mainnet",
              "enum": [
                "base",
                "base-sepolia"
              ],
              "type": "string"
            }
          },
          "type": "object"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}