{"data":{"slug":"badhttp","name":"badhttp","description":"A test server for x402 client implementations: the payment IS the scenario under test, not a toll on data. /402/pay/base is a real, settling x402 paywall (0.01 USDC on Base by default, ?amount= 0.001-1.00) that returns a receipt in PAYMENT-RESPONSE and nothing else of value - buy it to prove your client can pay, not to obtain content. Its responses are dual-form on purpose: an x402 v2 PAYMENT-REQUIRED header and a spec-valid v1 envelope in the same 402 body, derived from one source so they cannot drift, so both v2 and legacy v1 buyer tooling can pay the same URL. Around it sit ~19 deliberately misbehaving payment scenarios that never settle and never contact a facilitator - a 402 that ignores every valid payment, one that asks for 1,000,000 USDC, one naming a nonexistent chain, one returning a corrupt receipt, and ten malformed 402 envelopes - so you can test what your client does when a paywall is broken or hostile. Also a free, no-signup catalogue of ~140 other HTTP edge cases (content codings, ranges, conditional requests, cookies, auth challenges, SSE) as machine-readable NDJSON at /corpus.jsonl. Stateless, no signup, nothing stored about callers. Costs and revenue are published on-chain-reconciled at /books.","base_url":"https://badhttp.dev","website_url":"https://badhttp.dev","category":"Verification","endpoint_count":3,"min_price_usd":0.01,"uptime_24h":null,"source":"submitted","status":"online","verified":false,"verified_until":null,"payment_ready":true,"payment_ready_until":"2026-10-30T23:51:21.556Z","last_success_at":"2026-10-23T23:51:21.556Z","consecutive_failures":0,"check_interval_minutes":15,"last_checked_at":"2026-10-23T23:51:21.556Z","created_at":"2026-09-08T07:19:06.555Z","uptime":{"24h":null,"7d":100,"30d":100,"90d":100,"coverage":{"24h":{"daysCovered":0,"checkCount":0},"7d":{"daysCovered":6,"checkCount":528},"30d":{"daysCovered":29,"checkCount":2594},"90d":{"daysCovered":46,"checkCount":4096}}},"avg_response_time_ms":269,"total_checks":2766,"networks":["BSE","BSP"],"networks_caip2":["eip155:8453","eip155:84532"],"asset":"USDC","endpoints":[{"id":"5d442dab-3eea-4cb1-9412-a05d957d3fb2","method":"GET","path":"/402/pay","description":"badhttp /402/pay: a real x402 v2 paywall for testing clients. Pay 0.01 USDC on Base Sepolia (testnet) and get a 200 with a PAYMENT-RESPONSE receipt and the transaction hash. Nothing else is sold; sibling endpoints under /402 misbehave on purpose. Test USDC; /402/pay/base is the same paywall for real USDC on Base mainnet.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-09-08T07:19:06.555Z","last_seen_at":"2026-10-23T23:51:21.542Z","variable_amount":false,"min_price_usd":null,"networks":["BSP"],"pricing":[{"scheme":"exact","network":"eip155:84532","network_caip2":"eip155:84532","asset_address":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","asset_address_norm":"0x036cbd53842c5426634e7929541ec2318f3dcf7e","asset_name":"USDC","price":"10000","price_usd":null,"pay_to":"0x2b14ad50d63c7fee5a33847f95153ac37a690170","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"290cb011-ab70-4351-ad17-ec06da3b8b09","method":"GET","path":"/402/pay/base","description":"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.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-09-08T07:19:06.555Z","last_seen_at":"2026-10-23T23:51:21.523Z","variable_amount":false,"min_price_usd":0.01,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"10000","price_usd":"0.0100000000","pay_to":"0x2b14ad50d63c7fee5a33847f95153ac37a690170","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"5c49a851-a5f2-4ab9-b978-b5517fc610a8","method":"GET","path":"/402/pay/base-sepolia","description":"badhttp /402/pay: a real x402 v2 paywall for testing clients. Pay 0.01 USDC on Base Sepolia (testnet) and get a 200 with a PAYMENT-RESPONSE receipt and the transaction hash. Nothing else is sold; sibling endpoints under /402 misbehave on purpose. Test USDC; /402/pay/base is the same paywall for real USDC on Base mainnet.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-09-08T07:19:06.555Z","last_seen_at":"2026-10-23T23:51:21.533Z","variable_amount":false,"min_price_usd":null,"networks":["BSP"],"pricing":[{"scheme":"exact","network":"eip155:84532","network_caip2":"eip155:84532","asset_address":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","asset_address_norm":"0x036cbd53842c5426634e7929541ec2318f3dcf7e","asset_name":"USDC","price":"10000","price_usd":null,"pay_to":"0x2b14ad50d63c7fee5a33847f95153ac37a690170","max_timeout_seconds":300}],"pay_to_divergence":null}],"pay_to_changes":[],"assessment":{"updated_at":"2026-10-23T18:53:02.903Z","input_hash":"06787def279a9d2bd65dbea9fb0b720391072e0326846746ebf7f6ee67e507df","model_id":null,"prompt_version":null,"reliability":{"uptime":{"24h":100,"7d":100,"30d":100,"90d":100},"response_p95_ms":333,"avg_response_ms":270,"last_checked_at":"2026-10-23T18:42:23.610Z","consecutive_failures":0,"total_checks":2747},"compliance":{"grade":"A","passed":14,"total":14,"checks":[{"id":"payload_captured","label":"402 payload captured","pass":true},{"id":"accepts_present","label":"accepts[] array present","pass":true},{"id":"payto_recoverable","label":"payTo address recoverable","pass":true},{"id":"payto_conformant","label":"payTo at accepts[0].payTo (conformant shape)","pass":true},{"id":"payto_shape","label":"payTo is a valid on-chain address","pass":true},{"id":"price_present","label":"atomic price declared","pass":true},{"id":"price_sane","label":"atomic price in a sane range","pass":true},{"id":"asset_declared","label":"asset (token) address declared","pass":true},{"id":"network_caip2","label":"network resolves to CAIP-2","pass":true},{"id":"scheme_declared","label":"payment scheme declared","pass":true},{"id":"transport_https","label":"served over HTTPS","pass":true},{"id":"x402_version_current","label":"declares the current x402 version (2)","pass":true},{"id":"eip712_domain_extra","label":"EIP-712 domain parameters present on every EVM entry","pass":true},{"id":"version_channel_coherent","label":"x402 v2 envelope delivered in the payment-required header","pass":true}],"pay_to_source":"payTo","pay_to_location":"accept","staleness":{"probe_failing":false,"last_success_at":"2026-10-23T23:51:21.556Z","envelope_captured_at":"2026-09-08T07:21:00.848Z"}},"site":{"homepage":true,"openapi":true,"pricing":false,"llms_txt":false,"robots":true,"terms":false,"checked_at":"2026-10-23T12:43:02.907Z"},"domain":{"age_days":59,"registrar":"Porkbun LLC","free_host":false,"created_date":"2026-08-23T05:27:07.235Z","checked_at":"2026-10-21T11:23:07.513Z"},"economics":{"price_usd":0.01,"price_atomic":"10000","model":"flat","category_percentile":45,"stability":1,"price_max_usd":0.01,"category_percentile_max":21,"endpoint_count":3,"distinct_price_count":1},"risk":{"level":"clean","flags":[]},"synthesis":null,"traction":{"status":"measured","volume_usd_30d":0.06,"tx_count_30d":6,"unique_buyers_30d":4,"last_settlement_at":"2026-10-15T15:18:27Z","top_buyer_share_30d":0.5,"top_3_buyers_share_30d":0.8333333333333334,"concentrated_volume":false,"trend_7d_vs_30d":0,"shared_payout":false,"shared_with":0,"measured_networks":["eip155:8453"],"first_settlement_at":"2026-10-05T02:48:55Z","volume_usd_all_time":0.06,"tx_count_all_time":6,"median_settlement_usd_30d":0.01,"max_settlement_usd_30d":0.01,"settled_via":["coinbase","payAI"],"settled_via_detail":[{"id":"coinbase","volume_usd_30d":0.05,"tx_count_30d":5},{"id":"payAI","volume_usd_30d":0.01,"tx_count_30d":1}],"shared_with_services":[],"pro_quota_share":1,"caveat":"Conservative undercount: only USDC settlements via facilitators we measure are counted. A measured floor, not an estimate.","all_time_caveat":"All-time is floored at the start of our harvest window, not the service full history."}}},"provenance":{"license":"CC-BY-4.0","attribution_required":true,"attribution":"Data: x402-list.com (CC BY 4.0)","cite_as":"https://x402-list.com/services/badhttp","source":"https://x402-list.com"}}