Charge for your Rhino plugin.Kill the shared copies.

One buyer can pass your Grasshopper plugin to a whole studio, and Stripe will take the payment while handing you no way to switch access off. The built-in License Server issues a signed token that expires unless the subscription stays current, so every activation runs on your terms. Under your own brand and domain, with no licensing backend to build.

Code snippet inside a Grasshopper plugin verifying a JWT against the JWKS endpoint, next to a License Server panel listing the validate, bind, renew and heartbeat endpoints and the customer API keys

Validate inside Rhino, not against a flaky connection

The License Server secures its endpoints with an encrypted API key and exposes exactly what your plugin calls: validate a token, bind it to one machine, renew it, and heartbeat to confirm it is live.

Signing keys are published at a JWKS endpoint, so your plugin verifies a token's signature and expiry locally inside Rhino. A dropped connection will not lock a paying customer out mid-session, and when a subscription lapses the token simply stops renewing. No key chasing, no spreadsheet of who paid.

License Server admin panel on the creator's domain showing an issued JWT license token, its TTL countdown, the subscription status, and a revoke button

Stop hand-rolling activation on top of Stripe

Charging for a plugin usually means building your own activation backend, rotating keys, and validating them on every run. That is a project on its own, and it is not the plugin your customers paid for.

Subscribe a customer and the platform issues an RS256 signed JWT token with a configurable time to live (one hour by default). Your plugin checks it at startup and decides whether to run, so access expires the moment the subscription lapses. Real renewal control, and you write or host none of it.

A branded subscription checkout for a Rhino plugin showing the issued license token with its expiry and the Stripe recurring payment summary, with the plugin installed from the developer's own download

Distribute the installer yourself. Let the license enforce it

Hand out your plugin however you already do, your own download, your site, an email. The platform does not need to host the installer to protect it, because the license does that.

Every subscription issues a token bound to the customer, and the plugin checks it at startup. Copy the installer anywhere and it still will not run without a current token, so activation follows the subscription rather than the file. Stop paying and the token stops renewing.

Everything you need to license your plugin

The licensing layer Stripe does not ship, built in and ready.

JWT license tokens

Signed tokens with a time to live, issued on subscribe and tied to a live subscription.

JWKS validation

A public validation endpoint your plugin uses to verify token signatures and expiry.

Per-customer identity

Every token is issued to a specific customer and machine, so you can identify and revoke access individually.

Renewal control

Tokens stop renewing when a subscription lapses, so access ends on its own.

Distribute it your way

Ship your installer through your own channel. The license token, not a file host, controls whether the plugin runs.

Your Stripe, no cut

Recurring billing through your own Stripe account, with no platform fee on top.

0
License backends to build yourself
0%
Platform fee on your plugin sales
4
Endpoints ready: validate, bind, renew, heartbeat
1hr
Default token lifetime, fully configurable

Licensing questions

How activation, validation and renewal work for your plugin.

Turn your free plugin into a licensed product

Take payment, issue signed tokens, and cut off shared copies from day one. See the plans, or book a call and we will walk through how the License Server fits your plugin.