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
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.