Solutions
Java & Kotlin Licensing SDK
Protect any JVM application with UlisesLib: Gradle and Maven setup, license verification, HWID binding, and automatic updates for Java and Kotlin software.
Ulises Licenses is a cloud licensing platform with UlisesLib, a Java SDK for any JVM application. Developers verify license keys over HTTPS with replay protection, bind licenses to machines with HWID limits, and ship watermarked auto-updates from one dashboard.
UlisesLib is a lightweight Java library that adds license verification to any JVM application. It works with plain Java, Kotlin, PaperMC plugins, Spigots, BungeeCord proxies, and standalone desktop or server software.
Integration is three calls: load your key, verify it, and react to the result. The library handles retries, timeouts, hardware fingerprints, and update checks, so your code stays focused on your product.
Gradle and Maven ready
Drop UlisesLib.jar into your build as a shaded dependency. No runtime services to install, no native code, Java 8 and newer.
License verification API
Verify keys against the cloud API with nonce replay protection, HMAC handshakes, and ECDSA-signed responses.
HWID binding
Lock each license to a configurable number of machines with support-driven resets through tickets.
Automatic updates
Check versions, download watermarked builds, and verify SHA-256 checksums without leaving your application.
Discord bot management
Issue, check, and revoke licenses from Discord with slash commands, including IP management and per-command cooldowns.
How Java & Kotlin Licensing works
- 1
Add the dependency
Follow the installation guide to shade UlisesLib into your jar with Gradle or Maven.
- 2
Load and verify
Read the license key from your config and call verifyLicense on startup, then re-check periodically.
- 3
Handle the result
Enable features on success; on failure, distinguish transient errors (retry) from rejections (disable) using stable error codes.
Java & Kotlin Licensing questions
Does it work with Kotlin?
Yes. UlisesLib is plain JVM bytecode with a Java API, callable directly from Kotlin with no adapters.
Which Java versions are supported?
Java 8 and newer, including modern LTS releases. The library avoids newer APIs to stay compatible.
What happens without internet?
Verification fails closed with a transient NETWORK_ERROR code, so your integration can retry instead of disabling features on a hiccup.
Without Ulises vs with Ulises
| Task | Manual | With Ulises |
|---|---|---|
| Issuing licenses | Copy-paste keys over DMs | Dashboard, bulk CSV, and Discord bot |
| Verification | None, or home-grown checks | Cloud API with signed responses |
| HWID and IP limits | Manual policing | Automatic enforcement with resets |
| Updates | Re-upload and re-share files | Auto-update with checksum verification |
| Leak tracing | No trail | Per-license watermarks |
| Revocation | Push a new build and hope | One click, effective on next check |
Related solutions
Minecraft Plugin Licensing
License protection for PaperMC and Spigot plugins with per-server HWID binding, IP limits, support-driven resets, watermarked downloads, and Discord management.
BuiltByBit Integration
Sell Minecraft plugins on BuiltByBit and enforce licenses with Ulises Licenses. Learn what integrates, how buyer activation works, and what stays separate.
Polymart Integration
Sell Minecraft plugins on Polymart and enforce licenses with Ulises Licenses. Learn what integrates, how buyer activation works, and what stays separate.