All docs
Docs/ Packages/ Paid plans & licensing
Packages

Paid plans & licensing

How approved paid Store plans use a USD Store balance, calendar-month renewal, signed leases, seats, and sealed delivery.

TL;DRChoose an approved one-time or monthly plan and pay immediately from your USD Store balance. Paid sealed packages activate with a signed, device-bound lease that works offline for up to 30 days.

Current status: one-time purchases and calendar-month agreements use your USD Store balance. Monthly renewal, grace, and cancellation run automatically. Production automatic balance reload remains unavailable until an approved funding provider is connected; local development has a credential-free test-funding control.

An approved paid package has one active reviewed plan per immutable package version. The plan sets the USD price, term, seats, and delivery mode. Every displayed amount is USD, including your balance and plan price. The server records money as exact whole cents, never floating-point values. Buying atomically debits your available balance and grants the entitlement, so an interrupted or repeated request cannot charge twice or leave access half-created.

One-time vs monthly#

Every plan is one of two kinds:

  • One-time — one balance payment grants perpetual access.
  • Monthly — the first month is paid immediately, then the same USD amount is debited on the calendar day you started. A signup on the 29th, 30th, or 31st uses the last valid day in a shorter month and returns to the original anchor when possible.

A creator selects one of these terms for each immutable package version. Changing the term or price requires a new reviewed version; it never mutates an existing buyer's economics. Monthly renewal is autonomous: if the balance is short at the renewal instant, the agreement enters a three-day grace period and retries hourly. Adding enough balance during grace renews the next calendar month; otherwise the agreement lapses when grace ends. Cancellation stops the next renewal and preserves access through the already-paid period.

Balance and automatic reload#

Your account page shows the available and held Store balance, recent movements, monthly agreements, and automatic-reload settings in USD. A reload preference contains a balance threshold, reload amount, and monthly limit. It can move money only when the server has an approved funding provider. Production currently fails closed instead of pretending that a saved preference can fund the balance. The local development control adds test USD through the real ledger but does not contact or prove a production provider.

Concurrent seats#

A plan records a number of concurrent seats. A seat is one live device using the package at the same time — not a named user, and not a total install count. A seat count of 0 means unlimited. The current licence contains this allowance, but live collaboration enforcement is not enabled yet; see Collaboration & seats.

Buying seats by quantity#

When buying, the buyer chooses a seat quantity, and the price scales with it:

text
# → total = plan price × N users
# → a 1-seat plan bought ×3 → entitles 3 concurrent seats

Seat quantity is fixed for that purchase. The current service does not silently upgrade an active licence; a different plan or quantity requires an explicit future upgrade flow.

Offline leases#

Activating a paid package issues a signed lease valid for 30 days. While the lease verifies, the package runs offline — no per-run server call. The lease is checked against a cached copy of the store's signing keys, must match the device it was issued to, and is guarded against clock roll-back (a high-water-mark of the newest server time seen). When the lease expires, the client re-activates; a revoked entitlement or a lapsed subscription then fails and the package freezes — so changes bite within the lease window without any always-on connection.

Delivery modes#

Each plan picks how the code reaches the buyer:

Delivery What ships Protection
sealed Encrypted .lsdpkg bytecode, device-keyed Strong deterrent (locally-run code is decompilable)
source Readable source, on purpose None — for open or trusted packages
server Nothing sensitive would ship Reserved; hosted execution is not enabled

Use sealed for the current paid delivery path. Source and server are plan vocabulary for future explicit product lanes; a listing must not offer a delivery mode the runtime cannot fulfil.

LearnPublish to the store · Buy & install · Collaboration & seats

APIlsd_package.json · PackageManager

ExamplesA complete package

Frequently asked questions

What is a seat?

A seat records the concurrent-device allowance purchased with the licence. Live collaboration enforcement of that allowance is not enabled yet. Seats of 0 mean unlimited.

Does a paid package need the internet to run?

Not continuously. The current paid path supports sealed packages. Activation issues a signed lease valid for 30 days, so they run offline within that window. A revoked entitlement or a lapsed monthly agreement takes effect no later than lease expiry.

By LSD Team · Last updated Sep 09, 2026 Ask a question View as Markdown
Type to search every doc, guide, and tutorial.
↑↓ navigate openesc close