Scroll
  • Home
  • Evorion
  • Features
  • Pricing
  • Reviews
  • Docs
  • Updates
Log inSign up

Node.js licensing API

Validate a licence from a Node backend with the built-in fetch. Express, Fastify, Next route handlers — anywhere that runs server-side.

Validate a licence key

One POST to /apps/{appId}/licenses/authenticate. Node 18+ (global fetch). No dependencies.

const APP_ID = process.env.EVORA_APP_ID;

export async function verifyLicence(licenseKey) {
  const res = await fetch(
    `https://api.evora.lol/api/developer-api/apps/${APP_ID}/licenses/authenticate`,
    {
      method: "POST",
      headers: {
        Authorization: `Bearer ${process.env.EVORA_API_KEY}`,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({ licenseKey }),
    },
  );

  if (!res.ok) return { ok: false, status: res.status };
  const data = await res.json();
  return { ok: data.authenticated === true, subscription: data.subscription };
}

// Call this from your server only. A key in client-side JS is a public key.

What you get back

  • authenticated — whether the key is valid and usable right now.
  • subscription.level and subscription.name — the tier you configured.
  • subscription.active — false when expired or paused. Use this, not the raw expiry.
  • subscription.hwid — the bound device, when HWID locking is on.

Keep the key server-side

The API key is a server credential. The safe shape is always: browser → your server → Evorion. Your backend holds the key, validates the licence, then issues your own session.

  • Never ship ag_sk_ keys to a client of any kind.
  • Scope each key to the minimum it needs, and to one application where you can.
  • Rotate from the dashboard; keys are shown once on creation.

Native apps want the C++ SDK

If you are shipping a Windows binary to end users, REST alone leaves the client unprotected. The C++ SDK adds encrypted bodies, device-bound credentials and runtime protection that a dashboard toggle can change mid-session.

  • SDK documentation
  • Full REST reference

Node.js questions

Is there an Evorion SDK for Node.js?
No, and you do not need one. Node.js talks to the same REST API the dashboard uses — the snippet on this page is the whole integration. The one native SDK is C++, which exists because it adds things a REST call cannot: encrypted request bodies, device-bound credentials, and server-driven runtime protection.
Can I call the API from Node.js running in a browser?
No. Anything shipped to a browser is readable by anyone who opens developer tools, so an API key there is a public key. Call it from your server, and issue your own session to the browser afterwards. CORS blocks browser origins for exactly this reason.
What does the authenticate endpoint return?
A JSON object with `authenticated` (boolean) and, when the licence resolves to a customer, a `subscription` object carrying level, name, expiry, HWID and an `active` flag. Read `active` rather than comparing the expiry date yourself — it applies the same rule the SDK does, including pauses.

Other languages: PHP, Python, C#, Go, Java, Ruby.

Make the hunt endless.Available today.

Get startedContact sales
Evora

Authentication, licensing, and runtime protection for Windows applications.

Product
  • Evorion SDK
  • Features
  • Pricing
  • Evorion
  • Updates
  • Reviews
Developers
  • Documentation
  • API reference
  • Integrations
  • Why Evorion
Resources
  • Aim module
  • Reseller program
  • Discord
Account
  • Sign in
  • Create account
Legal
  • Terms
© 2026 Evora. All rights reserved.