# Launch checklist

URL: /start/launch-checklist · Id: `page:start/launch-checklist`

> Every check a Startup passes before it goes Live, the words that clear each one, and the guide that does it.

[Launching](/business/launch-my-business) waits until every check that applies to your [Startup](/business/nouns/startup) passes. Clear them top to bottom, one ask each, then say `Launch Leaseline`.

| Check | What clears it | Say | Guide or call |
| --- | --- | --- | --- |
| Offers published | Publish an Offer with a price and terms. | `Take a $29 payment for setup` | [Take a payment](/systems/finance/take-a-payment) |
| Work defined | Give each Offer the steps that deliver it, each with someone to do it. | `Set up how each Offer gets delivered` | [Workflow.create](/business/nouns/workflow/create) |
| People assigned | Seat an Agent or a person in every Role the Workflows need. | `Hire an agent to answer my customers` | [Hire an agent for a role](/agents/hire-an-agent-for-a-role) |
| Site published | Publish the home, pricing, terms, and privacy Pages. | `Put up a page` | [Put up a page](/start/guides/put-up-a-page) |
| Test run passed | Buy each Offer as a test customer, with no real charge or message. | `Run a test purchase of every Offer` | [Offer.accept](/business/nouns/offer/accept) |
| Portal ready | Build the business so each customer sees their orders, invoices and messages. | `Build the customer portal` | [Startup.build](/business/nouns/startup/build) |
| Agent API open | Build the business and fix each problem the build names in its API, MCP server and agent files. | `Fix what stops agents from using my API` | [Startup.build](/business/nouns/startup/build) |
| Payouts connected | Have a person claim the Startup and finish payouts onboarding. | `Open a bank account for the business` | [Open a bank account](/systems/finance/open-a-bank-account) |
| Address resolves | Connect your domain and wait for its certificate, so checkout on it takes cards, Apple Pay and Google Pay. | `Connect leaseline.com. I bought it somewhere else` | [Connect my domain](/products/site/domains/connect-my-domain) |
| Five slots at Commitment | Get a real commitment, such as a deposit, from people outside the business on all five parts of the idea: who buys, their problem, your approach, why they switch and what sets you apart. | `Find out if anyone wants this` | [Find out if anyone wants this](/start/guides/find-out-if-anyone-wants-this) |
| Sources secured, for [Dataset API](/products/templates/dataset-api), [Directory](/products/templates/directory) | Record a licensed, crawled, or synthetic Source for every Dataset. | `Record where each dataset comes from` | [Source.create](/business/nouns/source/create) |
| Evals passing, for [Agent as a Service](/products/templates/agent-as-a-service) | Fix each kind of task the agent fails, then run its tests again. | `Test the agent again on every task it sells` | [Action.evaluate](/business/nouns/action/evaluate) |
| SLA published, for [Services-as-Software](/products/templates/services-as-software), [E2E managed service](/products/templates/managed-service) | State the outcome, the SLA, and the remedy on every service Offer. | `Sell renewal outreach as a service at $199 a month` | [Sell a service](/products/service/sell-a-service) |
| Supply seeded, for [Marketplace](/products/templates/marketplace), [Licensed-human marketplace](/products/templates/licensed-marketplace) | Onboard the first Suppliers and have each accept the supplier terms. | `Bring on my first suppliers` | [Human.onboard](/business/nouns/human/onboard) |
| Credentials verified, for [Licensed-human marketplace](/products/templates/licensed-marketplace) | Verify a current license for each supplier in each place you serve. | `Check every supplier’s license` | [Credential.verify](/business/nouns/credential/verify) |
| Human steps staffed, for [E2E managed service](/products/templates/managed-service) | Seat a person in every human delivery step, with a response time. | `Let me run sales myself` | [Run sales myself](/agents/run-a-seat-yourself) |

| Guide | Launch my business |
| --- | --- |
| You say | `Launch Leaseline`, `Put the business live and start taking payments`, `Open leaseline.app to customers today` |
| Calls | [Startup.launch](/business/nouns/startup/launch) |
| Needs | [Startup.claim](/business/nouns/startup/claim), [Offer](/business/nouns/offer), [Put up a page](/start/guides/put-up-a-page) |
| Approval | `ask` |
| Status | `live` |

