Skip to main content
A paywall is where the money happens. It protects one route: price in USDC, methods, path — Proceeds generates the public payment URLs.

Before you start

  • An existing service
  • For the API path: an API key with paywalls:write

Using the dashboard

1

Open the service

On Paywalls, expand the service and click New Paywall.
2

Fill in the form

3

Save & Activate

Copy the payment URLs:
Use clear slugs and descriptions — they show up in transactions, events, and agent guidance.

Using the API

In the API, price is USDC in smallest units (6 decimals) as a string. "50000" = $0.05. That field is Exact pricing. Set Tiered prices in the dashboard.
Full reference: Create a paywall (API).

Verify the challenge

You should get 402 Payment Required. x402 v2 puts terms in the PAYMENT-REQUIRED header. Older tutorials use X-PAYMENT — that is v1.

Next

Test paywalls

Run Test Payment in the console. First 200, no mainnet USDC.