# Startup

URL: /business/nouns/startup · Id: `noun:startup`

> A Startup is the smallest business that can be moved, promoted, or sold on its own, with its own Products, Offers, Customers, and P&L.

A Startup is the smallest business that can be moved, promoted, or sold on its own, with its own [Products](/business/nouns/product), [Offers](/business/nouns/offer), [Customers](/business/nouns/customer), and P&L. A [Studio](/business/nouns/studio) builds it; a [Company](/business/nouns/company) holds it.

## Properties
| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | `string` | Yes | The name the Startup trades under. |
| `domain` | `url` | No | The canonical hostname of the Startup. |
| `launchedAt` | `datetime` | No | When the Startup went live. |
| `template` | `string` | No | The slug of the template it extends; the root one when none is named. |
| `idea` | `text` | No | The Idea it starts from, in a sentence, recorded as its Idea. |
| `spendState` | `string` | No | How freely money Limits allow spend: `free`, `tight` (discretionary Limits halved) or `hold` (one-way spend stops). |

## Object
```json
{
  "$id": "https://api.sb/ledgerlark.com/startups/startup_1",
  "$type": "Startup",
  "name": "LedgerLark",
  "domain": "https://ledgerlark.com",
  "launchedAt": "2026-10-22T12:00:00Z",
  "template": "Example template",
  "idea": "Example idea",
  "spendState": "free"
}
```

