Skip to main content

License & Tiers

O.D.I.N. is licensed under the Business Source License 1.1 (BSL 1.1). The license automatically converts to Apache 2.0 on February 7, 2029. Until then, the BSL restriction is: you may not offer O.D.I.N. as a hosted service to third parties.

You are free to self-host, modify, and use O.D.I.N. for your own print farm operations without restriction.

Tiers​

FeatureCommunityProEducationEnterprise
PriceFreePaidDiscountedCustom
Printers5UnlimitedUnlimitedUnlimited
Users1UnlimitedUnlimitedUnlimited
Core fleet managementYesYesYesYes
Job schedulingYesYesYesYes
Real-time telemetryYesYesYesYes
Vigil AI detectionYesYesYesYes
Multi-org / multi-tenantYesYesYesYes
MFA, IP allowlist, GDPR exportYesYesYesYes
In-app alerts & browser push notificationsYesYesYesYes
OIDC SSO--YesYesYes
Custom role permissions--YesYesYes
Orders, products & BOM--YesYesYes
Maintenance tracking--YesYesYes
Analytics & reports--YesYesYes
Branding (including the setup wizard farm name)--YesYesYes
Webhooks & email notifications--YesYesYes
Job approval, user groups & print quotas----YesYes
Audit-log CSV export------Yes
MQTT event republishing------Yes
Priority support------Yes
Custom terms------Yes

Community​

The free tier for individuals and small workshops. Up to 5 printers and 1 user with full access to core fleet management features: printer monitoring, job scheduling, model library, spool inventory, the dashboard and Vigil AI. MFA, IP allowlist, organizations and GDPR export are included.

Pro​

For serious print farms and makerspaces. Unlimited printers and users, plus SSO, orders and products, maintenance tracking, analytics and reports, branding, webhooks and email notifications.

14-day Pro trial​

Start the trial in O.D.I.N.: open Settings > License, enter your email under Start 14-day Pro trial and click Send trial request. O.D.I.N. signs the request with the installation's device key (the same key that license activation binds), so only your server can start its trial. A server without internet access clicks Get request code instead and pastes the code on runsodin.com/portal/trial from any computer within 15 minutes.

The portal emails a confirmation link (double opt-in). The email and the confirm page show the requesting server's installation ID and a short device key, the same two values Settings > License shows (click Show installation ID). Only confirm if they match: someone who knows your address can request a trial for their own server, and confirming it would use up your address. Open the link within 24 hours and click Confirm and get my key: the page shows a Pro license key valid for 14 days. The key is not emailed; opening the same link again within an hour shows the same key. Activate it like a paid key under Activate License (online, or offline through the portal's offline activation page).

  • Signed requests older than 15 minutes, replayed or altered requests, and unsigned requests are refused.
  • Until the link is confirmed nothing is reserved. An unconfirmed request expires after 24 hours (the daily cleanup then deletes it).
  • A repeat request from the same installation for the same address re-sends that request's link with a new token, at most once a minute and up to 5 emails per request; older links stop working. Requests from other installations or for other addresses never touch it.
  • The portal answers every valid request the same way. If the trial can't start, the email says only that this server isn't eligible and to contact support@runsodin.com; it never says why.
  • An address gets at most 5 trial emails a day. After that the request is refused with "This address has received the maximum trial emails today; try again tomorrow or use another address." Re-sends of a pending request count toward the same cap. If the email can't be sent, nothing is used up: send the same request (or paste the same code) again while it is valid.
  • One trial per installation (its device key) and one per email address, ever. Addresses are compared lowercased; for Gmail, Outlook/Hotmail/Live, iCloud, Fastmail and Proton a +tag is ignored, and for Gmail dots are ignored and googlemail.com counts as gmail.com. Mail goes to that normalized address.
  • An installation that has, or has had, a paid license cannot start a trial.
  • The trial key only activates on the installation, and with the device key, that requested it. Online activation proves possession of that key (O.D.I.N. signs a portal challenge), offline activation signs it in the activation request, and the trial license names the device key: O.D.I.N. refuses a trial license issued to another device key.
  • While it runs, Settings > License shows "Pro trial — N days left". Superadmins see a dashboard notice once the trial has 3 days or fewer left, until they dismiss it. (Trials do not get the 30-day license expiry notice.)
  • When it ends, the expiry rules below apply: nothing is deleted, and Settings > License shows "Trial ended" with a link to buy.
  • Activating a paid key replaces the trial at any time.

Education​

Everything in Pro plus job approval, user groups and print quotas, at a discounted rate for accredited educational institutions (universities, schools, libraries, community colleges). Unlimited printers and users. Contact us for verification.

