Cookbook
Issue a priced round
Series Seed at $5M post, 25% to new investors. New ShareClass, charter amendment, ledger entries, 409A refresh, Form D.
Last updated
Series Seed-1 with multiple investors, founder reverse vesting, board seat, and the standard NVCA package — wired to your transfer agent.
Trigger
You have a term sheet signed. Now you have to actually close it.
Call sequence
1. Create the priced round
POST /v1/financings { entity, kind: 'priced', preferred_class }2. Add each investor
POST /v1/financings/{round}/investors { holder, commitment }3. Generate the NVCA package
POST /v1/financings/{round}/package { template: 'nvca_2025' }4. Run board + stockholder consents
POST /v1/financings/{round}/consents5. Close the round
POST /v1/financings/{round}/closeIdempotency
Round creation idempotent on `(entity, kind, preferred_class.name)`. Adding the same investor twice returns the original.
Webhooks
| Event | Description |
|---|---|
financing.created | Round is open. |
financing.investor_added | Per investor. |
financing.closed | Money in escrow → cap table updated. |
Errors
| Status | Code | Description |
|---|---|---|
422 | preferred_class_collision | A class with that name already exists. Pick a different name. |
Related
Variations
If the round converts existing SAFEs, list each SAFE document ID. The workflow generates the SAFE→preferred conversion ledger entries automatically.
{
"entity_id": "ent_Nq3KcAbc",
"round_name": "Series Seed",
"share_class_kind": "series_seed_preferred",
"pre_money": {"amount": 375000000, "currency": "usd"},
"investment": {"amount": 125000000, "currency": "usd"},
"convert_safes": ["doc_SafeAcme", "doc_SafeBeta"],
"investors": [/* … */]
}Larger round, multiple participating investors, an Investors' Rights Agreement + Voting Agreement + ROFR/Co-Sale alongside the charter amendment.
{
"entity_id": "ent_Nq3KcAbc",
"round_name": "Series A",
"share_class_kind": "series_a_preferred",
"pre_money": {"amount": 1500000000, "currency": "usd"},
"investment": {"amount": 500000000, "currency": "usd"},
"pool_refresh_percent": 10,
"ancillary_documents": ["ira", "voting_agreement", "rofr_cosale"],
"investors": [/* … */]
}Existing investors with pro-rata rights opt in. Pass them with a
pro_rata: true flag — the workflow validates against their existing
pro-rata percentages.
{
"entity_id": "ent_Nq3KcAbc",
"round_name": "Series A",
"investors": [
{"stakeholder_id": "stk_LeadInvestor",
"investment": {"amount": 300000000, "currency": "usd"}},
{"stakeholder_id": "stk_SeedExisting",
"investment": {"amount": 50000000, "currency": "usd"},
"pro_rata": true}
]
}FAQ
Related
- Cap table — share classes, equity plans, ledger model
- Issue a SAFE — the unpriced cousin
POST /v1/share_classes— primitivematter_issue_priced_round— the MCP tool that wraps this recipe