# Incorporation

URL: /workflows/processes/incorporation · Id: `process:incorporation`

> Incorporation forms the Startup’s own Company: the entity Decision, the certificate, a registered agent, the tax id, a bank account and founder shares.

Incorporation forms the [Startup](/business/nouns/startup)’s own [Company](/business/nouns/company): the entity [Decision](/business/nouns/decision), the certificate, a registered agent, the tax id, a bank account and founder shares.

## Outcome
| Part | This Process |
| --- | --- |
| Outcome | The Startup owns a Company in good standing, with its certificate, registered agent, tax id, bank account and founder shares on record. |
| Reads | [Decision](/business/nouns/decision) |
| Leaves | [Company](/business/nouns/company), [Agreement](/business/nouns/agreement), [Credential](/business/nouns/credential), [Account](/business/nouns/account), [Share](/business/nouns/share) |
| Runs in | Each Startup |

## Accountable
[Legal Lead](/agents/legal/legal-lead), [Legal Team](/agents/legal).

Responsible: [Legal Lead](/agents/legal/legal-lead).

Consulted: [Finance Lead](/agents/finance/finance-lead), [Treasurer](/agents/finance/treasurer).

Informed: [Founder](/agents/founding/founder).

## Workflows
| Workflow | Runs | Team |
| --- | --- | --- |
| [Form a company](/workflows/processes/incorporation/form-company) | on `Decision.created` where `choice = 'incorporate'` | [Legal Team](/agents/legal) |

## Who does each step

| Workflow | Step | Role | Calls | Approval |
| --- | --- | --- | --- | --- |
| [Form a company](/workflows/processes/incorporation/form-company) | 1. File the certificate for the kind of company and the state the Decision names. | [Legal Lead](/agents/legal/legal-lead) | [Company.incorporate](/business/nouns/company/incorporate) | Asks first; waits 1 business day |
| [Form a company](/workflows/processes/incorporation/form-company) | 2. Appoint the registered agent in the state of formation. | [Legal Lead](/agents/legal/legal-lead) | [Agreement.create](/business/nouns/agreement/create) | None |
| [Form a company](/workflows/processes/incorporation/form-company) | 3. Apply for the federal tax id and record it as a Credential. | [Finance Lead](/agents/finance/finance-lead) | [Credential.create](/business/nouns/credential/create) | None |
| [Form a company](/workflows/processes/incorporation/form-company) | 4. Open the Company’s bank account. | [Treasurer](/agents/finance/treasurer) |  |  |
| [Form a company](/workflows/processes/incorporation/form-company) | 5. Issue founder shares with vesting and record each on the cap table. | [Legal Lead](/agents/legal/legal-lead) | [Share.issue](/business/nouns/share/issue) | Asks first; waits 1 business day |

## Events
| Direction | When | What happens |
| --- | --- | --- |
| In | On `Decision.created` where `choice = 'incorporate'` | Starts [Form a company](/workflows/processes/incorporation/form-company) |
| Out | [`Company.incorporated`](/business/events/Company.incorporated) | Raised by step 1 of [Form a company](/workflows/processes/incorporation/form-company) |
| Out | `Agreement.created` | Raised by step 2 of [Form a company](/workflows/processes/incorporation/form-company) |
| Out | `Credential.created` | Raised by step 3 of [Form a company](/workflows/processes/incorporation/form-company) |
| Out | [`Share.issued`](/business/events/Share.issued) | Raised by step 5 of [Form a company](/workflows/processes/incorporation/form-company) |

## Plays
No Play names this Process.

## Controls
No Control names this Process or a Workflow of it.

## Settings
| Setting | Type | Default | Say | Set with |
| --- | --- | --- | --- | --- |
| `company.jurisdiction` | `string` | `DE` | Incorporate in Delaware | [Setting.update](/business/nouns/setting/update) |

## Failure
A failed step retries; when retries run out, the Action goes to the [Legal Lead](/agents/legal/legal-lead).

## Loop
No loop: the path is never randomized, because it serves [Standing](/systems/legal-and-corporate/floor/standing).

## Code

**Ask**

```text
Turn on incorporation
```

**API**

```bash
curl -X POST https://api.sb/leaseline.app/processes/process_1/enable \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"
```

**SDK**

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

await $.Process.enable({ process: 'process_1' })
```

**CLI**

```bash
npx startup-builder do Process.enable --json '{"process":"process_1"}'
```

**MCP**

```json
{
  "name": "do",
  "arguments": {
    "code": "return await $.Process.enable({ process: 'process_1' })"
  }
}
```

## Enable
Off until someone calls [Process.enable](/business/nouns/process/enable). [Process.pause](/business/nouns/process/pause) stops new Actions; Actions in progress finish.

**Ask**

```text
Incorporate in Delaware
```

**API**

```bash
curl -X PATCH https://api.sb/leaseline.app/settings/setting_1 \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value":"DE","key":"company.jurisdiction"}'
```

**SDK**

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

await $.Setting.update({ id: 'setting_1', value: 'DE', key: 'company.jurisdiction' })
```

**CLI**

```bash
npx startup-builder do Setting.update --json '{"id":"setting_1","value":"DE","key":"company.jurisdiction"}'
```

**MCP**

```json
{
  "name": "do",
  "arguments": {
    "code": "return await $.Setting.update({ id: 'setting_1', value: 'DE', key: 'company.jurisdiction' })"
  }
}
```

## Example
A [Startup](/business/nouns/startup) earning $5,000 a month decides to form its own corporation. In one week the [Legal Lead](/agents/legal/legal-lead) files the certificate, appoints the registered agent and gets the tax id. The bank account opens, and 8,000,000 founder shares issue on four-year vesting.