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.

  1. Crawler requests a PAYWALL article on oasy.<your-domain>.
  2. We return HTTP 402 with a signed MPP challenge in WWW-Authenticate:
    WWW-Authenticate: Payment id="chal_…", method="stripe", price="50", currency="usd"
  3. The agent's wallet (Stripe SPT today — ChatGPT, Claude, and any agent
    with Stripe Link credentials) pays.
  4. The agent retries with Authorization: Payment ….
  5. 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.

KnobWhereDefault
Per-article pricePublisher.defaultArticlePriceCents50¢ (SPT minimum)
Per-article overrideArticle.priceUsdCentsnull = inherit
Platform markupPLATFORM_MARKUP4.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 publications100–250¢ per
    article. Agents pay because the cost-per-answer is still cheaper than
    a human researcher.
  • General-interest publications50¢ (SPT minimum) is a good
    starting point.
  • Free / index pages — leave at Observe, no payment required.