Skip to content
potluckdb

Start here

↑ ↓ Select↵ OpenEsc Close

Licensing and trial

potluckdb is proprietary software under the License and Subscription Terms. A license key authorizes its use. Without an accepted license key, you receive a trial with every feature.

A seat authorizes one developer, identified by email.

PlanPriceWho it is for
PersonalFreeOne person who learns, develops hobby projects, or publishes their own free apps.
MonthlyUSD 99 per seat per monthWork and commercial products.
AnnualUSD 499 per seat per yearWork and commercial products.

The Personal plan does not permit work for an employer, a client, or any organization. This includes unpaid work for a nonprofit organization and research as an employee of a school or university. The Personal plan does not permit anything that earns money, such as sales, subscriptions, ads, or in-app purchases.

Personal use includes your own coursework or thesis. It includes free open-source projects. It also includes voluntary donations if the donor gets nothing in return. A business that develops with a free open-source project needs its own license.

Annual: Launch price. The regular price will be USD 999. Yours stays at USD 499 while you renew.

Checkout adds tax to paid plans where applicable. You can cancel at any time. See Pricing for details.

The Personal plan has one seat for you only. It has no administrators, invite link, or company email domain. It needs no payment card.

  1. Open Get a free personal key.
  2. Sign in with the six-digit code that the service sends to your email address.
  3. Confirm that you will use the license key only for personal, non-commercial projects.
  4. Accept the License and Subscription Terms.
  5. Select Get my free key.
  1. Open Pricing.
  2. Select Buy monthly or Buy annual.
  3. Choose the number of developer seats.
  4. Enter your company or team name.
  5. Confirm that you buy for business use.
  6. Accept the License and Subscription Terms.
  7. Select Continue to checkout.
  8. Pay on the checkout page.

Monthly renews every month. Annual renews every year.

Checkout can show the price in your local currency. The converted price includes a currency conversion fee of 2–4%.

To avoid the conversion fee, choose US dollars at checkout.

A subscription paid in a local currency renews in that currency. Renewal uses the exchange rate on the renewal date.

Leastsquare Inc. sells potluckdb licenses. Link is the merchant of record. Its legal name is “Sold through Link, LLC”, and it is a Stripe affiliate. Checkout shows it as Link. Link sends the receipts and invoices.

The buyer becomes the license administrator, who manages the company’s license. Each license key displays the company or team name that you entered. The check page also displays that name.

Open the Your key page to copy your license key or release your seat.

An administrator can claim an available seat without a company email domain or an invite link. Select Take a seat for yourself on the Your key page. This works only if the license has a free seat.

If you administer a license, the Your key page shows its seats in use and a link to the Team and billing page.

Open the Team and billing page to administer the company license.

Administrators can:

  • Add or remove administrators and company email domains.
  • Rotate the invite link and invite developers by email.
  • Open billing and invoices in Stripe’s billing portal.
  • See who holds each seat and release seats.

Administrators receive an email whenever a developer claims a seat. For licenses bought online, administrators change the seat count on the Team and billing page. The count cannot fall below the number of seats in use.

Adding seats charges you now for the remaining part of the current month or year. Removing seats takes effect now and reduces the next renewal charge. It gives no credit for the current month or year. Link sends the invoice. For other licenses, contact licensing@potluckdb.com.

The Team and billing page shows the number of paid months in a row for a Monthly subscription.

Each developer claims their own seat. The Personal plan has exactly one seat. Paid plans have 1 to 1,000 seats.

For a paid plan, claim a seat as follows:

  1. Open the invite link, or use an email address at a company email domain of the license.
  2. Sign in with the six-digit code that the service sends to your email address.
  3. Open the Your key page.
  4. Claim an available seat.
  5. Copy your license key.

An administrator can add a company email domain only if their own email address is at that domain.

When you no longer need your seat, release it on the Your key page.

If you release a Personal seat, open Get a free personal key to take it again.

A license key’s updates until date (updates_until) specifies which releases it covers. License keys keep working for every release whose release date is on or before that date. Each release has a fixed release date. If a release does not accept a license key for this reason, the error message shows both dates.

A Monthly license key covers releases up to the end of its paid month. An Annual license key covers releases up to the end of its paid year. Each renewal advances the updates until date.

  1. Before you use a newer release, copy the current license key from the Your key page.
  2. Replace the old license key in your application.

After an Annual renewal, the service sends each seat holder an email about the updated license key. After a Monthly renewal, the service sends no email.

A Personal license key covers releases up to 365 days after the day that you get it. From 60 days before that date, the Your key page shows Renew for a year. If you renew, the license key covers releases up to 365 days after the day that you renew.

