# Paywall-Base — free preview

A paywall that does not need a payment processor: your Cloudflare Worker answers
HTTP 402 with an x402 v2 challenge naming YOUR Base wallet, the keyless facilitator
settles the buyer's signed authorization on-chain, and only then are the bytes served.
A second route lets a buyer who paid by a plain USDC transfer prove it: the Worker reads
the Base receipt itself.

Free sample, from the field notes (FIELD-NOTES.md):

  * The catalog probe only asks for a GET resource answering 402 unpaid with a parseable
    challenge — settlement is not the admission ticket, but every attention function that
    decides buyer exposure IS ranked on settled volume and buyer breadth.
  * EIP-712 domain trap: Base mainnet USDC reports name() "USD Coin" but Base Sepolia
    reports "USDC". A value copied between chains produces a well-formed signature that
    never recovers to the payer; the facilitator answers invalid_exact_evm_signature
    while the 402 body still looks perfectly schema-valid.
  * A paid x402 call whose response is lost can still be attributed: match the EIP-3009
    authorization nonce inside the settlement transaction's calldata, then read
    from/to/amount from the tx.

Buy the kit at /buy (19 USDC on Base).
