Monetize your extension effortlessly.
ExtensionBill is the modern ExtensionPay alternative with a Merchant of Record built in.
Add payments in a day, not a week. No backend, no tax headaches. Connect your Merchant of Record and start charging.
Join the waitlist
We're on the way to release in July 2026. Join now to get early access and be first to charge for your extension, no backend, tax handled.
No spam, just one email the day we launch.
Merchants of Record
Browsers supported
Servers to run
Cut of your revenue
One quadrant nobody else fills
Extension developers need two things: a no-backend SDK and a Merchant of Record that handles tax. Every other tool gives you one, not both. ExtensionBill sits in the corner where both are true.
ExtensionBill
Drop-in SDK and the tax handled.
Polar, Creem, Dodo, Paddle, Lemon Squeezy
Tax handled, but you build and host the backend glue.
ExtPay, Addon Pay
No backend, but you still owe the global tax.
Raw Stripe
Build everything yourself, and owe the tax too.
Bring the MoR you already use
Connect any supported Merchant of Record. Switch whenever you like.
Everything you need to charge for your extension
A complete payment integration for your extension: a hosted verification layer and a drop-in SDK. You keep your Merchant of Record, your pricing, and your payouts.
Zero backend
ExtensionBill's hosted layer verifies payments straight from your extension. No server to provision, no API to babysit, no infrastructure bill.
Bring your own MoR
Connect Polar, Paddle, Lemon Squeezy, Creem, or Dodo Payments. Your MoR is the seller of record, so it collects and remits tax. You own pricing and payouts.
Drop-in SDK
One import and a few lines. Add it to a new extension, or migrate an existing one in minutes.
Familiar, modern API
A clean, well-typed SDK that covers everything ExtPay does. Migrate an existing extension in minutes, and the tax is suddenly handled.
Instant unlock
The moment a user pays, premium features unlock. No polling, no webhooks to wire up.
Always current with your MoR
When a Merchant of Record changes its API, we update the integration for you. You never chase a breaking change or ship an extension update just to stay compatible.
Flat fee, no revenue cut
Pick a package and pay one flat monthly fee, whatever you earn. ExtensionBill never takes a percentage or per-sale cut, so your cost stays the same as your revenue grows.
Any revenue, $0 cut from us. Just your flat package fee.
Monetize any kind of extension
However your extension makes money, ExtensionBill handles the payment layer.
AI-powered tools
Charge per month or per seat for GPT wrappers, writing assistants, and research copilots. Gate the model behind a paid check.
Productivity & utilities
Sell a Pro tier for power features: bulk actions, exports, automations, and deeper integrations.
One-time Pro unlock
Offer a lifetime unlock for premium features with a single payment, no subscription to manage.
Subscriptions & trials
Run free trials and recurring plans through your MoR. ExtensionBill checks status on every launch.
From zero to paid in three steps
No backend to build, no webhooks to host. Connect, drop in, charge.
Connect your MoR
Sign up and link Polar, Paddle, Lemon Squeezy, Creem, or Dodo Payments. Payouts land in your account, not ours.
Payouts go straight to you
Drop in the SDK
Add one import and a couple of lines. ExtensionBill's hosted layer handles verification for you.
// Gate a premium featureconst user = await extpay.getUser()if (user.paid) showProFeatures() Get paid
Users check out through your MoR, which applies the right tax at their location. Access unlocks instantly.
Add payments in a few lines
Install the SDK, point it at your Merchant of Record, and ship.
Install
Works in Chrome, Firefox, and Edge.
Integrate
// Open checkout, then unlock once the user has paidimport ExtensionBill from 'extensionbill'const extpay = ExtensionBill('your-extension-id') upgradeBtn.onclick = () => extpay.openCheckout() const { paid } = await extpay.getUser()if (paid) enableProMode() Coming from ExtPay? Migrate in minutes.
ExtensionBill's SDK covers the same jobs as ExtPay with a cleaner, modern API. A short, mechanical migration, and you gain a Merchant of Record that handles tax for you.
- Same concepts: getUser(), checkout, paid events
- A short, mechanical rename, mapped by the migration guide
- Gain worldwide MoR tax compliance instantly
// Familiar concepts, cleaner API, tax handled.import ExtensionBill from 'extensionbill'// renamed from ExtPay const extpay = ExtensionBill('your-extension-id')const user = await extpay.getUser() if (user.paid) unlockPremiumFeatures()else extpay.openCheckout() How ExtensionBill compares
ExtPay gives you a no-backend SDK but leaves you the tax. A raw Merchant of Record handles tax but leaves you the backend. ExtensionBill is the only one that does both.
| What you need | ExtPay | Raw MoR | ExtensionBill |
|---|---|---|---|
| No-backend SDK | Yes | Build it yourself | Yes |
| Merchant of Record (VAT, GST, tax) | You owe the tax | Yes | Yes |
| Typed, modern SDK | Plain JS | No SDK | TypeScript-first |
| What it costs you | 5% of revenue | ~4% + your dev time | Flat monthly fee |
| Cross-browser (Chrome, Firefox, Edge) | Yes | Do it yourself | Yes |
| Switch providers anytime | Stripe only | Locked per provider | Any MoR |
Secure by architecture
ExtensionBill removes whole categories of risk by keeping payment data and servers out of your hands.
No backend, no breach
There's no server for you to run, so there's no server of yours to attack. Verification is hosted, hardened, and maintained for you.
Tax handled by your MoR
Your Merchant of Record collects and remits VAT, GST, and sales tax at each customer's location, and owns PCI compliance. None of it ever touches your extension.
You own the money
Payouts land in your MoR account and the customer relationship stays yours. ExtensionBill never touches the funds.
No lock-in
Switch Merchants of Record whenever you like. The SDK is provider-agnostic, so your code stays portable.
Flat pricing. Not 5% of your revenue.
ExtPay-style tools take 5% forever. ExtensionBill charges a flat monthly fee, whatever you earn. A $5k/mo extension pays a 5% cutter $250 every month. With ExtensionBill it stays flat.
Demo pricing, could be changed
Free
1 extension, to get started
- 1 extension
- All 5 Merchants of Record
- TypeScript-first SDK
- Hosted payment verification
- Community support
Starter
Up to 3 extensions
- Up to 3 extensions
- Everything in Free
- Email support
Growth
Up to 10 extensions
- Up to 10 extensions
- Everything in Starter
- Priority support
Scale
Unlimited extensions
- Unlimited extensions
- Everything in Growth
- Priority support
No cut of your revenue, ever. You also pay your Merchant of Record's standard transaction fees, the ones you already agreed to.
Questions, answered
What developers usually ask before integrating.
Do I really not need a backend?
Which Merchants of Record are supported?
How much does ExtensionBill cost?
Can I migrate from the original ExtPay?
How are payments verified?
Can I switch MoRs later?
Who handles VAT and sales tax?
Be first when we launch
ExtensionBill opens in July 2026. Join the waitlist for early access: bring your Merchant of Record, drop in the SDK, and start charging with the tax handled, for a flat fee.