Cookbook
Close an acquihire
Asset purchase + same-day employee transition + SAFE cancellation + post-asset-sale dissolution shortcut.
Last updated
Asset purchase + employee retention package, IP assignment, escrow, and same-day employee transition.
Trigger
A team is being acquired primarily for the people; the entity itself dissolves shortly after.
Call sequence
1. Get acquihire readiness
GET /v1/entities/{id}/acquihire_readiness2. Initiate transaction (kind=acquihire)
POST /v1/corporate_transactions { kind: 'acquihire' }3. Transition employees same-day
POST /v1/corporate_transactions/{id}/transition_employees4. Open escrow for retained liabilities
POST /v1/escrows { transaction }5. Begin parallel dissolution of seller
POST /v1/dissolutions { entity }Idempotency
Transaction idempotent on `(entity, counterparty, kind)`.
Webhooks
| Event | Description |
|---|---|
employees.transitioned | Per employee. |
corporate_transaction.closed | Acquihire closed. |
Errors
| Status | Code | Description |
|---|---|---|
422 | benefit_plan_open | Terminate benefit plans before transitioning employees. |
Related
When to reach for it
Use this recipe when an acquirer wants the team and the IP but not the legal entity. The deal is structured as an asset purchase — IP assignment, customer-contract assignment, employee re-hire — and the legacy entity dissolves once the assets are gone. Sibling recipes:
- Acquirer takes the entity as a subsidiary → acquire-a-company.
- Pure asset transfer with no employee component → execute-an-asset-sale.
- Standard self-initiated wind-down (entity has no acquirer) → dissolve-an-entity.
Pre-flight readiness
Before invoking the orchestrator, fetch a typed AcquihireReadiness report. It
returns the structured blockers and a transition_summary so you can preview
the deal scope without mutating state.
curl https://api.mattermode.com/v1/entities/ent_Nq3KcAbc/acquihire_readiness \
-H "Authorization: Bearer $MATTER_KEY" \
-H "Matter-Version: 2026-05-01"Response shape:
{
"object": "acquihire_readiness",
"entity_id": "ent_Nq3KcAbc",
"executable": false,
"procedure_recommended": "post_asset_sale_shortcut",
"transition_summary": {
"employees_transitioning": 6,
"employees_declining_offer": 0,
"assets_transferring": 14,
"contracts_assigning": 9,
"outstanding_convertibles": 2
},
"blockers": [
{
"category": "outstanding_convertible",
"severity": "human_remediable",
"summary": "2 outstanding SAFEs require holder release before cascade can fire.",
"remediation": {
"suggested_endpoint": "POST /v1/entities/{id}/convertibles/cancel_all_outstanding",
"suggested_payload": { "reason": "dissolution_pre_clearance" }
}
},
{
"category": "loi_missing",
"severity": "human_remediable",
"summary": "No executed LOI Document linked to the proposed transaction.",
"remediation": {
"suggested_endpoint": "POST /v1/documents",
"suggested_payload": { "kind": "loi", "provenance": "counterpart_received" }
}
}
],
"estimated_cost_breakdown": {
"de_cod_fee_usd": 254,
"final_franchise_tax_usd": 400,
"per_state_withdrawal_fees_usd": [
{ "state": "US-CA", "amount_usd": 0 },
{ "state": "US-MA", "amount_usd": 0 }
]
},
"estimated_timeline": {
"earliest_close_date": "2026-05-15",
"terminal_dissolution_date": "2026-07-30"
}
}Walk the blockers, clear each entry, then re-fetch until executable: true.
Phase 1 — Asset purchase agreement
The asset purchase is the corporate event that authorises everything else.
Open the CorporateTransaction with the structured asset, employee, and
contract lists.
curl -X POST https://api.mattermode.com/v1/corporate_transactions \
-H "Authorization: Bearer $MATTER_KEY" \
-H "Matter-Version: 2026-05-01" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"kind": "acquihire",
"seller_entity_id": "ent_Nq3KcAbc",
"acquirer": {
"external_name": "Northwind Industries, Inc.",
"tax_id": "84-1029384"
},
"consideration": { "amount": 12500000, "currency": "usd" },
"loi_document_id": "doc_LoiAcq001",
"asset_schedule": [
{ "category": "ip", "description": "All patents, trademarks, copyrights, trade secrets, source code" },
{ "category": "contracts", "description": "Customer agreements listed in Schedule A", "contract_ids": ["agr_Cust001", "agr_Cust002"] },
{ "category": "equipment", "description": "Owned laptops and HQ equipment" }
],
"employee_transition_list": [
{ "stakeholder_id": "stk_emp_1", "acquirer_offer_letter_id": "doc_OfferEmp1" },
{ "stakeholder_id": "stk_emp_2", "acquirer_offer_letter_id": "doc_OfferEmp2" }
],
"approver_stakeholder_id": "stk_F0und3rCEO"
}'The response is a CorporateTransaction in stage: definitive with the
asset-purchase agreement, IP-assignment agreement, and assignment-and-assumption
agreement drafted as Documents.
Phase 2 — Simultaneous employee transition
On the close date, every transitioning employee separates from the legacy entity and is hired by the acquirer the same business day. Matter records the separation and dispatches the legally-required notices.
curl -X POST https://api.mattermode.com/v1/corporate_transactions/ctx_AcqExample/transition_employees \
-H "Authorization: Bearer $MATTER_KEY" \
-H "Matter-Version: 2026-05-01" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"transition_date": "2026-05-15",
"rehire_acknowledgement": "same_day_acquirer_offer_signed"
}'For each employee:
Stakeholder.statusflips toseparated_to_acquirer.- A
cobra_qualifying_event_noticeDocument is generated and dispatched. The notice is required by federal law on every employer-coverage termination, even when the new employer rehires the employee the same day with continuous coverage. The notice is a no-op for the employee in practice, but the generation is not — Matter logs it as ano_action_requiredacknowledgement on the cascade record (evidence.test: same_day_acquirer_coverage,evidence.satisfied: true). - The acquirer offer-letter pointer is recorded on
Stakeholder.transition_record.acquirer_offer_letter_id. - The employee's open option grants vest or accelerate per the grant's change-of-control terms; unvested-and-unaccelerated grants terminate on separation.
If any employee is not on the employee_transition_list (e.g., they declined
the acquirer offer or are being severed), Matter raises a
409 employee_transition_incomplete error and halts the cascade.
Phase 3 — SAFE cancellation cascade
Outstanding SAFEs do not convert in an asset sale and there is no priced round to fold them into. The standard path is holder-agreed cancellation.
curl -X POST https://api.mattermode.com/v1/entities/ent_Nq3KcAbc/convertibles/cancel_all_outstanding \
-H "Authorization: Bearer $MATTER_KEY" \
-H "Matter-Version: 2026-05-01" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"reason": "dissolution_pre_clearance",
"release_document_ids": ["doc_SafeRelease001", "doc_SafeRelease002"]
}'Each release_document_ids[] entry must point at an executed
safe_release (or convertible_release) Document — the counterpart-signed
cancellation agreement. On success:
- One
convertible_cancellationShareLedgerEntryper SAFE. - Each original SAFE Document flips to
execution_status: terminated. - The cap-table view loses the SAFE rows immediately.
If any holder refuses to sign their release, the composite raises a
409 convertible_holder_refused error and the cascade halts. Fall back to
per-SAFE cancellation for holders who agreed, and pivot the dissolution
procedure to default_281 (with the 60-day creditor window) for the refusing
holder — they will receive a creditor notice.
Phase 4 — Post-asset-sale dissolution shortcut
Once the assets are gone, the employees are transitioned, and the SAFEs are
cancelled, the legacy entity is empty. The post_asset_sale_shortcut
dissolution procedure is the wind-down for this exact shape: no creditor
window, because no creditors remain.
curl -X POST https://api.mattermode.com/v1/workflows/dissolve_company \
-H "Authorization: Bearer $MATTER_KEY" \
-H "Matter-Version: 2026-05-01" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"entity_id": "ent_Nq3KcAbc",
"reason": "post_acquihire_wind_down",
"procedure": "post_asset_sale_shortcut",
"authorizing_corporate_transaction_id": "ctx_AcqExample",
"effective_date": "2026-05-15"
}'How the variants compare:
| Procedure | Creditor window | When it applies |
|---|---|---|
default_281 | 60-day notice required | Standard wind-down with potential creditors. |
elective_280 | None, court-supervised long-form available | DGCL §280 short-form: no creditors and unanimous board approval. |
post_asset_sale_shortcut | None | Asset sale cleared all creditors; SAFEs cancelled; relies on authorizing_corporate_transaction_id evidence. |
The shortcut is only legal when the linked CorporateTransaction is closed
with kind: acquihire (or kind: asset_sale covering substantially all
assets) and the SAFE cancellation cascade in Phase 3 left no outstanding
convertibles.
Error recovery
| Failure | Cause | Remediation |
|---|---|---|
409 employee_transition_incomplete | One or more employees on Stakeholder.kind: employee are not in the employee_transition_list[]. | Either add them to the list with their acquirer offer-letter pointer, or run POST /v1/stakeholders/{id}/separate on each declining employee with reason: declined_acquirer_offer and a severance / final-pay record before retrying. |
409 convertible_holder_refused | A SAFE holder refused to sign the cancellation release. | Cancel the agreeing SAFEs individually via POST /v1/entities/{id}/convertibles/{id}/cancel. Pivot the dissolution to procedure: default_281 so the refusing holder receives a creditor notice in the 60-day window. |
409 outstanding_obligations | Unfiled franchise tax or unpaid state fees. | Run POST /v1/workflows/file_all_due with within_days: 365, then retry. The error includes the obligations list. |
403 tier_4_cannot_acquihire | Token is tier-4 autonomous. | Re-issue a tier-3 token; tier-4 cannot acquihire under any policy. |
409 invalid_state_transition | Entity is not in active. | Inspect Entity.status. Acquihire is only legal from active. |
423 Locked pending_corporate_transaction | Open prior CorporateTransaction not in a terminal state. | Cancel or close the prior transaction first. |
408 Request Timeout after authorization.created | Human signer didn't approve within 14 days. | Authorization auto-expires; the cascade reverts and the entity stays active. Re-fire the workflow. |
Full taxonomy: errors.
Variations
A solo founder selling the IP and customer contracts to a larger competitor.
Phase 2 employee transition is a no-op via
no_action_required — the cascade
records evidence.test: no_employees, evidence.satisfied: true. Phase 3 still
cancels any outstanding SAFEs, Phase 4 fires immediately because the legacy
entity is empty as soon as Phase 1 closes.
{
"seller_entity_id": "ent_Nq3KcAbc",
"acquirer": { "external_name": "Northwind Industries, Inc." },
"consideration": { "amount": 1500000, "currency": "usd" },
"loi_document_id": "doc_LoiAcq001",
"asset_schedule": [
{ "category": "ip", "description": "All patents, source code, customer data" },
{ "category": "contracts", "description": "Customer agreements" }
],
"employee_transition_list": [],
"convertible_releases": [
{ "convertible_entry_id": "led_safe001", "release_document_id": "doc_SafeRelease001" }
],
"dissolution_procedure": "post_asset_sale_shortcut",
"transition_date": "2026-05-15",
"approver_stakeholder_id": "stk_SoloFounder"
}The canonical flow shown in Phases 1–4 above. One founder plus a small
team, all transitioning to the acquirer the same business day, with two
outstanding SAFEs cancelled. Six COBRA notices fire, six separation Documents
generate, two SAFE releases execute, and the dissolution cascade walks
post_asset_sale_shortcut once the asset sale closes.
Some acquihires are structured as stock purchases — the acquirer takes the
entity for tax or contract-assignment-burden reasons even though the
commercial substance is "buy the team." This is not an acquihire shape; it
is an acquisition. Use acquire-a-company
instead. The legacy entity becomes a subsidiary; no dissolution cascade fires;
employees stay on the same employer of record.
{
"target_entity_id": "ent_Nq3KcAbc",
"acquirer": { "external_name": "Northwind Industries, Inc." },
"consideration": { "amount": 12500000, "currency": "usd" },
"structure": "stock_for_cash"
}FAQ
Related
- Acquire a company — full M&A path; the entity transfers as a subsidiary instead of dissolving.
- Execute an asset sale — pure asset transfer with no employee component or dissolution.
- Dissolve an entity — the standard self-initiated wind-down (no acquirer).
- Authorize a 401(k) plan termination — the corporate-governance side of plan wind-down during an acquihire.
- Payroll and benefits handoff — the architectural boundary that defines what Matter does (governance + statutory notices) and what the providers do (wage flow, plan administration, COBRA elections).