# Products, Offers and revenue

URL: /products/offers-and-revenue · Id: `page:products/offers-and-revenue`

> What a Startup sells, how an Offer packages it for a Motion and an earning model, and how an accepted Offer becomes counted revenue.

A [Product](/business/nouns/product) is what a [Customer](/business/nouns/customer) gets, with a promise they can rely on. An [Offer](/business/nouns/offer) sells that Product to one kind of buyer, at a [Price](/business/nouns/price), on terms.

## Four kinds of Product
Every Product is one of four kinds, set by the promise it makes. captionyard.com, which subtitles online courses, sells all four.

| Kind | Promise | captionyard.com | Built by |
| --- | --- | --- | --- |
| Data | These records are true | A [Dataset](/business/nouns/dataset) of 9,000 teaching terms in 12 languages | [SoftwareBuilder](/code/builders/software) |
| [Software](/business/nouns/software) | This tool works when you use it | A subtitle editor with timing and style checks | SoftwareBuilder |
| [Agent](/business/nouns/agent) | This worker acts for you | An Agent that subtitles each new upload in the creator's video library | SoftwareBuilder |
| [Service](/business/nouns/service) | This outcome gets done | Subtitles in 12 languages, reviewed by a native linguist, accepted within 48 hours | [ServiceBuilder](/code/builders/service) |

Kind follows the promise, not the pricing. Charging per minute does not turn the Agent into a Service; warranting accepted subtitles does.

An Agent Product runs inside the Customer's [Tenant](/business/nouns/tenant), with the Customer's data and [Permissions](/business/nouns/permission). A Service states its [Outcome Contract](/business/nouns/outcome-contract): what counts as done, how acceptance works, and the remedy when it fails.

## Supply: digital or human
Digital supply is infinite. The editor and the Agent serve the ten-thousandth Customer as they serve the first, so they need only demand.

Supply that depends on people is finite, recruited, and credentialed. captionyard.com's Service depends on linguists, so it adds supplier recruiting, [Credential](/business/nouns/credential) checks, a task inbox for each linguist, and payouts.

The [Product Templates](/business/nouns/product-template) encode this split. The Agent extends [Agent as a Service](/products/templates/agent-as-a-service); the reviewed Service extends [E2E managed service](/products/templates/managed-service), where Agents do the work and [Humans](/business/nouns/human) check it.

## Interfaces are not the model
Every Product is reached through the same [Interfaces](/business/nouns/interface): [API](/code/api/reference), [MCP](/code/mcp/reference), [CLI](/code/cli/reference), [SDK](/code/sdk/reference), [Site](/business/nouns/site), [App](/business/nouns/app), docs, and webhooks. All of them call one set of [Verbs](/business/nouns/verb).

"An API business" therefore names how a Product is reached, not what it promises. The editor answers the same call from a terminal, an Agent, or a browser, and adding an Interface never changes the promise.

## Offers, Motions, and earning models
One Product carries many Offers. Each names the Product, the [Brand](/business/nouns/brand), the Price, the terms, and the party that holds the promise. Zero is a Price, so a free trial is an Offer like any other.

Each Offer also declares a [Motion](/business/nouns/motion): who buys and who acts. captionyard.com sells three ways.

| Offer | Motion | Earning model | First touch |
| --- | --- | --- | --- |
| Editor, $29 a month | [b2c](/business/motions/b2c): a creator subscribes | subscription | The Site and a checkout |
| Agent, $0.40 a minute | [b2a](/business/motions/b2a): another Agent buys and calls | usage | MCP and a machine-readable Price |
| Reviewed subtitles, $6 a minute | [b2b](/business/motions/b2b): a course platform signs | usage, quoted per course | A [Quote](/business/nouns/quote) and an [Agreement](/business/nouns/agreement) |

The earning model is one of five: subscription, usage, commerce, marketplace, or directory. It belongs to the Offer, not the Product, so one Product can earn two ways.

Each Offer grants [Entitlements](/business/nouns/entitlement): a Verb on a [Noun](/business/nouns/noun) in the Customer's Tenant, bounded by a [Limit](/business/nouns/limit). The $29 Offer allows 600 minutes of editing a month; the next tier allows 3,000.

## From acceptance to revenue
Accepting an Offer creates an [Order](/business/nouns/order) for a one-time purchase or a [Subscription](/business/nouns/subscription) for a recurring one. An Order moves from placed to paid, fulfilled, and closed.

For a Service, the Order links to the work that fulfills it. One captionyard.com batch records the source video, the Agent's draft, the linguist's corrections, the checks run, and the Customer's acceptance.

Done is not the same as accepted. Payment proves money moved; acceptance proves the promise was kept, and only acceptance closes the work.

Money moves through Stripe as [Transactions](/business/nouns/transaction), each reconciled to the books. A [Period](/business/nouns/period) closes when every Transaction in it reconciles, and revenue is read from closed books, never typed in.

## Revenue that proves demand
A [Startup](/business/nouns/startup) can buy from another Startup. captionyard.com licenses speech recognition from a sibling under an Agreement with its own Price and terms. A later buyer of captionyard.com sees exactly what it relies on.

Sibling revenue is real money but not proof of demand. [Lifecycle](/business/nouns/lifecycle) gates count only [Outside revenue](/agents/founding#outside-revenue): money from Customers with no tie to the Startup's owners. A Startup reaches [Repeatable](/business/lifecycle/states/repeatable) on outside Customers alone.

## Next
[Strategy and economics](/business/record/strategy-goals-and-economics): which choices a Startup makes, and how it knows they pay.