STUD.com
← Objectives

Compute · Assess & Decide · Analysis & Finance

Compute Equity for a Founder's Cash Contribution

The extra ownership percentage a founder earns by putting cash into the company beyond their labor, priced off the agreed pre-seed valuation, plus the resulting post-contribution ownership split, so the founders can settle IOUs before financing.

You receive: A pure function: given the company's pre-money pre-seed valuation, the cash a founder contributes, and that founder's pre-cash ownership percentage, it returns cashEquityPct (the new shares the cash buys), newPostMoneyValuation, and founderOwnershipPctAfter, with the cash-equity portion marked non-vesting.

Part of Choose Business Model

What's verified: STUD verifies the cash-to-equity arithmetic and the non-vesting flag against the supplied valuation and cash. It does NOT validate that the pre-seed valuation is reasonable or that the other founders agree; it computes the split implied by the frozen inputs.

Opens soon

Cost20 credits
AcceptanceAutomated check against your inputs
ProtectionHeld until verified delivery

This objective is verified and ready. It opens soon, once sign-in and payments are live.

Deliverable interface

The exact vocabulary the automated check enforces: keys, tokens, entry points, and worked examples. Generated from the verification source.

{
 "constants": {},
 "entryName": "compute_founder_cash_contribution_to_equity",
 "expectNote": "expect is the comparison-space value (your return value goes through normalize first when one is published)",
 "hiddenCaseCount": 12,
 "hiddenCaseNames": [
  "third_founder",
  "no_cash",
  "big_cash",
  "small_cash",
  "low_pre",
  "high_pre",
  "founder_low",
  "founder_high",
  "tiny_cash",
  "cash_gt_pre",
  "mid",
  "quarter_founder"
 ],
 "inputKeys": [
  "cashContributed",
  "founderPreCashOwnershipPct",
  "preMoneyValuation"
 ],
 "normalizeSource": "def _normalize_compute_founder_cash_contribution_to_equity(r):\n    if not isinstance(r, dict): return repr(r)\n    def n(x, p): return None if x is None else round(float(x), p)\n    return {\"postMoney\": n(r.get(\"postMoney\"), 2), \"cashEquityPct\": n(r.get(\"cashEquityPct\"), 2),\n            \"founderOwnershipPctAfter\": n(r.get(\"founderOwnershipPctAfter\"), 2), \"nonVesting\": bool(r.get(\"nonVesting\"))}\n",
 "returnShapes": [
  [
   "cashEquityPct",
   "founderOwnershipPctAfter",
   "nonVesting",
   "postMoney"
  ]
 ],
 "signature": "def compute_founder_cash_contribution_to_equity(inp):",
 "submission": "python exposing the entry function; inp is one input object; graded on held-out cases",
 "tier": "calculator",
 "visibleCases": [
  {
   "expect": {
    "cashEquityPct": 10,
    "founderOwnershipPctAfter": 55,
    "nonVesting": true,
    "postMoney": 500000
   },
   "input": {
    "cashContributed": 50000,
    "founderPreCashOwnershipPct": 50,
    "preMoneyValuation": 450000
   },
   "name": "half_founder"
  },
  {
   "expect": {
    "cashEquityPct": 50,
    "founderOwnershipPctAfter": 62.5,
    "nonVesting": true,
    "postMoney": 400000
   },
   "input": {
    "cashContributed": 200000,
    "founderPreCashOwnershipPct": 25,
    "preMoneyValuation": 200000
   },
   "name": "equal_cash"
  }
 ],
 "vocabulary": [
  "cashContributed",
  "cashEquityPct",
  "founderOwnershipPctAfter",
  "founderPreCashOwnershipPct",
  "nonVesting",
  "postMoney",
  "preMoneyValuation"
 ]
}

Get early access to STUD the day it goes live.