Use case

Launch a waitlist page in minutes.

A waitlist page built as a supported Next.js app can be collecting signups on a production URL within minutes. One command from the project directory publishes it; hosting is prepaid in USDC at $0.20 per project-day, with no account, no credit card, and no dashboard.

The command

From the waitlist project root, run:

$ npx x402-hosting@latest deploy --days 30

The CLI builds locally with OpenNext before any payment, so a broken page costs nothing. On success, the API answers with an HTTP 402 payment challenge — the authoritative quote — and the wallet pays $0.01 for the upload plus $0.20 per project-day. Thirty days of validation costs $6.01 in total.

deploy request402 payment challengeUSDC pays via x402site live
The x402 protocol turns a hosting invoice into an HTTP challenge a wallet can sign.

The signup form runs in production

The email capture form works through a Next.js route handler. Each active project includes its static assets, 100,000 dynamic requests, and 15 million CPU milliseconds, so form submissions, confirmation emails, and a small admin endpoint all run on the same deployment. Supported Next.js versions are 15.5.21 up to (but not including) 16, and 16.2.11 and later.

Validate before you build

  • One command from the project directory to a live URL
  • Iterate on copy and design with $0.01 redeploys
  • Free status reads to check signups-period expiry
  • Renew at $0.20 per project-day if demand shows up
  • No subscription: nothing to cancel if the idea fails

The point of a waitlist is a cheap answer to an expensive question. Prepaid hosting keeps the cost of that answer at $6.01 for a month, with the exact arithmetic on the pricing page.

Prepaid means nothing to cancel later

There is no stored card and no automatic renewal. When the prepaid days end, the waitlist page expires; a 30-day grace window still allows renewal at the same URL if signups arrive late. If the idea does not validate, the hosting simply ends — no plan to downgrade, no support ticket, no retention flow.

The wallet owns the waitlist

The wallet that pays the first upload owns the project, and x402-hosting.json in the project root records the URL, project id, owner wallet, and expiry. Keep it with the repo: every redeploy and renewal reads it, and every paid mutation settles from the same wallet.

Related guides