# How products work

URL: /products/how-products-work · Id: `page:products/how-products-work`

> The model under everything a Startup sells, from the promise it makes to the price, access and usage a customer pays for.

A [Product](/business/nouns/product) is what you sell, and an [Offer](/business/nouns/offer) is how you sell it. Every Product, of every kind, gets the same business around it.

## Six ways in, four kinds
Start from whichever of six sounds like your business: an [App](/business/nouns/app), an API, a [Site](/business/nouns/site), a [Service](/business/nouns/service), an agent or data. Each maps onto one of four kinds, and the kind sets the promise you make.

| You sell | Sounds like you if | Kind | The promise |
| --- | --- | --- | --- |
| [App](/products/app) | [Customers](/business/nouns/customer) sign in and work in it | [Software](/business/nouns/software) | The tool works |
| [API](/products/api) | Developers or agents call it from their code | Software | The tool works |
| [Site](/products/site) | You publish, list or sell from [Pages](/business/nouns/page) | Every kind gets a Site | It is true and it is yours |
| [Service](/products/service) | You deliver a finished result | Service | The outcome arrives, or the remedy applies |
| [An agent sold as a service](/products/agent) | An agent does a job inside the customer's business | [Agent](/business/nouns/agent) | The task passes, or it is redone |
| [A data product](/products/data) | You sell records people look up | Data, as a [Dataset](/business/nouns/dataset) | The records are true |

Hybrids are normal. An App usually ships its API, a Service often runs on an agent, and a data product is an API over a Dataset. Start from what the customer pays for, then add the rest.

[Product kinds](/products/four-kinds) explains the four promises in depth.

## What the customer pays for
| From | Joined by | To |
| --- | --- | --- |
| Product | sold through | Offer |
| Offer | priced by | [Price](/business/nouns/price) |
| Price | counted by | [Meter](/business/nouns/meter) |
| Offer | grants | [Entitlement](/business/nouns/entitlement) |
| Entitlement | bounded by | [Limit](/business/nouns/limit) |

The Product holds the promise. The Offer holds the commercial terms: the Price, how often it bills, and what happens at a Limit. Keeping them apart lets one Product sell several ways, and lets a price change without touching the promise.

Each Entitlement grants one [Verb](/business/nouns/verb), so "export" is something a plan includes or leaves out. A Meter counts usage for a usage Price, each counted unit once.

[Anatomy of an Offer](/products/offers/anatomy) covers each part, and [Pricing models](/products/pricing/models) shows which to pick.

## One Product, many Offers
Leaseline is one Product with three Offers: `pro` at $29 a month, `pro-yearly` at $290 a year, and `team` at $15 per seat. Each is a row on the pricing page and a price on Stripe, and all three grant the same dashboard.

A new Price is a new Offer, never an edit. A customer keeps the Offer they bought until they switch, so a price change never rewrites a past sale.

## What every product gets
Whatever the kind, the business around it comes with it:

- a page on your [Site](/business/nouns/site), on your [Domain](/business/nouns/domain), under your [Brand](/business/nouns/brand);
- checkout, receipts and sales tax on every charge, with your [Startup](/business/nouns/startup) as seller of record;
- a [Portal](/business/nouns/portal) where each customer sees their plan, invoices, usage and keys;
- terms of service and a privacy policy, written for what you sell;
- a support inbox answered by the support agent;
- an API, an MCP server and `llms.txt`, so agents can find it, read it and buy it.

That is the difference from an app builder: you get the business, not only the product.

## Under the hood
Stripe holds each Offer as a Stripe Product and each Price as a Stripe Price. The Startup's own records lead, and Stripe mirrors them:

**Price** (`price`). The source of truth is db.sb, and Stripe holds a copy written from it.

| Property | Stripe field | Source of truth |
| --- | --- | --- |
| `amount` | `unit_amount` | db.sb |
| `meter` | `recurring.meter` | db.sb |

[Subscriptions](/business/nouns/subscription), invoices and payouts run in [finance](/systems/finance). Products say what is sold and on what terms, and finance moves the money.

## Next
Part 2 of [six chapters on how the business works](/start/with-your-agent#how-it-works-in-six-chapters). [The E-Myth model](/agents/e-myth) is next: who does the work, and what you still decide.