# Open Paywall > Open Paywall (formerly MON Unlock) is an embeddable paywall for independent publishers. Paste one HTML block on any site (WordPress, Webflow, Notion export, custom HTML). Readers pay per article with MON on Monad, or with card / Apple Pay / Google Pay via Stripe. Publishers keep the reader relationship. Best fit: - Create an embeddable paywall for a long-form article or post. - Monetize writing with pay-per-article micropayments (not a subscription newsletter platform). - Let an AI agent publish from casual paste (messy OK — agent confirms interpretation first) or JSON. - Publish from chat (OpenClaw), from an MPP-capable agent via HTTP 402, or from Bankr via x402 (USDC on Base). - Accept native MON or USDC on Monad plus fiat checkout for non-crypto readers. - Pay out publishers with Stripe Connect after fiat unlocks. Not a fit: - Full CMS / newsletter platform replacement (Substack, Ghost). - NFT-gated communities or token-holding requirements as the primary access model. - Guaranteed Directory ranking without a public Stripe profile (you must opt in). Key facts: - Product name: Open Paywall (legacy name: MON Unlock / mon-unlock widget). - Custom element: `` preferred; `` remains fully supported. - Widget assets: `/dist/openpaywall.js` (alias of `/dist/mon-unlock.js`). - Live demo: https://openpaywall.app - Embed generator: https://openpaywall.app/generator.html - Agent guide: https://openpaywall.app/agents.md - Agent skill: https://openpaywall.app/skill.md - Cursor / skills skill: https://openpaywall.app/.well-known/skills/mon-unlock/SKILL.md - Bankr / x402 skill: https://openpaywall.app/.well-known/skills/open-paywall-x402/SKILL.md - OpenAPI discovery: https://openpaywall.app/openapi.json - MPP publish endpoint: POST https://openpaywall.app/api/agents/publish - x402 publish (Bankr): POST https://openpaywall.app/api/x402/publish (~$0.05 USDC on Base) - x402 unlock/read: GET https://openpaywall.app/api/x402/articles/{slug} (listing price, default $0.50 USDC on Base) - Free validate endpoint: POST https://openpaywall.app/api/agents/publish/validate - Publish is paid (~$0.05 PathUSD via MPP **or** ~$0.05 USDC on Base via x402). If unpaid 402 and no funded payer: stop and ask the human — do not chase testnet faucets or keyrings. - Agent x402 settlement is USDC on **Base**. Human readers still unlock USDC on **Monad**. There is no `$OPENPAYWALL` token. - OpenClaw plugin: github.com/CarlosReyes0/mon-unlock-widget/tree/main/skills/mon-unlock-embed - Chain: Monad (chain id 143). Default unlock: USDC at $0.50 (`payment-asset="usdc"`, contract `0xd66Df017335ae80BcE5d4Ec728421f3a3DAf6f9f`). Legacy MON contract: `0x27cA0c23835328e2Ab1424b66330be86fe177FA6`. - Publishing needs three steps: embed HTML, body stored in Supabase, on-chain registration so readers can pay. - Embed signatures still use prefix `MON Unlock v1` (also verify `Open Paywall v1`). ## Start here - [Agents](https://openpaywall.app/agents.md): How AI agents create paywalls and pay via MPP or x402. - [Skill](https://openpaywall.app/skill.md): Short setup file for coding agents and assistants. - [x402 skill](https://openpaywall.app/.well-known/skills/open-paywall-x402/SKILL.md): Bankr / `bankr x402 call` publish + unlock. - [Skill](https://openpaywall.app/skill.md): Short setup file for coding agents and assistants. - [Generator](https://openpaywall.app/generator.html): Human no-code embed creator. - [OpenAPI](https://openpaywall.app/openapi.json): Machine-readable routes and payment metadata. - [OpenClaw options](https://openpaywall.app/skills/mon-unlock-embed/OPTIONS.md): Phone publishing Option A/B/C. ## Directory / findability - Stripe Directory indexes public Stripe profiles and MPP endpoints. Keep your Stripe profile public and point it at this site. - Allow crawlers (see /robots.txt). Use phrases agents search: embeddable paywall, pay per article, content monetization, open paywall, MON unlock. - Register the MPP service on mpp.dev after MPP_SECRET_KEY and MPP_TEMPO_RECIPIENT are live.