**Ask**

```text
Launch Leaseline
```

**API**

```bash
STARTUP=$(curl "https://api.sb/leaseline.app/startups?limit=1" \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" | jq -r '.startups[0]["$id"] | split("/") | last')

curl -X POST https://api.sb/leaseline.app/startups/$STARTUP/launch \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"
```

**SDK**

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

const [startup] = await $.Startup.list({ limit: 1 })
await $.Startup.launch({ startup: startup.$id })
```

**CLI**

```bash
STARTUP=$(npx startup-builder do Startup.list --json '{"limit":1}' | jq -r '.startups[0]["$id"] | split("/") | last')
npx startup-builder do Startup.launch --json '{"startup":"'"$STARTUP"'"}'
```

**MCP**

```json
{
  "name": "do",
  "arguments": {
    "code": "const [startup] = await $.Startup.list({ limit: 1 })\nreturn await $.Startup.launch({ startup: startup.$id })"
  }
}
```

Then ask: `Launch on Monday at 9 am.`, `Tell my waitlist a day before everyone else.`, `Pause the business for a week.`.

| Check | Id | Kind | Applies to | Passes when |
| --- | --- | --- | --- | --- |
| Offers published | `live-offers` | `registry` | Every Startup | At least one Offer is published with a price and terms; launch refuses a Startup without one. |
| Work defined | `live-work` | `registry` | Every Startup | Every published Offer has a workflow that delivers it, with each step assigned to software, an Agent, or a person. |
| People assigned | `live-people` | `registry` | Every Startup | Every role the workflows need is held by an Agent or a person, with instructions and limits. |
| Site published | `live-site` | `ui` | Every Startup | The site serves home, pricing, terms, and privacy pages under the Brand, readable by people and agents. |
| Test run passed | `live-test-run` | `transcript` | Every Startup | A sample Customer completes every published Offer end to end in test, with no real charge or message. |
| Portal ready | `live-portal` | `ui` | Every Startup | The customer portal on the site shows each Customer their orders, deliveries, invoices, and messages. |
| Agent API open | `live-agent-api` | `contract` | Every Startup | The API, MCP server, OpenAPI document, llms.txt, and agents.json serve every published Offer and pass conformance. |
| Payouts connected | `live-payouts` | `contract` | Every Startup | Stripe takes payments for the Startup and pays out to its bank account. |
| Address resolves | `live-address` | `contract` | Every Startup | The canonical Domain serves the Site over HTTPS with a valid certificate and, where it embeds a payment form, Stripe lists it as a payment method domain. |
| Five slots at Commitment | `live-slots` | `grade` | Every Startup | All five Founding Hypothesis slots hold Commitment Evidence from outside people. Slots `customer`, `problem`, `approach`, `switch`, `differentiation` at Commitment or stronger, outside Evidence only. |
| Sources secured | `live-sources` | `registry` | [Dataset API](/products/templates/dataset-api), [Directory](/products/templates/directory) | Every dataset source is licensed, crawled within its terms, or synthetic. |
| Evals passing | `live-evals` | `transcript` | [Agent as a Service](/products/templates/agent-as-a-service) | The Agent passes its evaluation suite on every task type its Offers sell. |
| SLA published | `live-sla` | `registry` | [Services-as-Software](/products/templates/services-as-software), [E2E managed service](/products/templates/managed-service) | Every service Offer states its outcome, its SLA, and the remedy when the SLA is missed. |
| Supply seeded | `live-supply` | `registry` | [Marketplace](/products/templates/marketplace), [Licensed-human marketplace](/products/templates/licensed-marketplace) | The first suppliers are onboarded, have accepted supplier terms, and can receive payouts. |
| Credentials verified | `live-credentials` | `contract` | [Licensed-human marketplace](/products/templates/licensed-marketplace) | Every supplier who performs licensed work holds a verified, current credential for each jurisdiction served. |
| Human steps staffed | `live-human-loop` | `registry` | [E2E managed service](/products/templates/managed-service) | Every human step in delivery has a staffed role, a response time, and an escalation path. |