The Pool

The LPM.dev Registry Pool is a shared package subscription. One personal subscription or organization-assigned seat gives a developer access to every Pool package, while package authors share the resulting subscription revenue.

Subscribe once

AccessPriceWho receives access
Personal subscription$12/monthThe subscriber
Organization Pool seat$12/month per assigned seatThe organization member assigned that seat

Prices are before applicable tax. The subscription is flat: installing more Pool packages does not increase its monthly price.

Use LPM CLI to install a JavaScript or Swift package:

lpm install @lpm.dev/acme.toolkit

LPM CLI also installs npm packages and packages from other npm-compatible registries. A project can use Pool packages without moving the rest of its dependency graph to the LPM.dev Registry. See the LPM CLI install reference for resolver, workspace, and Swift project behavior.

Manage Personal Billing

Open Dashboard > Settings > Billing to cancel or resume a personal Pool subscription. Scheduled cancellation keeps paid access until the period ends.

If a renewal fails, Pool access is suspended. The existing subscription remains available for management. Update the card if needed, then select Pay invoice or wait for the scheduled retry. Access returns after payment succeeds. Creating another subscription is unnecessary.

Personal Pro has a grace period instead. When a Pro renewal fails, Pro stays active for nine days from the start of the unpaid period, with tunnel and remote cache overage paused and publishing past the included storage refused, while you update the card or pay the invoice; storage already past it stays billed while the payment is retried. Remote cache above the included quota is kept, up to the cap, for three days, then removed; a cache is kept this way at most once in 27 days, and the billing page shows which applies. If Stripe cancels the subscription during those days, Pro still lasts until they end, but remote cache overage turns off and cache above the included quota is removed; you can subscribe again from the billing page. If payment hasn't succeeded by then, the account moves to Hobby; paying the open invoices later restores Pro, and upgrading again takes you to them instead of starting a second subscription. While that subscription stays open, its renewals can go on billing Pro and the storage it billed when the account moved. Pro and Pool are separate subscriptions. Organization billing has its own grace period.

Manage Organization Pool Seats

Owners and admins turn Pool on for members on the organization's Members page. Turning on a seat charges the rest of the current billing period at once: the monthly seat price times the part of the period that is left, plus any tax. Each purchase costs at least $0.50, the smallest amount a card can be charged. The member gets Pool access when the payment succeeds. From the next renewal on, the seat is billed every month with the plan.

  • If your bank asks you to confirm the payment, the page asks you. If you close it without confirming, the purchase is canceled and nothing is charged.
  • If the payment is declined, nothing is charged and the seat stays off.
  • If a member leaves the organization or gets a personal Pool subscription before the payment completes, the whole payment is refunded and no seat is turned on. The same happens if the billing period ends before the payment completes.
  • Credit on the organization's account pays first, before the card.
  • The organization needs a payment method and a billing address in Billing. An organization with an open invoice or a disputed payment must settle it before it can add seats.
  • Seats can't be added in the last ten minutes of a billing period. Add them after the renewal.
  • A disputed seat charge is handled like a disputed plan payment.

Turning a seat off ends Pool access at once. The rest of the period is not refunded, so turning seats on and off within a period never costs less than keeping them.

How the subscription is shared

After Stripe settles a Pool subscription line, the LPM.dev Registry divides its net paid amount:

RecipientShareStandard $12 contribution
Package authors80%$9.60
LPM.dev Registry20%$2.40

The standard amounts assume a full-price payment. Discounts and pre-tax credits reduce the settled contribution, and refunds adjust earnings that have not yet been paid. A payment made partly or fully from account credit counts in full. An organization seat's first charge, for the rest of the period, is shared the same way and counts for the member it gave Pool access.

Only package use associated with a valid Pool entitlement enters the revenue calculation.

Per-subscriber allocation

Each subscriber's author contribution is allocated among the Pool packages recorded for that subscriber during the billing period. It is not added to one global popularity fund.

The LPM.dev Registry records at most one observation for each subscriber, package, and billing period. Reinstalling the same package, using another machine, or encountering it in another dependency tree does not add another observation.

Direct packages and their Pool dependencies receive different weights:

DepthWeightPackage
01.00Directly downloaded package
10.70First-level Pool dependency
20.49Second-level Pool dependency
30.34Third-level Pool dependency

For example, suppose a standard $9.60 author contribution has two eligible observations:

@lpm.dev/acme.app       1.00  direct
@lpm.dev/shared.helper  0.70  dependency

Assuming the dependency meets the adoption rule and has a different owner, the total weight is 1.70. About $5.65 goes to acme.app and $3.95 goes to shared.helper.

Dependency observations from fewer than two unique installers receive no weight for that period. A dependency owned by the same author as the directly downloaded package receives 30% of its normal weight. Direct observations are not subject to the two-installer rule.

If a subscriber has no eligible package observations for a billing period, their author contribution is divided equally among all Pool packages.

See Revenue Sharing for the complete accounting and payout rules.

Publish to the Pool

Authors begin with a private LPM.dev Registry package and request Pool distribution from the package settings. The package remains private while its public-distribution review is pending.

Once approved:

  • Pool subscribers can install its approved versions.
  • The author earns a share of settled Pool revenue.
  • The package cannot set its own sale price.
  • Pool distribution is permanent. The package cannot return to private distribution or move to Marketplace.
  • The package cannot be deleted, but it can be archived or deprecated from its Dashboard Danger Zone.

Authors can inspect current-period estimates with LPM CLI:

lpm pool

See Becoming a Pool Author for promotion, dependency, lifecycle, and payout requirements. The LPM CLI pool reference covers command output and JSON fields.

Licensing

Pool distribution does not replace or rewrite a package's license. Authors remain responsible for choosing terms that permit their intended distribution and for complying with the licenses of their dependencies.

Publishing the same project through another registry also remains subject to those license terms. The Pool subscription and revenue model does not by itself determine legal compatibility.

See also