Enterprise​

For organizations that need priority support or custom licensing terms. Includes everything in Education plus audit-log CSV export, MQTT event republishing, priority email support (best-effort response within 1 business day, with dedicated onboarding and quarterly check-in calls) and flexibility on deployment requirements. There is no SLA or uptime guarantee (see the Terms of Service, section 8). Unlimited printers and users.

License Activation​

O.D.I.N. verifies its signed license locally using Ed25519. Obtaining or refreshing that signed license is a separate activation step.

Online activation​

  1. Open Settings > License and enter your issued key under Activate License.
  2. Choose Activate. The server contacts the license portal and binds the activation to this installation's device identity.
  3. The signed license is saved locally. Check the displayed tier, limits and expiry.

Ongoing signature validation does not require periodic contact with the portal. Online activation itself does require internet access from the ODIN server.

Offline activation​

If the server has no internet access, open the offline activation portal on a connected device. Follow its challenge/request flow using the Offline Activation controls in Settings > License: export the signed activation request from ODIN, submit it to the portal, then import the returned signed license into ODIN. Keep the installation identity and device keys unchanged.

Renewing an existing evaluation or license​

A changed expiry in the portal does not automatically replace a signed license already installed on your server. After support confirms a renewal, activate again with your existing key, or repeat the offline activation flow, and verify the new expiry in Settings > License. Do not unactivate, reset the installation or request a new trial just to refresh a renewal.

Air-Gap Compatible​

O.D.I.N. works fully offline once activated. The license does not require periodic revalidation against an external server. Every license key, including Pro trial keys, can also be activated offline: the server never needs internet access, and the activation request and signed license file move through the license portal's offline activation page from any connected device. This makes it suitable for:

  • Air-gapped manufacturing environments
  • Networks with strict outbound firewall rules
  • Deployments without internet access
tip

If your license is approaching expiration, superadmins see a warning notice on the dashboard once 30 days or fewer are left (each superadmin can dismiss it; trial licenses get only their 3-day notice). Renew early to avoid any interruption, especially in air-gapped environments where license delivery requires manual transfer.

Changing Tiers​

To upgrade or change your license tier:

  1. Obtain a new license key for the desired tier
  2. Go to Settings > License
  3. Activate the new key online, or import the signed license returned by the offline activation flow
  4. New tier limits and features take effect without a restart

Downgrading (e.g., Pro to Community) applies the new limits immediately. If you exceed the Community printer limit, existing printers remain but you cannot add new ones until you are within the limit.

Tier enforcement and downgrades​

Tier features are enforced by the O.D.I.N. server, not only hidden in the UI. A request for a feature the license does not include returns 403 with a message naming the tier that includes it.

  • Pro features: orders, products (including BOM components and consumables), maintenance tracking, analytics, analytics-based reports and branding (including the farm name set in the setup wizard, which becomes the app name).
    • The analytics-based reports are chargebacks plus the scheduled fleet_utilization, failure_analysis and chargeback_summary reports.
    • Branding covers global branding and the organization-level branding_* settings.
  • Enterprise features: audit-log CSV export and MQTT event republishing.
    • The MQTT broker settings stay editable on every tier, because MQTT smart-plug commands use the same connection.
  • Every tier: MFA, IP allowlist, organizations and GDPR export.
    • /api/metrics (Prometheus) is operational monitoring and stays free.
    • The job_summary and filament_consumption scheduled reports are also free, because they match the free CSV exports.

Downgrade or expiry never deletes data. When a license is removed, downgraded or reaches its expiry date (expiry takes effect at that moment, without a restart):

  • Existing orders, products, BOM components and maintenance records stay readable and exportable.
  • They can still be deleted. That includes child rows such as order items and BOM components, so a downgraded install can still remove its own data, for example customer details.
  • Creating or changing these records requires the license again.
  • Branding is not rendered without the branding entitlement. The web UI, the login page and server-rendered output such as invoice PDFs show the stock O.D.I.N. branding, and stored organization branding is not applied either. The stored branding (global and organization) is kept unchanged and appears again as soon as the server is licensed again.
  • Scheduled analytics reports are skipped, and each skip is logged.

Feature lists are additive. A license's features list can grant extra entitlements beyond its tier. It cannot remove features that the tier includes, so features: [] or a blank list still means "everything in the tier".

Offline unactivation hands the seat over. Generating an offline unactivation request (Settings > License, with a challenge code from the license portal) removes the license from that server at once. The server reverts to Community, and the license file is kept aside as odin.license.unactivated-<timestamp> for your records. If the hand-over is abandoned, re-activate the server to get the license back.