Earn USDC from AI agent calls.
Publish any REST endpoint. Get paid per call in USDC. Wallet-only sign-up — no KYC, no account, no email. Take rate 3 % paywall · 4 % proxy. We absorb gas. Choose your payout chain (Base, Polygon, Arbitrum, Optimism, Avalanche, or Solana) — paid in USDC there; cross-chain handled via CCTP. Settlement runs daily at 00:00 UTC, in USDC. A balance ≥ 1 USDC is paid at the next run (within 24h). A balance below 1 USDC carries over and accumulates across days until it reaches 1 USDC, then it's paid.
Three steps. No human review.
No form, no email, no KYC. Sign an EIP-712 message with your wallet (register signature on Base), set payout_chain, drop an upstream URL, set a price. Your endpoint is listed in /v1/_meta in under 10 seconds.
/v1/_seller/register with wallet + slug + EIP-712 signature. Status active on first byte. Slug pattern ^[a-z0-9-]{3,32}$./v1/_seller/<wallet>/endpoints with upstream_url, atomic_price, mode (paywall or proxy). Three regional probes verify HTTP 200 + valid JSON + p95 < 5s.Sign once → get paid forever (full code, TypeScript + viem)
One file, ~90 lines. Save as index.ts, edit the 5 lines marked // TODO change me, run bun add viem && bun run index.ts. The script generates a wallet (or reuses your saved .tools402-seller.pk), registers your slug, publishes your endpoint, prints the live URL. Idempotent — safe to re-run if anything fails.
Both API calls fire within ~50 ms each. The endpoint flips from pending to active as soon as three regional probes return 200 OK with a valid JSON body and p95 latency < 5 s. From bun run to first billable call: typically < 30 seconds. Add .tools402-seller.pk to your .gitignore immediately — that file holds the private key that owns your slug and receives your USDC settlements.
How the 3 health probes work
Right after register, we hit your endpoint from three different regions (US-east, EU-west, AP-south) with a synthetic payload. Pass criteria : HTTP 200 + valid JSON body + total latency p95 < 5s. All 3 must pass within 30 seconds or your endpoint stays in pending.
Paywall vs proxy : which mode
Paywall (3 %) — tools402 returns an Ed25519-signed JWT (60s TTL) to the buyer ; the buyer hits your URL with the JWT in the header ; you verify it with @tools402/client.verifyPaywallJWT(). Lowest take rate. You handle hosting + bandwidth.
Proxy (4 %) — tools402 relays the request through our infra (50 MB body limit, 30s timeout). Higher take rate but zero infra setup for the seller. Useful for static / cheap endpoints or unknown traffic.
Settlement dust threshold and gas
If your daily net is under $1 USDC, the amount carries over and accumulates across days until it reaches 1 USDC, then it's paid in one transfer. Settlement runs daily at 00:00 UTC, in USDC. A balance ≥ 1 USDC is paid at the next run (within 24h). tools402 absorbs the gas cost (~$0.005 per Base transfer, projected ~$750/month at 5 000 sellers).
What if my endpoint goes down
We run a passive monitor on listed endpoints. If your endpoint returns 5xx for > 50 % of probes over 10 minutes, your listing flips to degraded (still callable but flagged). Sustained outage > 1 hour ⇒ suspended until you POST /v1/_seller/<wallet>/resume. No revenue lost during suspension : in-flight settlements still ship.
Already on Stripe? Keep it.
Stripe for human payments. tools402 for agent payments. Same dev, two rails. tools402 is not a Stripe replacement — it's the second rail that lets the same endpoint accept both customer segments. You keep your existing Stripe Connect setup for humans (cards, your KYC, your dashboard) and bolt tools402 on the side for autonomous agents (wallet-only, no KYC, USDC settlement).
We complement Stripe, we don't replace it. Stripe handles your human checkout (KYC, cards, recurring). tools402 handles the agent rail (wire-protocol HTTP 402, USDC on-chain, settlement to your wallet). The seller controls both — we don't custody anything on either side.
One signed URL. Your dashboard, your tools.
No web UI. No login. We give you a signed URL (EIP-712, your wallet) that returns your stats as JSON — pipe it into Grafana, Observable, or just curl | jq.
The dashboard is the data. Pick your visualization. JSON beats lock-in. Pipe it anywhere — Grafana, Observable, Notion, a Google Sheet, your own React app.
3 % paywall. 4 % proxy. Nothing else.
No subscription. No setup fee. No platform fee. No payout fee. The take rate is the only money we make on sell-side. RapidAPI charges 25 % flat off-chain with monthly settlement — we ship 8× cheaper on-chain in 24 h.
Community sell-side is open. Be the first to publish.
No community endpoint has shipped yet. The catalogue is empty by design — community sell-side opened on 2026-05-12 and we don't seed it with fake listings. The first wallet to POST /v1/_seller/register gets the founding-seller slot. Live count is fetched from /v1/_seller/count and shown in the hero stat above.
/v1/<your-slug>/<your-path>No community listings yet · be the first
—
—
Founding-seller slot is open. The catalogue surfaces real wallets and real traffic. We don't seed it. The first published endpoint shows up here as soon as 3 health probes pass.
Open by default. Suspended on abuse.
Permissionless on day one — anyone with a wallet can list. We don't pre-approve. Auto-suspend triggers at 5 community reports in 24 h on the same endpoint (POST /v1/_seller/report). Buyer USDC lands on the buyer's chain; seller payout runs on your declared payout_chain via CCTP when needed. Settlement runs daily at 00:00 UTC, in USDC. A balance ≥ 1 USDC is paid at the next run (within 24h). A balance below 1 USDC carries over and accumulates across days until it reaches 1 USDC, then it's paid.
No KYC. Wallet-only identity. Settlement runs daily at 00:00 UTC, in USDC. A balance ≥ 1 USDC is paid at the next run (within 24h). A balance below 1 USDC carries over until it reaches 1 USDC, then it's paid. Sellers receive USDC on their chosen payout chain — we never hold seller positions beyond the daily settlement window.
Sign once. Get paid forever.
Fund a wallet, sign the EIP-712 register message, set payout_chain, drop your upstream URL. Settlement runs daily at 00:00 UTC, in USDC. A balance ≥ 1 USDC is paid at the next run (within 24h). A balance below 1 USDC carries over until it reaches 1 USDC, then it's paid. Copy-paste HTTP only — see sell-side docs.