Sell Your Plugins · software licensing

Sell software from WooCommerce. No revenue share.

A license key on every order, a site limit that holds, and plugin updates only for licenses that are paid up. It runs in your own store, so your customers and your sales stay yours.

From $49 a year or $149 once · WordPress 6.6+ · PHP 8.1+ · WooCommerce 8.0+

Demo store · WooCommerce › Licenses
Demo store · WooCommerce › Licenses

Works with

  • WooCommerce
  • Payments via Polar
  • Dokan
  • HPOS
  • WordPress plugin updates
Why it matters

Selling your plugin shouldn't mean giving away part of every sale.

Marketplaces take a cut and keep the customer. Some licensing platforms take a share of revenue. Building your own key and update server takes time you'd rather spend on the plugin.

"the cut they take, the inability to automatically serve updates to your plugins, not being able to know who your customers actually are"

A plugin developer on Indie Hackers

"marketplaces like Codecanyon are taking a great amount of the revenue and that was a price I didn't want to pay"

A plugin developer on Indie Hackers
How it works

A key on every order. Updates for paid-up sites.

Your plugin talks to your store through a small REST API. The store answers with the license's state, the latest version and a download link only a working license can use.

  1. 1

    Turn on licensing for a product

    Set its site limit, how long the license and its updates last, and the latest version and zip.

  2. 2

    Sell it

    Every order issues a key, generated or taken from keys you import. Customers get it in their order email, on the thank-you page and in My Account.

  3. 3

    Deliver updates

    Copy the ready-made updater class into your plugin. Sites with a working license get new versions on their Plugins screen, through a signed link that expires within the hour.

The license API, four endpoints

Under wp-json/elm/v2/. Send a per-site instance_id on every call; that is what makes the site limit hold.

EndpointWhat it does
/activateTakes one of the key's seats for this site, or refuses when every seat is taken.
/validateSays whether the license works and this site holds a seat.
/updateReturns the latest version, its changelog and a download link valid for one hour, while the license's updates period lasts.
/deactivateFrees this site's seat, so the key can move to another site.
Built for real stores

Built for the edge cases.

A site limit that holds

Each site activates with its key, and the limit holds even when two sites activate at the same moment. Local copies on localhost, .test, .local or a private address don't take a seat, and customers free a seat themselves from My Account.

Renewals that keep the key

Customers renew from My Account and keep the same key on the same sites. Sold through Payments via Polar subscriptions, each payment extends the license by itself; licenses that don't renew by themselves get reminder emails.

Ship carefully

A beta channel for sites that ask for betas, and staged rollouts that offer a new version to a share of sites before everyone.

Everything on record

Keys are encrypted at rest with AES-256-GCM. Each license keeps its history: issued, sites added and removed, revoked, renewed, and by whom. Refunding a renewal takes back that year: the expiry moves back one term and the key works until then. Refunding the first order revokes the key.

Pricing

Pay for the sites you run.

Every plan has every feature. Local copies on localhost, .test or .local don't use a site.

Recommended for agencies

1 site

$149once

Pay once. The key never expires, and gets updates and support for as long as we sell the plugin.

Buy for life, 1 site
  • 1 site at a time
  • Updates for as long as we sell it
  • Email support for as long as we sell it

$49a year

Renews every year at the same price. Polar emails you a week before. Cancel any time from your account.

Buy for 1 site
  • 1 site at a time
  • Updates while your plan runs
  • Email support while your plan runs

Sold by Polar, our merchant of record, which adds any sales tax or VAT at checkout.

Recommended for agencies

25 sites

$719once

Pay once. The key never expires, and gets updates and support for as long as we sell the plugin.

Buy for life, 25 sites
  • 25 sites at a time
  • Updates for as long as we sell it
  • Email support for as long as we sell it

$239a year

Renews every year at the same price. Polar emails you a week before. Cancel any time from your account.

Buy for 25 sites
  • 25 sites at a time
  • Updates while your plan runs
  • Email support while your plan runs

Sold by Polar, our merchant of record, which adds any sales tax or VAT at checkout.

Plus any sales tax or VAT · Sold by Polar, our merchant of record · Full refund within 14 days · All plugins and the bundle

Questions

Do I pay a share of my sales?

No. You buy a plan for Sell Your Plugins like any other plugin. What you sell through your store is yours.

How does my plugin get updates?

Download the updater class from WooCommerce › Licenses › Settings › License API, rename it and add it to your plugin. It asks your store for new versions and installs them from the Plugins screen like any other update.

Do local and staging sites use a seat?

Local copies on localhost, .test, .local or a private address don't. A staging site on a public address uses a seat like any other site.

Can Dokan vendors sell licensed products?

Yes. Vendors can license their own products and see those licenses, with status, expiry and sites used, in their Dokan dashboard.

Can't Polar issue license keys?

Polar can issue keys, but it doesn't deliver WordPress plugin updates. Sell Your Plugins issues the keys and delivers the updates from your own store, and works with Payments via Polar for the payment.