Skip to main content
A custom domain changes the origin of your charge URLs. The path stays the same.
Charge URLs switch to your domain only after it is fully active.

Requirements

  • Your account is on the Pro plan. On Free and Starter, the Custom Domain menu item is disabled and shows an upgrade hint.
  • Each service has at most one custom domain.
  • A hostname can belong to only one service across Proceeds.

Add a domain

1

Open the drawer

On Paywalls, open the service’s overflow menu and choose Custom Domain.
2

Enter a hostname

Use a subdomain you control, such as pay.acme.com, and click Add.
3

Create the DNS records

Add the records shown in the drawer at your DNS provider. The drawer checks again until the domain is ACTIVE.

Configure DNS

Copy record values from the drawer. The recommended target can differ per domain.

Domain status

While the domain is pending, the drawer checks every 15 seconds and whenever you return to the tab. Checking stops at ACTIVE. TLS certificates are issued automatically.

When the domain is active

Copy buttons, integration snippets, and Test Payment switch to https://{hostname}. Nothing else changes: the service and paywall are still identified by the path, and pricing, networks, and settlement behave the same. The legacy /api/x402/pay/... and /api/mpp/pay/... paths also work on your domain.

What the domain serves

Your domain serves only charge URLs: /api/pay/... and the legacy aliases. Every other path returns 404, so the domain never exposes the dashboard, the marketing site, or the rest of the API. Responses on your domain send host-only HSTS with a one-day max age. Proceeds does not apply preload HSTS or other policy to your parent zone.

Hostname rules

Proceeds rejects hostnames that look like platform or discovery hosts:
  • Hostnames ending in myproceeds.xyz, vercel.app, vercel-dns.com, or localhost
  • Hostnames whose first label ends in -x402 or -mpp, such as weather-x402.acme.com

Remove a domain

Open the drawer and click Remove. Proceeds releases the hostname, and charge URLs go back to myproceeds.xyz immediately. Deleting the service also releases its domain.
Agents holding a charge URL on your domain stop reaching Proceeds once the domain is removed. Update shared links first.

Paywalls

Manage services and charge URLs.

Agent guidance

Share charge URLs with agents.

Production checklist

Check everything before mainnet.