Components
Core Engine
The heart of Avalex. A high-performance REST API that handles license issuance, validation, customer records, product definitions, and audit logging. All other components communicate through it.
Admin Portal
A React-based web interface for your operations and support teams. Create products, issue licenses, manage customers, configure staff roles, and monitor validation activity — no API knowledge required.
Client API
The public-facing validation endpoint (
POST /licenses/validate) your deployed applications call at runtime. It is unauthenticated, rate-limited, and optimized for high-volume, low-latency checks from end-user machines.Key Capabilities
License Validation
Validate licenses in sub-millisecond time with atomic checks for product binding, expiration, IP slots, and HWID slots. Every attempt is recorded for audit purposes.
HWID & IP Binding
Bind licenses to specific hardware identifiers and IP addresses. Control exactly how many unique machines or networks can activate a single license key.
CRM Admin Portal
Manage your entire customer base from one interface. Store contact details, link customers to their licenses and orders, and track account history over time.
Role-Based Access
Assign granular permission strings (e.g.,
licenses:write, customers:read) to named staff roles. A Master Admin account holds a wildcard permission and can manage every resource.Audit Logging
Every validation attempt — whether successful or failed — is written to an immutable history log. Use it to investigate abuse, debug integration issues, or satisfy compliance requirements.
Multi-Language SDKs
Integrate license validation into your application using ready-made code examples and SDKs. The underlying REST API is language-agnostic, so any HTTP client works out of the box.
How Avalex Works
Avalex follows a straightforward four-stage workflow that fits naturally into any software distribution pipeline. First, you create your products in the Admin Portal or via the API — defining a product name, whether it requires a license, and the maximum number of IP addresses and hardware identifiers a single license may cover. Next, you issue licenses by associating a product with a customer record. Each license carries an expiration timestamp and inherits the slot limits you defined on the product. Then, you embed the Client API call inside your application. On launch (or at a regular interval), your app callsPOST /licenses/validate with the license ID, product ID, and a hardware identifier computed on the end-user’s machine. Avalex responds with {"valid": true} or {"valid": false} in milliseconds.
Finally, you monitor activity in the Admin Portal. The validation history, customer records, and audit logs give you full visibility into how your licenses are being used — and flag anything that looks suspicious.
The public validation endpoint (
POST /licenses/validate) is unauthenticated and designed for high-volume calls from your deployed applications. You do not need to embed any credentials in your distributed software to perform license checks.