Agent payments (x402 / Stripe MPP)
When an AI crawler lands on your oasy.<your-domain> host via the WAF
redirect, there's no OAuth identity (rotating egress IPs, no DCR flow on
a WAF redirect). Per-end-user metering can't work on that path. Instead
PAYWALL articles are gated by agent payments — the agent's wallet
pays per article.
The protocol
MPP — Machine Payments Protocol, an HTTP 402 standard.
- Crawler requests a PAYWALL article on
oasy.<your-domain>. - We return HTTP 402 with a signed MPP challenge in
WWW-Authenticate:WWW-Authenticate: Payment id="chal_…", method="stripe", price="50", currency="usd" - The agent's wallet (Stripe SPT today — ChatGPT, Claude, and any agent
with Stripe Link credentials) pays. - The agent retries with
Authorization: Payment …. - We verify the SPT, serve the article body, and return MPP receipt
headers so the agent can audit what it paid for.
Money flow
We sit in the middle as the merchant of record. Every charge lands in our
platform Stripe account; you don't need a Stripe account at all in v1.
| Knob | Where | Default |
|---|---|---|
| Per-article price | Publisher.defaultArticlePriceCents | 50¢ (SPT minimum) |
| Per-article override | Article.priceUsdCents | null = inherit |
| Platform markup | PLATFORM_MARKUP | 4.7% |
For each charge: agentChargedCents = ceil(publisherOwedCents × 1.047).
Both halves get written to the OasyPayment ledger.
Settlement
Monthly off-platform. We sum OasyPayment.publisherOwedCents per
publisher across the calendar month and pay you out via bank
transfer / Wise. No Stripe Connect required in v1.
We'll switch to Stripe Connect + application_fee_amount once active-
publisher count justifies the onboarding friction (~5+ regular payouts).
What you see in the dashboard
Every successful payment shows up in OasyPayment rows. We're building
a dedicated Revenue page on /mcp — until then, ping support for
a monthly statement.
Pricing recommendation
- Long-form investigations / trade publications —
100–250¢per
article. Agents pay because the cost-per-answer is still cheaper than
a human researcher. - General-interest publications —
50¢(SPT minimum) is a good
starting point. - Free / index pages — leave at
Observe, no payment required.