- Wallet-aware clients use x402 with USDC on Base or Solana, or MPP on Tempo.
A plain request returns HTTP
402, then the client retries with payment credentials. - API-key clients authenticate with
Authorization: Bearer pk_drip_...and spend pre-purchased credits. API keys do not use the 402 wallet handshake.
The 402 handshake for wallet clients
- A plain request to a paid route returns
402with two headers:WWW-Authenticate: Payment ...— the MPP challengePAYMENT-REQUIRED— the x402 v2 challenge
- Retry the same request through a payment-aware client, or manually with:
Authorization: Payment <credential>for MPP, or- a
PAYMENT-SIGNATUREheader for x402 v2.
- On success (
200), the response includessynthesizedSummaryandpaymentInfo.
402 response lets a wallet-aware client inspect the exact runtime price
before authorizing payment. For discovery-time estimates, publication post
listings include priceCents. The runtime challenge is authoritative.
A plain request returns a challenge rather than the paid summary:
API-key credits
API keys are traditional bearer tokens created from the Drip dashboard. Use them when your agent or backend service should spend an account balance instead of holding a wallet.403 with reason: "insufficient_credits" instead of issuing a 402
payment challenge. See the API-key quickstart for the
full setup and request examples.
Inspect pricing before payment
List a publication’s recent posts to compare prices before selecting one:priceCents is useful for selection and agent spending limits. When requesting
the paid route with a wallet, inspect the returned 402 challenge before
authorizing payment because it contains the live price.
Discovery pricing vs runtime pricing
The OpenAPI discovery document exposesx-payment-info.offers[] on paid routes.
These offers are advisory — they may list Base or Solana USDC (x402), Tempo,
and Stripe charges, or catalog floor prices.
The runtime 402 challenge is authoritative. Per-post pricing comes from
the live challenge, and the price may scale with content — for example,
stock-picks are priced by the number of distinct attributed source articles in
the response. Always trust the live 402 over publication listings or discovery
offers.
Status codes
A
404 and a 503 never carry a payment challenge — do not pay on either. 503 means the
summary is still being generated; retry shortly.Discovery
PreferGET /openapi.json (OpenAPI 3.1) for route shapes, JSON schemas, and
paid-route x-payment-info.offers[] metadata. If OpenAPI is unavailable, use
GET /.well-known/x402 for the paid resource list in METHOD /path form. The
root x-discovery.ownershipProofs field is a Drip vendor extension, not part of
core MPP discovery.
