Ship product, not licensing plumbing
Stop building licensing infrastructure. ValidonX gives SaaS vendors license validation, device activation, entitlement enforcement, and usage metering behind a single API — integrate in an afternoon, not a sprint.
Free forever plan · No credit card required · Start in minutes
POST /api/v1/integration/licenses/{licenseKey}/validate
{
"data": {
"valid": true,
"license": { "status": "active" }
}
}Sign up, issue a key, call validate — your first valid:true in minutes. Follow the quickstart.
What is ValidonX?
ValidonX is a licensing-as-a-service (LaaS) platform — a hosted API that issues, validates, and revokes software licenses, enforces per-plan entitlements and activation limits, and meters usage, so SaaS and software vendors don't build that machinery in-house. Each customer is isolated in their own database, licenses can be opaque keys or Ed25519-signed JWTs verifiable offline, and issuance, renewal, and expiry follow the subscription.
What is licensing as a service (LaaS)?
Licensing as a Service moves license issuance, activation, and entitlement enforcement out of your codebase and into a hosted API. You call the service to create, validate, and revoke licenses; it owns the keys, the rules, the usage metering, and the audit trail.
See It In Action
A single API call to validate a license. That's all it takes.
POST /api/v1/integration/licenses/VXL-abc123/validate
Headers:
X-API-Key: <your-api-key>
Content-Type: application/json{
"data": {
"valid": true,
"license": {
"id": "8f3c1e2a-...",
"key": "VXL-abc123",
"status": "active",
"type": "subscription",
"expires_at": "2027-04-03T00:00:00Z",
"entitlements": { "plan": "pro", "seats": 50 }
}
},
"meta": { "request_id": "…", "api_version": "1" }
}Powering licensing across the Veltara Works portfolio
How ValidonX Works
A single platform connecting your SaaS product to its licensing, activation, and entitlement infrastructure — all through a resolver-based, API-first architecture.
Tenant Provisioning
Admin creates a tenant. The pipeline auto-provisions a dedicated database, seeds configuration, generates API keys, and activates the account.
Resolver-Based Routing
Every request is resolved to a tenant via X-API-Key (Integration API) or Bearer token (Dashboard). The resolver switches the database connection per-request.
Integration API
Your application calls the Integration API to validate licenses, create activations, check entitlements, and record usage — all with per-tenant isolation.
Governance & Audit
Every state change is logged. Rate limiting, error envelopes (ADR-009), and structured audit events provide full observability.
For SaaS Vendors
Everything you need to license, activate, and meter your product.
License Validation
Validate perpetual and subscription licenses in real-time. Supports expiry, revocation, and grace periods.
Activation Management
Track per-device activations with idempotency. Enforce max activation limits per license via entitlements.
Entitlement Enforcement
Boolean and metered entitlements. Check feature access and usage limits through a single API call.
Usage Tracking
Record usage events with optional idempotency keys. Supports API calls, activations, and custom metrics.
API-First Design
Five POST endpoints. Standard JSON envelopes. Rate limit headers. X-Request-ID tracking on every response.
Multi-Tenant Isolation
Each tenant gets a dedicated database. Resolver-based routing ensures zero cross-tenant data leakage.
For Engineering Teams
Built by engineers, for engineers. Every decision documented. Every error structured.
Structured Error Taxonomy
Every error follows ADR-009: machine-readable codes, human-readable messages, request IDs, and typed error envelopes.
LICENSE.NOT_FOUND · ACTIVATION.LIMIT_EXCEEDED
TENANT.STATUS.SUSPENDED · RATE_LIMIT.EXCEEDEDAudit Trail
Every provisioning stage, every license validation, every activation — logged with tenant_id, request_id, severity, and structured metadata.
ACTIVATION.CREATED · LICENSE.VALIDATED
USAGE.RECORDED · PROVISIONING.COMPLETEDRate Limiting
Per-key rate limits with X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers on every response. 429 responses include Retry-After.
Architecture Decision Records
40+ ADRs documenting every platform decision. Multi-tenant data model, provisioning pipeline, error taxonomy, API versioning, and more.
Architecture Highlights
Database-per-tenant
Full data isolation. Each tenant gets vx_tenant_{code} with independent schema and migrations.
Resolver-based
Middleware resolves tenant from API key or user token. No global state. No shared queries.
API-first
5 Integration endpoints, standard envelopes, versioned, rate-limited, audited. Built for machine consumption.
Security & Governance
Tenant isolation, HMAC-SHA256 key hashing, structured audit trails, and defense-in-depth at every layer.
Tenant Isolation
Dedicated database per tenant. No shared tables. Middleware enforces connection switching.
API Key Security
Keys hashed with HMAC-SHA256. Never stored in plaintext. Constant-time comparison.
Audit Logging
Every mutation logged to platform audit_logs. Structured event codes, severity levels, tenant context.
Error Taxonomy
ADR-009 compliant. No stack traces leaked. Typed error envelopes on every failure path.
Built for Production
ValidonX isn't a proof of concept. It's a production-grade platform backed by rigorous engineering.
30+
API Endpoints
13
Provisioning Stages
40+
Architecture Decision Records
100+
Error Codes Documented
GDPR Compliant
Data export, right to erasure, consent audit trail, DPA for enterprise tenants. Built for EU compliance from day one.
Operational reliability
Health checks, automated backups, Sentry error tracking, Prometheus metrics, and a disaster recovery runbook.
Open API Spec
OpenAPI 3.1 specification, interactive Scalar API explorer, and copy-paste PHP & JavaScript examples — integrate over plain REST, no SDK required.
Stay in the loop
Product updates, engineering insights, and release notes. No spam.
Ready to ship licensing
that actually works?
Get started with ValidonX in minutes. No credit card required.