You can switch an active Monthly subscription to Annual. You cannot switch while a cancellation or a seat change waits to take effect.

  1. Open the Team and billing page as an administrator.
  2. Select Switch to annual billing.

Annual billing starts on the day that you switch, at USD 499 per seat per year. Stripe credits the unused part of the current month.

To switch from Annual to Monthly, contact licensing@potluckdb.com.

Administrators cancel the subscription through Billing and invoices on the Team and billing page, or at link.com.

  • Personal: You have no payment to stop. To cover newer releases, renew the license key on the Your key page.
  • Monthly: If you paid for 12 months in a row, you may keep using the releases from your paid months. If you cancel sooner, your right to use potluckdb ends when the subscription ends.
  • Annual: You may keep using the releases from your paid year, even if you stop paying.

A paid subscription continues until the end of its paid month or year. See the License and Subscription Terms.

The License and Subscription Terms set these limits. No release refuses a license key because of the current date or the license key’s plan. A release that accepts a license key always accepts it, so the apps that you ship keep working.

Each developer seat has one license key. A license key is signed text with three parts: header.payload.signature. It uses base64url.

A software development kit (SDK) provides the potluckdb API for your programming language.

The SDK passes this text to the runtime without parsing it. The runtime, the component that executes database operations, verifies the license key offline. It uses verification keys embedded in the release. These cryptographic keys check the signature. The release never contains private signing keys.

Ordinary verification makes no network request. It stores nothing in an application database. A license key embedded in an application authorizes its databases on every end-user device. End users enter nothing. The license terms set the number of seats, and the runtime does not enforce it.

The SDK uses the first source that contains a license key:

OrderSource
1The open option: license_key in Python, Rust, and C++.
1The open option: LicenseKey in Go and .NET.
1The open option: licenseKey in JavaScript, Swift, Objective-C, Dart, and the Java and Kotlin builder.
2The POTLUCKDB_LICENSE_KEY environment variable.
3The license-key file in the configuration directory.

A browser page can use only the open option. Connection strings accept license_key (ODBC uses License_Key).

The configuration directory uses these locations:

ConditionConfiguration directory
POTLUCKDB_CONFIG_DIR is setThe directory it names.
macOS, without POTLUCKDB_CONFIG_DIR~/Library/Application Support/potluckdb
Windows, without POTLUCKDB_CONFIG_DIR%APPDATA%\potluckdb
Linux, without POTLUCKDB_CONFIG_DIR$XDG_CONFIG_HOME/potluckdb or ~/.config/potluckdb

Android has no fallback because it sets no home directory.

For Android, set POTLUCKDB_CONFIG_DIR under your application’s files directory before its first potluckdb call.

.NET MAUI needs no setting because .NET for Android sets HOME.

Some service managers start processes without HOME, or with neither APPDATA nor USERPROFILE on Windows. Only a license key from the open option or environment then allows database creation.

An unaccepted license key does not fail the call. The SDK uses the trial and reports the reason on standard error.

Every SDK authorizes a database location before it constructs the first owner for that location. An owner is a database or snapshot object. Without an accepted license key, it grants a 30-day trial per machine. The trial starts at the machine’s first authorization. Every feature, remote type, and platform works during the trial.

A first-use file in the configuration directory records the trial’s start. In a browser, that file sits beside the databases in the origin private file system. This file system is browser storage that only the same website origin can access.

Existing databases keep opening and working after the trial ends. Only database creation fails, with license_required (see Errors). Creation means opening a location without a durable database identity, which identifies a database across restarts. This includes a new local database or a new device’s copy of a remote. Opening an exact remote revision never counts as creation. A revision is one published database state (see Concepts).

The runtime reports license state on standard error. The browser sends these notices to the console. Android sends them to the system log with the tag potluckdb.

potluckdb: trial, 30 days left on this machine. A license key ends this notice: https://potluckdb.com/pricing
potluckdb: the license key was not accepted (malformed: license key must have three segments); running under the trial. Check the key at https://account.potluckdb.com/check
potluckdb: the 30-day trial on this machine has ended. Existing databases keep working; creating a database needs a license key: https://potluckdb.com/pricing

The runtime prints each distinct line at most once per process. An accepted license key prints nothing. No option silences these notices.

Open Check a key to check your license key.

The page shows whether the license key is genuine and which company received it. For Personal license keys, it shows “Personal license” instead of a company name. It also shows whether potluckdb has blocked the license key.

Each release contains a block list of license key digests. A digest identifies a license key without storing its full text. A release refuses a blocked license key only if that list contains its digest. Earlier releases do not learn about later blocks. A refused license key uses the trial instead.

For other questions, email licensing@potluckdb.com.