.NET SDK
Revenusion.MonetizeIt.Client.* packages on netstandard2.0 — .NET Framework, .NET 8+, MAUI and Unity. Activation, validation, entitlements, usage, offline, fingerprinting.
.NET SDK guideA signed license your process checks in memory. A session that renews itself. Usage reporting that batches in the background. Everything the SDK does is on the REST API, so any language works.
Private preview. Short form, personal reply.
var license = await session.AccessLicenseAsync();
if (license is null || !license.FeatureValidation.IsValidFeature("advanced-export"))
{
return Results.Forbid(); // not licensed for this feature
}var status = await session.AssetConsumption.TryConsumeAsync(
license.LicenseValidation.CurrentSession, "api-calls.total", amount: 1);
if (status is null ||
status.QuotaUsagePolicy is TierUsagePolicy.Deny or TierUsagePolicy.SuspendUsage)
{
return Results.StatusCode(429); // over the quota for this tier
}# 10. Activate a license — the activation code and a device fingerprint.
# Keep the returned licenseToken: it is the bearer for the calls below.
curl -X POST "$API/api/v1/provision/activations/license" \
-H "content-type: application/json" \
-d '{ "activationCode": "'"$CODE"'", "fingerprint": "'"$FINGERPRINT"'" }'# 11. Report usage — the license token from step 10, not the API token.
# Its `jti` claim is the session id in the path.
curl -X POST "$API/api/v1/provision/usage/try-consume/$SESSION_ID/$METRIC?amount=1" \
-H "authorization: Bearer $LICENSE_TOKEN"
# 12. Read it back
curl "$API/api/v1/provision/usage/$SESSION_ID/$METRIC/usage" \
-H "authorization: Bearer $LICENSE_TOKEN"The REST quickstart runs the whole loop with just an API client. For the admin half, the portal does the same in a handful of screens, all point and click.
builder.Services
.AddMonetizeItHttpClientWithAuthentication(builder.Configuration)
.AddMonetizeItLicenseConsumer(builder.Configuration);Revenusion.MonetizeIt.Client.* packages on netstandard2.0 — .NET Framework, .NET 8+, MAUI and Unity. Activation, validation, entitlements, usage, offline, fingerprinting.
.NET SDK guidelibmonetizeit — the .NET consumer core compiled with Native AOT behind a C ABI. monetizeit.h plus a header-only C++ RAII wrapper, prebuilt per platform.
Native libraryOne versioned path, OAuth 2.0 client credentials for your backend, activation code + fingerprint for the runtime. Additive evolution, so everything you build keeps working.
Using the REST APIOpen client code. Every client library is public on GitHub: the .NET SDK, the C/C++ library and the samples. You may change and distribute them as part of your Oclavex license.
Activation is anonymous or authenticated with the license token itself. Decompile the binary and all you find is a public key.
The SDK requires the tenant’s public key to start, and validates every license against it — locally, on every launch.
The license is cached on disk encrypted, so the application keeps working offline and the grant stays private.
Pin more than one signing key; publish, promote and retire while customers carry on as usual.
Usage commits take an idempotency key. A retried commit returns the original decision, and each unit is consumed exactly once.
HMAC-SHA256 over a CloudEvents envelope, with an overlap window when you rotate the secret.
The docs are the contract. Every claim on this page links to the page that backs it.
Tell us about your software and how you want to sell it. A person replies, and you can open a live demo while you wait.
Private preview. Short form, personal reply.