OPE is a portable entitlement layer that lets readers access gated content across any app, any feed format, any browser, and any platform. Subscribe once, read anywhere — in your feed reader, on the web, or through a broker bundle.
OPE proves you're allowed in. Payment processors handle money. Clean separation.
Your subscription works in any OPE-compatible reader. No platform lock-in.
RSS, Atom, JSON Feed, AT Protocol. OPE extends what you already use.
Publishers issue grants and control access. Their content, their rules.
Four layers, cleanly separated
OPE occupies the space between content distribution and payment processing. Each concern stays independent.
Articles, media, and resources. Created and hosted by the publisher.
Feed formats (RSS, Atom, JSON Feed, ATProto) that catalog and deliver previews.
Verification that a reader has the right to access content. Portable across apps.
How money changes hands. Stripe, x402, Lightning, or anything else. Out of scope.
From feed to full content
Five steps from discovering an article in your reader to reading the full thing.
Reader fetches a feed and finds OPE-gated items with preview content.
Reader fetches /.well-known/ope to learn the publisher's capabilities.
Reader initiates OAuth 2.0 with PKCE. User logs in with the publisher.
Publisher issues a signed grant token proving entitlement.
Reader presents the token and retrieves full content. Done.
Publishers expose a single well-known endpoint. Reader apps handle the rest — OAuth, token management, content retrieval — all standardized.
{
"version": "0.1",
"oauth_server": "https://example.com/.well-known/oauth-authorization-server",
"entitlement": {
"grant_url": "https://example.com/api/entitlement/grant",
"token_format": "jwt",
"token_mode": "portable",
"default_ttl_seconds": 3600
},
"content": {
"endpoint_template": "https://example.com/api/content/{id}",
"batch_endpoint": "https://example.com/api/content/batch",
"formats_available": ["html", "markdown"]
},
"grants_supported": ["subscription", "gift", "per_item", "broker"]
}
Built for the entire ecosystem
Keep full control of your content and subscriptions while making them work everywhere.
Give your users seamless access to gated content from any OPE-enabled publisher — in-app or on the web.
Create subscription bundles across multiple publishers. Like cable bundles, but for the open web.
Eight grant types, one protocol
OPE doesn't prescribe how entitlements are earned — it standardizes how they're proven.
Recurring access to all content
Pay per article, scoped to content IDs
Shareable unlock links, time-limited
Libraries, universities, organizations
Free article limits with meter tracking
Regional free access by user locale
Voluntary support, optional full access
Multi-publisher bundles via brokers
Works with what you already use
OPE is a purely additive extension. Readers without OPE support simply see previews as usual.
The specification is open and ready for implementers. Read it, build on it, and help shape portable entitlements for the open web.