Built for plugin developers

Powerful License Management for Your Plugins

Diinta License Hub helps you issue, activate, verify, and monitor software licenses with trial support, domain locking, and production-ready API integration.

License Dashboard

Live Overview

Healthy

Issued

2,451

Active Installs

1,928

Latest Activations

Realtime

waafipay.com Verified
shop.example.net Activated
client-pro.io Trial

Core Features

Everything you need to run secure, scalable plugin licensing.

🔑

License Generation

Generate unique license keys instantly for each purchase or customer.

🌐

Domain Activation Control

Bind licenses to domains and installation identifiers to stop abuse.

⏱️

Trial License Support

Enable frictionless 7/14 day trial onboarding and automatic expiry.

🔌

API Integration for Plugins

Integrate activation and validation endpoints directly into your plugin.

📊

Real-Time Install Tracking

Monitor active installs, seat usage, and verification activity from admin.

🛡️

Secure License Validation

Protect against key sharing with signed requests, lock rules, and audit trails.

How It Works

Step 1

Create Product

Set product code, secret, defaults, and activation policy.

Step 2

Generate License

Issue trial or standard licenses and assign to customer/domain.

Step 3

Verify via Plugin API

Your plugin calls API endpoints to activate and validate usage.

Multi-Language Integration

Developer SDK & API Playground

Drop-in verification and activation clients ready to integrate in 60 seconds.

// Laravel / PHP Client Verification
use Illuminate\Support\Facades\Http;

$response = Http::timeout(10)->post('https://diinta.so/api/v1/public/licenses/verify', [
    'product_code' => 'YOUR_PRODUCT_CODE',
    'license_key'  => 'XXXX-XXXX-XXXX-XXXX',
    'domain'       => request()->getHost(),
    'instance_id'  => config('app.instance_uuid'),
]);

if ($response->successful() && $response->json('ok')) {
    $licenseData = $response->json('data');
    $signedToken = $response->json('token');
    // License is valid! Entitlements: $licenseData['entitlements']
}
// WordPress Plugin License Verification with Transient Caching
function myplugin_verify_license() {
    $cached = get_transient('myplugin_license_token');
    if ($cached) return true;

    $response = wp_remote_post('https://diinta.so/api/v1/public/licenses/verify', [
        'timeout' => 12,
        'body'    => [
            'product_code' => 'MY_WP_PLUGIN',
            'license_key'  => get_option('myplugin_license_key'),
            'domain'       => parse_url(home_url(), PHP_URL_HOST),
            'instance_id'  => get_option('myplugin_instance_id', wp_generate_uuid4()),
        ],
    ]);

    if (!is_wp_error($response) && wp_remote_retrieve_response_code($response) === 200) {
        $body = json_decode(wp_remote_retrieve_body($response), true);
        if (!empty($body['ok'])) {
            set_transient('myplugin_license_token', $body['token'], DAY_IN_SECONDS);
            return true;
        }
    }
    return false;
}
// Node.js / TypeScript Verification Client
import fetch from 'node-fetch';

async function verifyLicense(licenseKey: string, domain: string, instanceId: string) {
  const res = await fetch('https://diinta.so/api/v1/public/licenses/verify', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      product_code: 'MY_NODE_APP',
      license_key: licenseKey,
      domain: domain,
      instance_id: instanceId,
    }),
  });

  const data = await res.json();
  if (data.ok) {
    console.log('License active:', data.data.status, 'Entitlements:', data.data.entitlements);
    return data.token; // Store signed token for offline grace
  }
  throw new Error(data.message || 'License verification failed');
}
# Python Client Verification
import requests

def verify_diinta_license(product_code, license_key, domain, instance_id):
    url = "https://diinta.so/api/v1/public/licenses/verify"
    payload = {
        "product_code": product_code,
        "license_key": license_key,
        "domain": domain,
        "instance_id": instance_id,
    }
    response = requests.post(url, json=payload, timeout=10)
    data = response.json()
    if response.status_code == 200 and data.get("ok"):
        return data["token"], data["data"]
    raise PermissionError(data.get("message", "License invalid"))
curl -X POST https://diinta.so/api/v1/public/licenses/verify \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "product_code": "YOUR_PRODUCT_CODE",
    "license_key": "EQ69-X6RC-ZLHX-UYAR",
    "domain": "example.com",
    "instance_id": "539ab4a5-d3b9-4bb3-ae61-5e3c0cf2108e"
  }'

Products & Addons

📦

Main Plugin

Your core product with full license activation and update support.

Learn more

🧩

Addons

Issue addon-specific licenses for upsells and modular features.

Learn more

⚙️

Extensions

Manage extension versions, release notes, and secure download delivery.

Learn more

Security First

Diinta License Hub protects software against piracy with robust server-side controls.

  • Secure license verification workflow with strict status checks
  • Domain and installation locking to prevent key sharing
  • API authentication with signed requests and replay protection
  • Encrypted key storage and audit trail visibility

Protection Overview

Signature Window

300s

Nonce Replay

Blocked

Domain Lock

Enabled

Audit Events

Realtime

Transparent Licensing

Simple, Predictable Plans

Scale your software and plugin licensing effortlessly from launch to enterprise.

Starter
$19 /month

Ideal for indie plugin developers and single SaaS tools.

  • Up to 3 Products
  • 500 Active Licenses
  • Domain & IP Locking
  • Customer Self-Service Portal
Get Started
Most Popular
Professional
$49 /month

For high-growth software teams & WooCommerce agencies.

  • Unlimited Products & Addons
  • 5,000 Active Licenses
  • Cryptographic Offline .lic Packages
  • Outbound Webhooks & Auto-Updates
  • Automated Expiry Email Reminders
Start Free Trial
Enterprise
$149 /month

Custom volume, air-gapped deployments & high availability.

  • Unlimited Everything
  • Custom Feature Entitlements JSON
  • Emergency Revocation Kill-Switch
  • Dedicated Support & 99.99% SLA
Contact Sales

Frequently Asked Questions

Everything you need to know about Diinta License Hub architecture.

Start Managing Your Licenses Today

Launch a secure licensing system for your plugins and keep full control over activations, trials, and updates.

Create Account