---
title: "Model the next round"
method: POST
path: "/captable/simulations"
tags: ["sim"]
---

# Model the next round

`POST /captable/simulations`

## Request

- Base URL: `https://localhost:4410/api/v1`
- URL: `https://localhost:4410/api/v1/captable/simulations`
- Auth: HTTP bearer

What a priced round does to every holder: from pre_money and new_money in dollars, an optional pool target (percent, post-money unless basis is pre) and a choice per SAFE (convert per its terms, the default; leave_out; or for an MFN SAFE, elect another SAFE's terms), the price per share, the pool increase, each SAFE's conversion and each holder's ownership before and after. Exact arithmetic on the confirmed cap table. Model, not a legal record: it changes nothing.

## Request body

- object
  - `pre_money` union, required
    - number
    - string
  - `new_money` union, required
    - number
    - string
  - `pool` object, nullable
    - `percent` number, required
    - `basis` 'post' | 'pre'
  - `choices` union[]
    - union
      - object
        - `safe_id` string, required
        - `choice` 'convert', required
      - object
        - `safe_id` string, required
        - `choice` 'leave_out', required
      - object
        - `safe_id` string, required
        - `choice` 'elect', required
        - `terms_of` string, required
  - `as_of` string, date

## Response `200`

The result.

- object
  - `label` 'Model, not a legal record', required
  - `as_of` string, date, required
  - `result` object, required
    - `label` 'Model, not a legal record', required
    - `engine_version` string, required
    - `rounding` string, required
    - `formula` string, required
    - `pre_money` string, required
    - `new_money` string, required
    - `price_per_share` object, required
      - `exact` string, required
      - `decimal` string, required
    - `company_capitalization` object, required
      - `exact` string, required
      - `decimal` string, required
    - `pre_money_shares` object, required
      - `exact` string, required
      - `decimal` string, required
    - `pool` object, required
      - `percent` string, nullable, required
      - `basis` 'post' | 'pre', nullable, required
      - `before` string, required
      - `increase` string, required
      - `increase_unrounded` object, required
        - `exact` string, required
        - `decimal` string, required
      - `after` string, required
    - `new_investors` object, required
      - `shares` string, required
      - `shares_unrounded` object, required
        - `exact` string, required
        - `decimal` string, required
    - `safes` object[], required
      - `key` string, required
      - `label` string, required
      - `safe_price` string, nullable, required
      - `discount_price` string, nullable, required
      - `conversion_price` object, nullable, required
        - `exact` string, required
        - `decimal` string, required
      - `price_applied` 'safe_price' | 'discount_price' | 'round_price', nullable, required
      - `shares` string, required
      - `shares_unrounded` object, required
        - `exact` string, required
        - `decimal` string, required
    - `rows` object[], required
      - `key` string, required
      - `label` string, required
      - `kind` 'holder' | 'pool' | 'safe' | 'new_investors', required
      - `shares_before` string, required
      - `shares_after` string, required
      - `shares_after_unrounded` object, required
        - `exact` string, required
        - `decimal` string, required
      - `percent_before` string, required
      - `percent_after` string, required
      - `change_points` string, required
    - `total_before` string, required
    - `total_after` string, required
  - `safes` object[], required
    - `safe_id` string, required
    - `investor` string, required
    - `choice` union, required
      - object
        - `safe_id` string, required
        - `choice` 'convert', required
      - object
        - `safe_id` string, required
        - `choice` 'leave_out', required
      - object
        - `safe_id` string, required
        - `choice` 'elect', required
        - `terms_of` string, required
    - `note` string, nullable, required
    - `electable` object[], required
      - `safe_id` string, required
      - `investor` string, required
  - `not_modeled` object[], required
    - `id` string, required
    - `label` string, required
    - `detail` string, required

## Other responses

- `default`: An RFC 9457 problem.

---

[API](https://skmtc.dev/binderwork/apis/binderwork-api.md) · [All operations](https://skmtc.dev/binderwork/apis/binderwork-api/llms.txt) · [OpenAPI document](https://skmtc.dev/binderwork/apis/binderwork-api/revisions/f8fab0ebee53?raw)
