Licenses

Licenses are the core of LicenseChain. Each license represents a valid permission for a user to use your software.

What are Licenses?

A License in LicenseChain is a digital permission that grants a user the right to use your software. Each license contains information about the user, the plan they have, when it expires, and what features they can access.

Licenses are cryptographically secure and can be verified in real-time through our API. They support various license types including perpetual, subscription-based, and trial licenses.

License Structure

Core Properties

  • License Key - Unique identifier
  • Plan - License tier (FREE, PRO, BUSINESS)
  • Status - Current state (ACTIVE, EXPIRED, SUSPENDED)
  • Expiration - When the license expires

User Information

  • Issued To - Customer name or company
  • Email - Customer email address
  • Features - Available features and capabilities
  • Metadata - Custom data and tags

License Types

Perpetual Licenses

One-time purchase licenses that never expire. Perfect for desktop applications.

  • No expiration date
  • One-time payment
  • Lifetime access
  • Perfect for desktop apps

Subscription Licenses

Recurring licenses that require periodic renewal. Ideal for SaaS applications.

  • Monthly/yearly renewal
  • Automatic expiration
  • Recurring billing
  • Perfect for SaaS apps

Trial Licenses

Time-limited licenses for evaluation purposes. Great for try-before-you-buy.

  • Limited duration (7-30 days)
  • Full feature access
  • Automatic conversion
  • Perfect for demos

License Verification

Real-time Verification

Verify licenses in real-time with sub-100ms response times.

// License verification example
// Verify license key with client
// Check if license is valid and handle accordingly

Offline Verification

Support for offline license verification using cached license data.

// Offline verification setup
// Initialize client with offline support
// Set API key and app ID
// Verify with offline support

Best Practices

Security

  • Always verify licenses on your server, not just the client
  • Use HTTPS for all API communications
  • Implement proper rate limiting to prevent abuse
  • Log all license verification attempts for auditing
  • Use device fingerprinting to prevent license sharing

Performance

  • Cache license verification results when appropriate
  • Use offline verification for better user experience
  • Implement proper error handling and retry logic
  • Monitor API usage and set up alerts
  • Use bulk operations for multiple license management

User Experience

  • Provide clear error messages for invalid licenses
  • Implement graceful degradation for network issues
  • Show license expiration warnings before they expire
  • Provide easy license renewal and upgrade paths
  • Support multiple license types for different use cases