smidgen

Live demos

Prove HTTP 402 on your stack

Humans pay in the browser. Bots and agents hit the same URL and get a payment challenge — then unlock after USDC settle.

Bot proof — expect HTTP 402

No browser headers. Paste this against Next.js (hard lock), then open the same link in a browser to pay as a human.

curl (bot / agent)

curl -i "https://next-demo.smidgen.io/premium/locked"

Origin server guides — keep your URLs; adapters call the gate. Start for free →

Static HTML

Fixture blog — snippet paywall (browser only)

Live

Open premium article → pay with wallet

Snippet-only — no bot 402 without nginx

Publisher URL (200 without adapter)

curl -i "https://demo.smidgen.io/articles/premium-post.html"
About this demo
  1. Hosted at demo.smidgen.io — snippet blur for humans.
  2. This URL does not return HTTP 402 to bots — add nginx/adapter for that.
  3. Pay with MetaMask (Base) or Phantom (Solana) — mainnet USDC.

Next.js (easy lock)

@smidgen/next middleware + snippet blur

Live

Open /premium/article → snippet paywall

curl your URL → middleware → 402

Test your URL

curl -i "https://next-demo.smidgen.io/premium/article"
About this demo
  1. Hosted at next-demo.smidgen.io — middleware + snippet.
  2. curl the Next demo URL to see HTTP 402 for bots.

Next.js (hard lock)

Teaser HTML only until paid — no full body in source

Live

Open /premium/locked → pay → full article

curl → 402; View Source shows teaser only

Test your URL

curl -i "https://next-demo.smidgen.io/premium/locked"
About this demo
  1. Same Next demo host — hard lock at /premium/locked.
  2. Unpaid responses omit the article body; paid sessions get the full page.
  3. See docs/publisher-enforcement.md for the portable contract.

WordPress

Editor paywall + content withhold + bot HTTP 402

Live

Browse /premium-demo/ → wallet checkout

curl your post URL → HTTP 402

Test your URL

curl.exe -i "https://smidgen-demo.com/premium-demo/"
About this demo
  1. Hosted WordPress demo — see integrations/wordpress
  2. View Source unpaid shows teaser only (hard lock).
  3. curl the post URL (not the smidgen gate) to see HTTP 402.

Cloudflare Worker

Optional edge proxy — not hosted; prefer origin adapters

Coming soon

Humans use origin + snippet

Worker proxy (advanced) → 402

What's coming
  1. No public edge.smidgen.io demo yet — origin adapters are the recommended path.
  2. For local: npm run edge:dev # http://localhost:8787
  3. Deploy workers/edge to Cloudflare only if you need the optional proxy.

AI agent / bot

Same publisher URL — HTTP 402, then payment-signature

Live

N/A — headless clients only

curl → 402 → retry with payment-signature → content

Agent / bot request (expect HTTP 402)

curl -i "https://next-demo.smidgen.io/premium/locked"
About this demo
  1. Request the publisher URL without browser Sec-Fetch headers.
  2. Parse payment-required / accepts[] from the 402 JSON.
  3. Sign an x402 payment and retry with header: payment-signature.
  4. Prefer your own site URL once an adapter is installed (/integrations).