Threshold
Coming soon
Backend-first contract runtime

Plans that actually scale.

Threshold helps SaaS teams define versioned product contracts, publish them safely, and make backend runtime decisions for features, limits, balances, add-ons, resets, and custom plan revisions.

The application knows what is possible. Threshold knows what is allowed.
feature gates usage limits credit balances automatic resets custom plans
What it handles

Plan logic should not live everywhere.

Pricing starts simple, then spreads into billing webhooks, frontend checks, backend conditionals, usage counters, admin scripts, support overrides, and credit ledgers.

Access

Feature checks stay backend-first.

Gate exports, SSO, model access, webhooks, and support tiers without scattering plan names through product code.

Resets

Usage resets itself.

Daily, monthly, yearly, and custom windows reset automatically from the contract instead of cron glue in app code.

Balances

Credits spend on named targets.

Plan revisions define what create image or run model costs, while ledgers explain the withdrawal.

Resources

Product-area state is tracked.

Model members, docs, storage, API keys, integrations, and capacity counters as entity-owned contract state.

Custom plans

Bespoke contracts keep logic flat.

Create customer-specific plans and still route every backend check through the same decision path.

Revisions

History stays immutable.

Released contracts do not mutate under existing customers. New plan behavior means a new revision.

Reasons

Every decision can explain itself.

Return allowed, denied, consumed, spent, and why, so support and engineering debug from contract facts.

Backend flow

What it looks like in the request path.

A user action reaches your backend. Your backend sends Threshold the user or entity id, and Threshold resolves the active plan, allowance, reset window, and remaining capacity before returning a decision.

01 User action export docs User commits an action in your product.
02 Your backend process request Backend reaches the contract check before acting.
03 Verify send userId / entityId Backend asks Threshold about one entitlement.
04 Resolve plan + capacity Threshold finds plan, allowance, remaining capacity, and reset.
05 Decision allow / deny / consume Result returns to your backend with a reason.

Runtime checks should be boring.

Each request resolves an entity's active snapshot, evaluates the relevant contract nodes, returns a decision, and records the reason for support and engineering.

AI tokens Business Rev. 3, member daily cap, org monthly cap Allowed
Image credits Pro Rev. 2, spend target snapshot, shared balance Spent
CSV export Starter Rev. 6, feature not included in active contract Denied

Typed SDK.

Codegen turns contract definitions into backend-safe checks for entitlements, usage, balances, resources, and add-ons.

Contracts -> types -> runtime calls
Backend check generated
decision.ts
const decision = await threshold.limits.can({
  entity: workspaceId,
  entitlement: "docs:export",
})
discoverable keys typed decisions explainable reasons
Resource model

Product-area state, under contract.

Resources model the parts of a product that accumulate usage or occupy capacity, without mixing Threshold into your app's permissions, audit logs, or object lifecycle.

Resource definitions Stable product-area dictionaries like docs, members, storage, API, and AI. They organize contract state without replacing direct plan entitlements.
Resource entitlements Resource-local slots such as docs.imported, docs.export, members.count, or api.keys. Each slot belongs to exactly one resource definition.
Resource revisions Immutable resource versions bind stable slots to concrete entitlement revisions, so plans can reference a known contract surface.
Entity-owned state Threshold tracks contract state like usage and capacity for an entity. The app keeps domain state, permissions, RBAC, and audit trails.

Building SaaS with serious plan logic?

Threshold is for teams that need more than feature flags and less than a full billing platform. Define what your product sells, publish contracts safely, and make runtime decisions from stable snapshots.

Temporary landing page. Product in active development.