MERCHANTS / FOR DEVELOPERSx402 · Base USDC
Put your API
behind a paywall.
Set your payout wallet, price, and route once. Add one line of middleware, then deploy your service.
MERCHANT SETUP GUIDE
Copy the checklist into your agent or developer workspace.
VIEW MERCHANT SKILL.MD ↗01 / INITIALIZEDescribe your
Describe your
paid route.
The setup command creates your config and a private signing key. Never commit the key file.
npx @seedhape/x402-merchant-sdk initEnter your Base payout address. The price and route can be changed later in seedhape.config.json.
02 / ADD ONE LINEMount the
Mount the
paywall.
Install the SDK and Express, then use the middleware generated in your project.
npm install @seedhape/x402-merchant-sdk express
import express from "express";
import { paywall } from "./seedhape.config.mjs";
const app = express();
app.use(paywall); // protects the route and settles payment
app.get("/api/weather", (req, res) => res.json({ temperature: 24 }));03 / DEPLOYKeep keys
Keep keys
on your server.
Set your public HTTPS origin and facilitator URL in the server environment. Store the generated key file as a deployment secret.
Required setup
PUBLIC_ORIGINYour public HTTPS origin, used for signed checkout details.FACILITATOR_URLOptional override for payment verification and settlement..seedhape/merchant-keys.jsonPrivate signing key; keep it out of source control.Key maintenance
keys:rotateActivate a fresh signing key.keys:jwksPrint the public keys for your JWKS endpoint.ERC-7710 configView Seedhape's public facilitator settings ↗DISCOVERYHelp agents
Help agents
find the service.
List your deployed endpoint on Sonar with its price, description, and input details. Discovery helps agents find the service; the paywall still verifies and settles each purchase.