## Relationships
- <a id="rel-built-by"></a>A Startup **is built by** one [Studio](/business/nouns/studio): a [Studio](/business/nouns/studio) founds and builds its Startups and runs [Plays](/business/nouns/play) across them. `builtBy`, inverse [`builds`](/business/nouns/studio#rel-builds).
- <a id="rel-built-with"></a>A Startup **is built with** many [Builders](/business/nouns/builder): [StartupBuilder](/code/builders/startup) directs [SiteBuilder](/code/builders/site), [SoftwareBuilder](/code/builders/software), [ServiceBuilder](/code/builders/service) and [SalesBuilder](/code/builders/sales), each building one side of a Startup. `builtWith`, inverse [`builds`](/business/nouns/builder#rel-builds).
- <a id="rel-compiles"></a>A Startup **compiles** many [Play Mixes](/business/nouns/play-mix): a Startup compiles one [Play Mix](/business/nouns/play-mix) version a week and keeps every earlier version for the diff. `compiles`, inverse [`startup`](/business/nouns/play-mix#rel-startup).
- <a id="rel-domains"></a>A Startup **has** many [Domains](/business/nouns/domain): a Startup holds each Domain registration and pays for the hostname. `domains`, inverse [`registeredTo`](/business/nouns/domain#rel-registered-to).
- <a id="rel-employs"></a>A Startup **employs** many [Agents](/business/nouns/agent): an [Agent](/business/nouns/agent) holds a seat in the Startup and acts within the authority it grants; one Agent can hold seats in many Startups. `employs`, inverse [`employedBy`](/business/nouns/agent#rel-employed-by).
- <a id="rel-extends"></a>A Startup **extends** many [Startup Templates](/business/nouns/startup-template): a Startup inherits a [Startup Template](/business/nouns/startup-template)’s definition, pinned to a [Version](/business/nouns/version) it upgrades through a [Change](/business/nouns/change). `extends`, inverse [`startups`](/business/nouns/startup-template#rel-startups).
- <a id="rel-forecasts"></a>A Startup **has** many [Forecasts](/business/nouns/forecast): the default-alive check writes a [Forecast](/business/nouns/forecast) every week and after every large money [Decision](/business/nouns/decision); the latest sets the spend state. `forecasts`, inverse [`startup`](/business/nouns/forecast#rel-startup).
- <a id="rel-funds"></a>A Startup **funds** many [Demand Budgets](/business/nouns/demand-budget): a Startup commits monthly [Demand Budgets](/business/nouns/demand-budget), each with a target and a stop rule. `funds`, inverse [`fundedBy`](/business/nouns/demand-budget#rel-funded-by).
- <a id="rel-held-by"></a>A Startup **is held by** one [Company](/business/nouns/company): the holding [Company](/business/nouns/company) is the Startup’s owner of record: it signs its [Agreements](/business/nouns/agreement) and owns its profit rights. `heldBy`, inverse [`holds`](/business/nouns/company#rel-holds).
- <a id="rel-makes"></a>A Startup **makes** many [Products](/business/nouns/product): each [Product](/business/nouns/product) belongs to exactly one Startup, which builds it and stands behind its promise. `makes`, inverse [`madeBy`](/business/nouns/product#rel-made-by).
- <a id="rel-markets"></a>A Startup **has** many [Markets](/business/nouns/market): where the Startup sells, hires, or keeps books. Each [Market](/business/nouns/market) wakes its floor rows. `markets`, inverse [`startups`](/business/nouns/market#rel-startups).
- <a id="rel-must-reach"></a>A Startup **must reach** one [Minimum Success Criteria](/business/nouns/minimum-success-criteria): the one number that decides whether the Startup keeps running. `mustReach`, inverse [`setFor`](/business/nouns/minimum-success-criteria#rel-set-for).
- <a id="rel-offers"></a>A Startup **has** many [Offers](/business/nouns/offer): each [Offer](/business/nouns/offer) has one maker, which earns its revenue and answers for its terms. `offers`, inverse [`offeredBy`](/business/nouns/offer#rel-offered-by).
- <a id="rel-operates-under"></a>A Startup **operates under** many [Agreements](/business/nouns/agreement): the [Agreements](/business/nouns/agreement) a Startup operates under travel with it when it graduates or sells. `operatesUnder`, inverse [`covers`](/business/nouns/agreement#rel-covers).
- <a id="rel-portfolios"></a>A Startup **has** many [Portfolios](/business/nouns/portfolio): a Startup can sit in many [Portfolios](/business/nouns/portfolio), each with its own membership: held, owned, contracted or made. `portfolios`, inverse [`includesStartup`](/business/nouns/portfolio#rel-includes-startup).
- <a id="rel-pursues"></a>A Startup **pursues** one [Idea](/business/nouns/idea): many Startups can test one [Idea](/business/nouns/idea) side by side; the Idea outlives each Startup that pursues it. `pursues`, inverse [`pursuedBy`](/business/nouns/idea#rel-pursued-by).
- <a id="rel-recovery-objectives"></a>A Startup **has** many [Recovery Objectives](/business/nouns/recovery-objective): one [Recovery Objective](/business/nouns/recovery-objective) for each [Capability](/business/nouns/capability) the Startup depends on. `recoveryObjectives`, inverse [`startup`](/business/nouns/recovery-objective#rel-startup).
- <a id="rel-risks"></a>A Startup **has** many [Risks](/business/nouns/risk): the [Risks](/business/nouns/risk) scored for one Startup, open and closed. `risks`, inverse [`startup`](/business/nouns/risk#rel-startup).
- <a id="rel-runs"></a>A Startup **runs** many [Systems](/business/nouns/system): a Startup runs its work on headless [Systems](/business/nouns/system), such as CRM or billing, that every Startup shares. `runs`, inverse [`runBy`](/business/nouns/system#rel-run-by).
- <a id="rel-serves"></a>A Startup **serves** many [Customers](/business/nouns/customer): a Startup serves every party that has accepted one of its [Offers](/business/nouns/offer). `serves`, inverse [`servedBy`](/business/nouns/customer#rel-served-by).
- <a id="rel-states"></a>A Startup **states** many [Hypotheses](/business/nouns/hypothesis): a Startup states [Hypotheses](/business/nouns/hypothesis) about itself, the Founding Hypothesis first, each settled by a [Metric](/business/nouns/metric) and a threshold. `states`, inverse [`statedBy`](/business/nouns/hypothesis#rel-stated-by).
- <a id="rel-targets"></a>A Startup **targets** many [ICPs](/business/nouns/icp): a Startup is built to win its [ICPs](/business/nouns/icp); its [Offers](/business/nouns/offer), [Story](/business/nouns/story) and [Plays](/business/nouns/play) compile toward them. `targets`, inverse [`targetedBy`](/business/nouns/icp#rel-targeted-by).
- <a id="rel-teams"></a>A Startup **has** many [Teams](/business/nouns/team): a [Team](/business/nouns/team) does its one kind of work for every Startup it serves; a Startup wakes a Team when its trigger [Event](/business/nouns/event) happens. `teams`, inverse [`serves`](/business/nouns/team#rel-serves).

## Lifecycle

| State | Meaning | Moves to |
| --- | --- | --- |
| `idea` (first) | Idea is the state of a Startup that states its Idea and who pays, before any build work starts. | `building` by [Startup.build](/business/nouns/startup/build) |
| `building` | Building is the state of a Startup whose Agents build its Brand, Products, Offers, site, API, and MCP server from its template. | `live` by [Startup.launch](/business/nouns/startup/launch); `dormant` by [Startup.pause](/business/nouns/startup/pause) |
| `live` | Live is the state of a Startup that is publicly reachable and takes money from Customers for at least one Offer. | `repeatable` by [Startup.advance](/business/nouns/startup/advance); `hold` by [Startup.hold](/business/nouns/startup/hold); `graduate` by [Startup.graduate](/business/nouns/startup/graduate); `sell` by [Startup.sell](/business/nouns/startup/sell); `dormant` by [Startup.pause](/business/nouns/startup/pause); `building` by [Startup.pivot](/business/nouns/startup/pivot) |
| `repeatable` | Repeatable is the state of a Startup whose Customers arrive, pay, and stay, while its work runs without its founder. | `scale` by [Startup.advance](/business/nouns/startup/advance); `hold` by [Startup.hold](/business/nouns/startup/hold); `graduate` by [Startup.graduate](/business/nouns/startup/graduate); `sell` by [Startup.sell](/business/nouns/startup/sell); `dormant` by [Startup.pause](/business/nouns/startup/pause) |
| `scale` | Scale is the state of a Startup that compounds: Customers stay and expand, demand comes from several sources, and margins hold. | `hold` by [Startup.hold](/business/nouns/startup/hold); `graduate` by [Startup.graduate](/business/nouns/startup/graduate); `sell` by [Startup.sell](/business/nouns/startup/sell) |
| `hold` | Hold is the state of a Startup that keeps operating and serving Customers while its owner adds no new investment. | `repeatable` by [Startup.advance](/business/nouns/startup/advance); `scale` by [Startup.advance](/business/nouns/startup/advance); `graduate` by [Startup.graduate](/business/nouns/startup/graduate); `sell` by [Startup.sell](/business/nouns/startup/sell); `dormant` by [Startup.pause](/business/nouns/startup/pause) |
| `graduate` | Graduate is the state of a Startup that leaves its studio for a company of its own, keeping its Brand, Customers, and records. | None: it ends here. |
| `sell` | Sell is the state of a Startup whose owner has agreed to sell it, with its Brand, domain, Customers, and records. | None: it ends here. |
| `dormant` | Dormant is the state of a Startup with no work running on it, whose records, site, and domain stay kept until it returns to Live. | `live` by [Startup.resume](/business/nouns/startup/resume) |

## Verbs
| Verb | Description | Subject | Event | Class |
| --- | --- | --- | --- | --- |
| [Startup.advance](/business/nouns/startup/advance) | Advance moves a Startup to its next Lifecycle state once every entry check of that state passes. | [Agent](/business/nouns/agent) | [`Startup.advanced`](/business/events/Startup.advanced) | None. |
| [Startup.build](/business/nouns/startup/build) | Build provisions the Systems, Sites and Interfaces a Startup’s definition declares, and moves the Startup to Building. | [Engineering Lead](/agents/engineering/engineering-lead) | [`Startup.built`](/business/events/Startup.built) | None. |
| [Startup.claim](/business/nouns/startup/claim) | Claim binds a provisional Startup to a verified owner, which enables payments and every Verb that moves money. | [Human](/business/nouns/human) | [`Startup.claimed`](/business/events/Startup.claimed) | None. |
| [Startup.clone](/business/nouns/startup/clone) | Clone copies a Startup’s definition into a new Startup once, with no link back to the source. | [Agent](/business/nouns/agent) | [`Startup.cloned`](/business/events/Startup.cloned) | None. |
| [Startup.graduate](/business/nouns/startup/graduate) | Graduate moves a Startup to a Company of its own, with its Customers, Domains and records intact. | [Founder](/agents/founding/founder) | [`Startup.graduated`](/business/events/Startup.graduated) | One-way (money, customer): `send`, `do` |
| [Startup.hold](/business/nouns/startup/hold) | Hold keeps a Startup running in its current Lifecycle state with no new investment from the Studio. | [Strategist](/agents/founding/strategist) | [`Startup.held`](/business/events/Startup.held) | None. |
| [Startup.import](/business/nouns/startup/import) | Import builds a new Startup from an existing business’s definition: its Offers, Pages, Nouns and Processes. | [Integration Engineer](/agents/engineering/integration-engineer) | [`Startup.imported`](/business/events/Startup.imported) | None. |
| [Startup.launch](/business/nouns/startup/launch) | Launch puts a Startup live on its domain, serving its Offers to Customers. | [Founder](/agents/founding/founder) | [`Startup.launched`](/business/events/Startup.launched) | None. |
| [Startup.pause](/business/nouns/startup/pause) | Pause moves a Startup to Dormant: its scheduled Workflows stop, and its Sites and records stay in place. | [Founder](/agents/founding/founder) | [`Startup.paused`](/business/events/Startup.paused) | None. |
| [Startup.pivot](/business/nouns/startup/pivot) | Pivot records a Decision that moves a Live Startup back to Building under a new Founding Hypothesis version. | [Founder](/agents/founding/founder) | [`Startup.pivoted`](/business/events/Startup.pivoted) | One-way (customer): `send`, `do` |
| [Startup.read](/business/nouns/startup/read) | Read compiles a Startup’s records into one scoped room, such as a diligence room, with every number citing its Proof. | [Agent](/business/nouns/agent) | [`Startup.read`](/business/events/Startup.read) | Two-way: `try`, `send`, `do` |
| [Startup.resume](/business/nouns/startup/resume) | Resume returns a Dormant Startup to the Lifecycle state it held when it paused. | [Founder](/agents/founding/founder) | [`Startup.resumed`](/business/events/Startup.resumed) | None. |
| [Startup.sell](/business/nouns/startup/sell) | Sell transfers a Startup, with its Customers, Domains and records, to a buyer under a signed Agreement. | [Founder](/agents/founding/founder) | [`Startup.sold`](/business/events/Startup.sold) | One-way (money, customer): `send`, `do` |
| <a id="create"></a>[Startup.create](/business/nouns/startup/create) | Creates a Startup. Inherited from [Noun](/business/nouns/noun). | None. | `Startup.created` | Two-way: `try`, `send`, `do` |
| <a id="get"></a>[Startup.get](/business/nouns/startup/get) | Returns one Startup by id. Inherited from [Noun](/business/nouns/noun). | None. | None. | Read: `try`, `do` |
| <a id="list"></a>[Startup.list](/business/nouns/startup/list) | Returns Startups, newest first, one page at a time. Inherited from [Noun](/business/nouns/noun). | None. | None. | Read: `try`, `do` |
| <a id="update"></a>[Startup.update](/business/nouns/startup/update) | Changes the given properties of a Startup. Inherited from [Noun](/business/nouns/noun). | None. | `Startup.updated` | Two-way: `try`, `send`, `do` |
| <a id="delete"></a>[Startup.delete](/business/nouns/startup/delete) | Deletes a Startup; its history is kept. Inherited from [Noun](/business/nouns/noun). | None. | `Startup.deleted` | One-way: `send`, `do` |

## Permissions
Which Access level may call each Verb. One-way Verbs wait their delay window.

| Operation | `owner` | `admin` | `member` | `viewer` |
| --- | --- | --- | --- | --- |
| `Startup.create` | Yes | Yes | Yes | No |
| `Startup.get` | Yes | Yes | Yes | Yes |
| `Startup.list` | Yes | Yes | Yes | Yes |
| `Startup.update` | Yes | Yes | Yes | No |
| `Startup.delete` | Yes | Yes | Yes | No |
| `Startup.advance` | Yes | Yes | Yes | No |
| `Startup.build` | Yes | Yes | Yes | No |
| `Startup.claim` | Yes | Yes | Yes | No |
| `Startup.clone` | Yes | Yes | Yes | No |
| `Startup.graduate` | Yes | No | No | No |
| `Startup.hold` | Yes | Yes | Yes | No |
| `Startup.import` | Yes | Yes | Yes | No |
| `Startup.launch` | Yes | Yes | Yes | No |
| `Startup.pause` | Yes | Yes | Yes | No |
| `Startup.pivot` | Yes | No | No | No |
| `Startup.read` | Yes | Yes | Yes | No |
| `Startup.resume` | Yes | Yes | Yes | No |
| `Startup.sell` | Yes | No | No | No |

## Call it

**Ask**

```text
Launch QuietCopy.
```

**API**

```bash
curl -X POST https://api.sb/quietcopy.com/startups/startup_1/launch \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"
```

```json
{
  "api": "https://api.sb/quietcopy.com",
  "startup": {
    "$id": "https://api.sb/quietcopy.com/startups/startup_1",
    "$type": "Startup",
    "name": "QuietCopy"
  },
  "action": {
    "$id": "https://api.sb/quietcopy.com/actions/action_1",
    "operation": "Startup.launch",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/quietcopy.com/actions/action_1"
  }
}
```

**SDK**

```ts
import { $ } from 'startup-builder'

const startup = await $.Startup.launch({ startup: 'startup_1' })
```

**CLI**

```bash
npx startup-builder do Startup.launch --json '{"startup":"startup_1"}'
```

**MCP**

```json
{
  "name": "do",
  "arguments": {
    "code": "return await $.Startup.launch({ startup: 'startup_1' })"
  }
}
```

## Example
A debt-recovery Startup shares its holding Company with two siblings. It keeps its own Customers, Offers and P&L, so [`Startup.sell`](/business/nouns/startup/sell) transfers it to a buyer without touching the other two.