# Incorporate LLCs as a formation platform (/use-cases/incorporation-platform)

Create Próspera LLC applications, take payment, poll to approval, and deliver the entity documents — end to end over the API.



You run an incorporation service, a startup-in-a-box product, or a law-firm workflow tool, and you want to form Próspera LLCs for your customers programmatically.

**Credential:** a standard API key (`sk-`) for the hosted-checkout flow, or an [Agent Key](/agent-keys) (`ak-`) with write scopes for the fully automated voucher flow. The application is always created on behalf of an active Resident or e-Resident.

## The flow [#the-flow]

1. **Create the application** — [POST legal\_entity\_applications](/reference/post-legal-entity-applications) with the entity name, extension, principal office, and `registeredAgentProvider`. The response includes `nextSteps` (signature, payment).
2. **Take payment** — either:
   * [Hosted checkout session](/reference/post-legal-entity-applications-id-checkout-session) (`sk-` only): redirect your customer to the returned URL; supports card and Bitcoin/Lightning providers.
   * [Voucher](/reference/post-legal-entity-applications-id-pay-voucher): fully server-side when a voucher covers the invoice — this is the only payment path available to Agent Keys.
3. **Poll to approval** — [GET legal\_entity\_applications/\{id}](/reference/get-legal-entity-applications-id) every 5–30 seconds during an active session, backing off after. Terminal states are `Approved` and `Rejected`.
4. **Deliver the entity** — on approval the application exposes `legalEntityId`; fetch [the entity](/reference/get-legal-entities-id) and [its documents](/reference/get-legal-entities-id-documents) (certificate of incorporation and filings) for your customer.

The complete request payloads, signature (AOC) handling, and a copy-paste CLI version live in the [Incorporating an entity](/incorporating-entity) tutorial and [Agent recipes](/agent-recipes) (Recipes 2 & 3).

```bash
# Fully automated CLI variant (Agent Key + voucher)
eprospera --json --yes application create --file application.json
eprospera --json --yes application pay <APP_ID> --voucher "<CODE>"
eprospera --json application get <APP_ID>   # poll until Approved
```

<Callout title="Signature step" type="info">
  The Agreement of Coexistence must be signed by the entity owner. With an Agent
  Key whose Manifestation of Will pre-accepted the AOC, incorporation is
  zero-browser; otherwise the create response includes `nextSteps.signature` and
  the owner completes it in the portal.
</Callout>

## Track your referrals [#track-your-referrals]

If you're a [Catalyst Program](/catalyst-program) member, pass your `referralCode` in the create-application body to attribute each incorporation, then list what you've referred with [GET referral\_codes/\{code}/referrals](/reference/get-referral-codes-code-referrals) (`sk-` only). The endpoint reports attribution only — invoice and discount state are not exposed.

## What this API does not do [#what-this-api-does-not-do]

* No public webhooks — poll application status.
* Hosted checkout is not available to Agent Keys (voucher or portal payment only).
* Application lists via Agent Keys only include API-created records.

## Next steps [#next-steps]

* [Incorporating an entity](/incorporating-entity) — the full tutorial
* [Agent Keys](/agent-keys) — delegation, MoW, write scopes
* [Testing in staging](/testing-in-staging) — rehearse the whole flow safely
