llms.txt
# Toolaby
> Toolaby runs accounts, licences, subscriptions, trials, seats and the paywall for Chrome extensions that sell, on the developer's own Stripe account. A developer wires an extension to a tool with `npx -y toolaby@latest`, sets plans and features in the dashboard or from a coding agent, and gates paid work with `gate()`. Every page below is also Markdown at its address with `.md`.
## Instructions for agents
- Set up once: `npx -y toolaby@latest agents` registers Toolaby's MCP server (`npx -y toolaby@latest mcp`) in Claude Code, Codex, Cursor, VS Code and Gemini CLI. These docs alone, with no sign-in, are an MCP server at https://toolaby.app/api/mcp.
- Before writing Toolaby code, search these docs (`toolaby_search_docs`, or `npx -y toolaby@latest docs search <query>`) and read the page. Every page is Markdown at its address with `.md`. The client's methods are in https://toolaby.app/docs/reference/client.md: never guess one.
- In an extension wired to Toolaby, read `TOOLABY.md` at the project's root first. Never edit the `toolaby*` files: `npx -y toolaby@latest upgrade <tool>` replaces them.
- Gate paid work with `gate()` in the code that does the work; `has()` is for display only. A feature key in code must exist on the tool, and a plan must sell it.
- Everything acts on Test unless told `--live`. On Live, a change first answers a `confirm` code: send it only on the person's word.
- No secret in an extension or in a chat. The tool key (`tk_…`) is public; Stripe keys, `whsec_…` and Toolaby API keys (`wk_…`) are not. `npx -y toolaby@latest api-keys create --env-file .env` writes a server's key without printing it.
- Verify before saying it is done: `npx -y toolaby@latest check --json` exits `0`; `npx -y toolaby@latest test-unlock <tool> --plan <id>`, then `npx -y toolaby@latest check --browser --as <id>`, proves a paid feature unlocks on Test.
- Only a person can approve a sign-in, connect Stripe on Live, upload to the Chrome Web Store, or make a real purchase. Say these as steps left, never as done.
## When to use Toolaby
- A Chrome extension (Manifest V3) that charges: a lifetime licence, a monthly or yearly subscription, a free trial, a number of free uses, features by plan, seats for teams, coupons.
- Buyer accounts for an extension, signed in with Google or an email link, with a device limit, and no server of your own.
- Moving an extension from ExtensionPay, with its subscribers and their cards.
- A website that shows the buyer's account and sells the same tools.
- Not yet: Firefox extensions. Not at all: Manifest V2 extensions, which Chrome no longer runs.
Everything in one file: https://toolaby.app/llms-full.txt
## Start
- [Overview](https://toolaby.app/docs.md): Sell a browser extension with accounts, licences and subscriptions on your own Stripe account.
- [Quickstart](https://toolaby.app/docs/quickstart.md): Register a tool, wire your extension and make a test purchase.
- [Command line](https://toolaby.app/docs/cli.md): Wire an extension to a tool, or create one, from the terminal.
- [Build with an agent](https://toolaby.app/docs/agents.md): Set up a coding agent to build, price, test and ship an extension on Toolaby.
- [Frameworks](https://toolaby.app/docs/frameworks.md): Wire a WXT, CRXJS or Plasmo project, or an extension with a bundler of its own.
- [Gate your extension](https://toolaby.app/docs/gating.md): Check what a device may do before the action, and show the paywall when it may not.
- [Ship to the Chrome Web Store](https://toolaby.app/docs/ship.md): Copy the tool to Live, build the store copy of your extension, and publish it.
- [Troubleshoot an extension](https://toolaby.app/docs/troubleshooting.md): What an extension on Toolaby says when something is wrong, why, and what fixes it.
## Concepts
- [How it works](https://toolaby.app/docs/how-it-works.md): What the extension sends, what Toolaby answers, and where the money goes.
- [Test and Live](https://toolaby.app/docs/test-and-live.md): Build on Test, then copy the tool to Live and ship.
- [Pricing](https://toolaby.app/docs/pricing.md): Plans, each with its own trial, device count and seats, and coupons, as set under a tool's Pricing.
- [Subscriptions](https://toolaby.app/docs/subscriptions.md): The life of a buyer's subscription, from checkout to its end, and what your extension, your dashboard and your server see at each step.
- [Access and features](https://toolaby.app/docs/free-plan.md): Who may use a tool, what they get before paying, and which features each plan unlocks.
- [Versions](https://toolaby.app/docs/versions.md): See which builds your users run, and refuse a broken one; every copy below the line shows your message.
- [Bundles](https://toolaby.app/docs/bundles.md): One purchase that unlocks several of your tools, sold as a bundle on your own Stripe account.
- [Seats](https://toolaby.app/docs/seats.md): Sell a plan for a team — several seats on one invoice, or one per-seat subscription — and let one admin hand them out.
- [Surfaces](https://toolaby.app/docs/surfaces.md): A popup, a side panel, both or neither — how to start each one, and what the buyer sees.
- [Toolaby popup](https://toolaby.app/docs/toolaby-popup.md): The popup — or side panel — the wiring puts in front of yours, and the paywall it shows.
## Your website
- [Your website](https://toolaby.app/docs/own-site.md): Connect your website to your workspace, so its pages can show the buyer's account and sell your tools.
- [Website components](https://toolaby.app/docs/web-components.md): The account button and the data-toolaby-* attributes that sign buyers in, show content by what they own, and sell your tools.
- [Website JavaScript](https://toolaby.app/docs/web-javascript.md): Read the buyer's account and sell from your own code with window.Toolaby, in plain JavaScript, React or Next.js.
## Buyers
- [Buyer pages](https://toolaby.app/docs/buyer-pages.md): The sign-in, checkout and account pages a buyer sees, in your brand, on your address.
- [Customers](https://toolaby.app/docs/customers.md): Everyone entitled to a tool, and the support actions on each.
- [Migrate existing customers](https://toolaby.app/docs/migrate.md): Bring the customers you already have onto Toolaby, from Stripe or from a file.
- [Move subscriptions from another Stripe account](https://toolaby.app/docs/move-subscriptions.md): Move your subscribers from a Stripe account you used before Toolaby onto yours, with the same price, renewal day and card.
- [Move from ExtensionPay](https://toolaby.app/docs/extensionpay.md): Keep your ExtPay code as it is. One command switches it to Toolaby and copies your plans; your subscribers move with their cards.
- [Money](https://toolaby.app/docs/money.md): Who charges your buyers, Toolaby's fee, tax, refunds and disputes, on your own Stripe account.
- [Sync customers](https://toolaby.app/docs/sync.md): Keep a table of who holds your tool on your own server, with webhooks and the API.
- [Testing](https://toolaby.app/docs/testing.md): Produce every outcome on Test: a purchase, a decline, a renewal that fails, a refund, a dispute, a refused build.
- [Your data](https://toolaby.app/docs/your-data.md): Where buyer data lives, how you read and export it, and whether you can keep it in your own database.
## Workspace
- [Plans](https://toolaby.app/docs/plans.md): Hobby and Pro, what each includes, Enterprise on request, and what happens when a workspace changes plan.
- [Members](https://toolaby.app/docs/members.md): Invite people to a workspace as owner, admin or support.
- [Notifications](https://toolaby.app/docs/notifications.md): Emails to workspace members about sales, refunds, cancellations, disputes, and the week.
- [Export](https://toolaby.app/docs/export-and-exit.md): Download everything in your workspace, what leaving Toolaby involves, and what happens if Toolaby shuts down.
- [Security](https://toolaby.app/docs/security.md): What Toolaby prevents, what it cannot, and how your data is kept.
- [Limits](https://toolaby.app/docs/limits.md): What your plan holds, your workspace's fair-use limits, and the API's rate limits.
- [Changelog](https://toolaby.app/docs/changelog.md): What changed in Toolaby, the client and the command line, by date.
- [Client](https://toolaby.app/docs/reference/client.md): The methods of toolaby.js, what they return, and whether they make a request.
- [Objects](https://toolaby.app/docs/reference/objects.md): The User and Permit objects the client answers with, field by field.
- [Panel](https://toolaby.app/docs/reference/panel.md): The pages the platform mounts, and the functions that draw its panel in a page of your own.
- [Webhooks](https://toolaby.app/docs/reference/webhooks.md): The six events Toolaby sends your server, their payloads, and how to verify a delivery.
- [API](https://toolaby.app/docs/reference/api.md): Look up whether a person holds a tool, and grant or revoke access, from your own server.