Bodholdt Licensing
Self-hosted software licensing for WordPress
Get Bodholdt Licensing
Keep 100% of your revenue. No per-sale cut or platform tax. Choose monthly, annual, or lifetime billing.
Hobby
$49.00
/yr
Self-hosted plugin licensing.
- 1 product, 1 site
- License keys + auto-updater
- Stripe-powered checkout
- Customer portal + Stripe billing portal
- SDK generator for your customers
- Email support while active
Studio
$99.00
/yr
Everything in Hobby, plus:
- Unlimited products (Hobby covers 1)
- Up to 5 sites
- Reports & analytics for revenue, MRR, license health, and seat utilization
Keep 100%
Foundry
$199.00
/yr
Everything in Studio, plus:
- Up to 127 sites
- Priority email support while active
- Keep 100% of every sale, with transparent plan pricing and no per-sale cut
See full feature comparison →
| Feature | Hobby | Studio | Foundry |
|---|---|---|---|
| Sites | 1 | 5 | 127 |
| Products you can sell | 1 | ∞ | ∞ |
| License keys + auto-updater | ✓ | ✓ | ✓ |
| Stripe checkout + customer portal | ✓ | ✓ | ✓ |
| SDK generator | ✓ | ✓ | ✓ |
| Reports & analytics | — | ✓ | ✓ |
| Lifetime license option | ✓ | ✓ | ✓ |
| Support | Email while active | Email while active | Priority email |
See It In Action
Real screens from Bodholdt Licensing
These are real admin screens, not mockups. Click any one to view it full size.
A complete self-hosted software licensing system for WordPress. Manage license keys, handle activations, process Stripe payments, and deliver updates, all from your own server.
License key generation and management
Stripe checkout for subscriptions, one-time payments, and configurable customer-product trials
SDK generator that produces a drop-in client with an auto-updater and license-status gating
Reports and analytics for MRR/ARR, license health, and seat utilization (Studio and Foundry)
Automatic, license-authenticated updates
Customer portal plus the Stripe billing portal
Product bundles and tier-aware license issuance
License check, activation, and deactivation endpoints, Stripe webhooks, and branded emails
The Sovereign Mint arcade, with ranks, trophies, and a vault that compounds your recurring revenue into XP
- License key generation and management
- Stripe checkout for subscriptions, one-time payments, and configurable customer-product trials
- SDK generator that produces a drop-in client with an auto-updater and license-status gating
- Reports and analytics for MRR/ARR, license health, and seat utilization (Studio and Foundry)
- Automatic, license-authenticated updates
- Customer portal plus the Stripe billing portal
- Product bundles and tier-aware license issuance
- License check, activation, and deactivation endpoints, Stripe webhooks, and branded emails
- The Sovereign Mint arcade, with ranks, trophies, and a vault that compounds your recurring revenue into XP
Version
10.37.6
PHP Required
8.0+
WordPress
6.0+
License
Commercial GPL
v10.37.6 · Jul 23, 2026
- Pricing accuracy: removed the "Streaming restore (FK-safe, BLOB-safe)" line from the paid Backup tier. The free build's full restore already uses that same streaming, FK-safe, BLOB-safe engine, so it was never a paid upgrade. The genuine upgrade is selective restore, choosing what to restore, which the tier already lists.
- Documentation: backfilled the release history below (10.24 through 10.37) so the changelog reflects the full recent record.
v10.37.5 · Jul 23, 2026
- Pricing accuracy: the Backup Agency tier now reads "Up to 127 sites" (and 127 in the comparison table and the agency FAQ) instead of "Unlimited", matching the enforced activation limit.
- Copy polish: removed em dashes used as sentence punctuation in the Backup Bundle heading and the Licensing pitches, and demoted the pricing section heading to <h2> so each page has a single <h1>.
v10.37.4 · Jul 23, 2026
- Fixed: higher pricing tiers (Pro, Agency, Studio, Foundry) could not complete checkout. The payment-boundary price check compared the tier's Stripe price against the wrong product and returned a price mismatch, bouncing buyers back to the pricing page. Non-default tiers now check out correctly.
- Fixed: the "Manage Billing & Subscriptions" button on the customer subscription-management page did nothing. It now submits and emails the billing-portal access link as intended.
v10.37.3 · Jul 20, 2026
- Stripe webhooks now acknowledge checkout sessions created by other integrations on the same Stripe account, so unrelated events cannot disable the webhook endpoint.
- License activation is serialized regardless of key letter casing, so the per-license site limit cannot be bypassed by concurrent requests.
- A licensed store re-verifies from any page load when the scheduled check has not run, instead of self-locking after 30 days on hosts without wp-cron.
- Reports keep showing the last known figures when Stripe is briefly unreachable, instead of a fresh 0.
- Fixed two Settings notices that reported success when a store page slug or vault path was actually rejected.
v10.37.2 · Jul 17, 2026
- Enforces Hobby, Studio, and Foundry activation and product entitlements against the canonical commercial-license ledger, including Multisite.
- Verifies replacement keys before saving, preserves a working state during transient failures, and releases activations on clear or uninstall.
- Hardens generated clients and the built-in updater so license keys stay out of URLs and are sent only to an exact matching HTTPS origin and product.
- Validates carts, canonical Stripe Prices, currencies, recurrence, products, tiers, bundles, and trial rules on the server before Checkout.
- Makes checkout fulfillment, subscription state, refunds, disputes, and email retry ordered, durable, transactional, and idempotent.
- Requires all seven documented Stripe events and proves webhook readiness before paid checkout.
- Makes the private product vault fail closed, validates exact product references on downloads, applies download throttling, and redacts operational logs.
- Hardens customer OTP, portal, review, REST, AJAX, admin, settings, product, license, and GDPR paths against replay, enumeration, injection, privilege, and data-integrity failures.
- Corrects expiry-date boundaries, domain-seat locking, manual Stripe sync, review eligibility, currency handling, plan limits, and multi-customer billing portal access.
- Removes customer email addresses from portal URLs and persistent browser cookies and applies private-cache/referrer protections to sensitive pages.
- Makes settings migration exclude credentials and environment-specific storage paths and makes uninstall/network cleanup deliberate and consistent.
- Updates first-run guidance, translation catalog, compatibility declarations, public documentation, and sanitized release screenshots.
v10.37.1
- Shared admin engine reconciliation across the Bodholdt product line.
v10.36.0
- Admin dashboard: optional recurring-revenue "Compounding Vault" view added to the built-in gamification, with a Settings > Arcade switch to turn the whole layer (and its motion and sound) off.
v10.35.0
- Introduced an optional, fully dismissible admin gamification layer that respects reduced-motion preferences.
v10.34.0
- Admin redesign across the board: refreshed Dashboard, Activity Log, and Manage Licenses (status chips, inline expiry editing, per-row menus, and a bulk-action bar), cleaner Settings sub-tabs, a clearer "Connect a Plugin" screen, and a split list/editor for Products with safer per-product saving.
v10.33.0
- Added download tracking and a Reports > Downloads section.
v10.32.0
- New Sender Identity settings with a live email preview.
v10.31.0
- Portable customer-reviews display you can place on any page, plus a support line in review-request emails.
v10.30.0
- Automatic post-purchase review-request email.
v10.29.0
- Verified customer reviews, so only real, purchase-linked customers can leave one.
v10.28.0
- Pricing-page refinements and Free-card alignment on the buy-plugins page.
v10.27.0
- Aligned the Atelier pricing and pitch copy.
v10.26.0
- Wired the Atelier product family into the pricing page and comparison matrix.
v10.25.0
- Entitlement gating for the free "Lite" builds.
v10.24.0
- Self-serve free tier: the free build became a direct, no-key download (with abuse caps and Cloudflare-aware IP trust), and the marketing copy was realigned to the free-and-paid model.
After purchase, you'll receive a download link and license key by email. In your WordPress admin, go to Plugins → Add New → Upload Plugin, choose the ZIP you downloaded, click Install, then Activate. The plugin will prompt you for your license key on its settings page. Paste it in and you're live.
Each WordPress installation domain that activates the key counts as one site, including staging and development domains. Clear the key on an old site to release its activation before moving it.
Yes. Contact support before changing plans so we can confirm the price, effective date, and license limits for your order. Your current entitlement remains in place until the change is confirmed.
Yes. Contact support before renewal so we can confirm the effective date and the site limit that will apply. We do not silently deactivate existing sites.
Lifetime means lifetime of the product. You pay once, you get updates and your license stays active forever. Lifetime licenses also include a bucket of support credits that never expire, so you always have a way into support. If we ever sunset a product (announced 12 months in advance), lifetime customers get a free transfer to the equivalent successor.
Yes. Open the Stripe billing portal from your account dashboard and cancel there. You keep access until the end of the billing period.
14 days, no questions asked, full refund. Open a ticket on our Support page (bodholdtlabs.com/support) using the email you bought with.
Two reasons: Stripe's per-transaction fees compound when you charge 12 times instead of once, and monthly subs have higher churn risk for us. Annual or lifetime is the better deal if you know you're sticking around.
Hobby licenses 1 product on 1 site. Studio unlocks unlimited products, 5 sites, and the full reporting dashboard for revenue, MRR, license health, and seat utilization. Foundry raises the activation limit to 127 sites. Current monthly, annual, and lifetime prices are shown in the pricing cards above. All three include license keys, the auto-updater, the customer and Stripe billing portals, and the SDK generator.
There is no separate free edition. The commercial plugin includes a built-in 7-day evaluation with every feature unlocked, no license key, and no card required. That gives you time to wire it into your store and try the checkout, licensing, and SDK flow before activating a paid key. Every plan is also backed by a 14-day money-back guarantee.