Free investment and startup math, guide search and prompts: IRR, MOIC, SAFE, QSBS, burn multiple.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Capital efficiency: net burn divided by net new ARR over the same period (a quarter or a year). Lower is better. Returns the multiple and a rough band (under 1 amazing, 1 to 1.5 great, 1.5 to 2 good, 2 to 3 suspect, over 3 bad, a rule of thumb popularized by David Sacks). Use rule_of_40 for growth versus profitability instead. Guide: https://raziel.co/learn/importance-startup-burn-rate
Net cash burned in the period (cash out minus cash in), as a positive number.
Net new annual recurring revenue added in the same period (new + expansion - churn). Can be negative.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http calculators https://raziel.co/mcp
Capital efficiency: net burn divided by net new ARR over the same period (a quarter or a year). Lower is better. Returns the multiple and a rough band (under 1 amazing, 1 to 1.5 great, 1.5 to 2 good, 2 to 3 suspect, over 3 bad, a rule of thumb popularized by David Sacks). Use rule_of_40 for growth versus profitability instead. Guide: https://raziel.co/learn/importance-startup-burn-rate
| Argument | Type | Description |
|---|---|---|
| net_burn_usd* | number | Net cash burned in the period (cash out minus cash in), as a positive number. |
| net_new_arr_usd* | number | Net new annual recurring revenue added in the same period (new + expansion - churn). Can be negative. |
{
"type": "object",
"required": [
"net_burn_usd",
"net_new_arr_usd"
],
"properties": {
"net_burn_usd": {
"type": "number",
"minimum": 0,
"description": "Net cash burned in the period (cash out minus cash in), as a positive number."
},
"net_new_arr_usd": {
"type": "number",
"description": "Net new annual recurring revenue added in the same period (new + expansion - churn). Can be negative."
}
},
"additionalProperties": false
}Months of gross profit needed to earn back the cost of acquiring a customer: CAC / (monthly revenue per account x gross margin). Give cac_usd directly, or sales_marketing_spend_usd and new_customers for the same period. Many SaaS investors look for roughly 12 to 18 months or less, shorter for SMB. Use ltv_cac to also see lifetime value. Guide: https://raziel.co/learn/unit-economics-early-stage-startups
| Argument | Type | Description |
|---|---|---|
| cac_usd | number | Cost to acquire one customer. Optional if spend and new customers are given. |
| new_customers | integer | New customers won in the same period. |
| arpa_monthly_usd* | number | Average revenue per account per month. |
| gross_margin_pct* | number | Gross margin in percent (80 = 80%). |
| sales_marketing_spend_usd | number | Sales and marketing spend in the period (used with new_customers when cac_usd is not given). |
{
"type": "object",
"required": [
"arpa_monthly_usd",
"gross_margin_pct"
],
"properties": {
"cac_usd": {
"type": "number",
"minimum": 0,
"description": "Cost to acquire one customer. Optional if spend and new customers are given."
},
"new_customers": {
"type": "integer",
"minimum": 1,
"description": "New customers won in the same period."
},
"arpa_monthly_usd": {
"type": "number",
"minimum": 0,
"description": "Average revenue per account per month.",
"exclusiveMinimum": 0
},
"gross_margin_pct": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Gross margin in percent (80 = 80%).",
"exclusiveMinimum": 0
},
"sales_marketing_spend_usd": {
"type": "number",
"minimum": 0,
"description": "Sales and marketing spend in the period (used with new_customers when cac_usd is not given)."
}
},
"additionalProperties": false
}Compound annual growth rate between a start value and an end value over a number of years. Use for growth of a single value (revenue, an asset price); use irr or xirr when there are multiple cash flows. Interactive version: https://raziel.co/tools/cagr-calculator
| Argument | Type | Description |
|---|---|---|
| years* | number | Number of years between the two values. |
| end_value_usd* | number | Value at the end. |
| start_value_usd* | number | Value at the start. |
{
"type": "object",
"required": [
"start_value_usd",
"end_value_usd",
"years"
],
"properties": {
"years": {
"type": "number",
"maximum": 200,
"description": "Number of years between the two values.",
"exclusiveMinimum": 0
},
"end_value_usd": {
"type": "number",
"minimum": 0,
"description": "Value at the end."
},
"start_value_usd": {
"type": "number",
"minimum": 0,
"description": "Value at the start.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Capitalization rate of an income property (net operating income / property value), plus gross rent multiplier and price per unit. Give noi_usd directly or gross income and operating expenses. Use cash_on_cash when financing matters. Interactive version: https://raziel.co/tools/cap-rate-calculator
| Argument | Type | Description |
|---|---|---|
| units | integer | Number of units, for price per unit. 0 to skip. |
| noi_usd | number | Annual net operating income. If omitted, gross income minus operating expenses is used. |
| gross_income_usd | number | Annual gross rental income. |
| property_value_usd* | number | Purchase price or current market value. |
| operating_expenses_usd | number | Annual operating expenses, excluding mortgage payments. |
{
"type": "object",
"required": [
"property_value_usd"
],
"properties": {
"units": {
"type": "integer",
"default": 0,
"minimum": 0,
"description": "Number of units, for price per unit. 0 to skip."
},
"noi_usd": {
"type": "number",
"minimum": 0,
"description": "Annual net operating income. If omitted, gross income minus operating expenses is used."
},
"gross_income_usd": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Annual gross rental income."
},
"property_value_usd": {
"type": "number",
"minimum": 0,
"description": "Purchase price or current market value.",
"exclusiveMinimum": 0
},
"operating_expenses_usd": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Annual operating expenses, excluding mortgage payments."
}
},
"additionalProperties": false
}European (whole-fund) distribution waterfall: management fees, return of capital, preferred return (hurdle), GP catch-up and carried interest split, with LP net multiple and the gross-to-net drag. Interactive version: https://raziel.co/tools/carried-interest-calculator
| Argument | Type | Description |
|---|---|---|
| mode | string | "moic" to give a gross multiple on invested capital, "proceeds" to give total exit proceeds. |
| years | number | Years from capital call to distribution. |
| catch_up | string | GP catch-up after the hurdle. |
| carry_pct | number | Carried interest, percent of profits. |
| fee_years | number | Years the full fee is charged. |
| gross_moic | number | Gross multiple on invested capital (mode "moic"). |
| hurdle_pct | number | Preferred return per year, percent. 0 for no hurdle. |
| proceeds_usd | number | Total exit proceeds (mode "proceeds"). |
| fund_size_usd* | number | Total LP commitments. |
| step_down_years | number | Years the step-down fee is charged. |
| step_down_fee_pct | number | Annual fee after the step-down, percent. 0 for none. |
| management_fee_pct | number | Annual management fee on commitments, percent. |
{
"type": "object",
"required": [
"fund_size_usd"
],
"properties": {
"mode": {
"enum": [
"moic",
"proceeds"
],
"type": "string",
"default": "moic",
"description": "\"moic\" to give a gross multiple on invested capital, \"proceeds\" to give total exit proceeds."
},
"years": {
"type": "number",
"default": 10,
"maximum": 30,
"description": "Years from capital call to distribution.",
"exclusiveMinimum": 0
},
"catch_up": {
"enum": [
"none",
"full"
],
"type": "string",
"default": "full",
"description": "GP catch-up after the hurdle."
},
"carry_pct": {
"type": "number",
"default": 20,
"maximum": 100,
"minimum": 0,
"description": "Carried interest, percent of profits.",
"exclusiveMaximum": 100
},
"fee_years": {
"type": "number",
"default": 5,
"maximum": 30,
"minimum": 0,
"description": "Years the full fee is charged."
},
"gross_moic": {
"type": "number",
"default": 3,
"minimum": 0,
"description": "Gross multiple on invested capital (mode \"moic\")."
},
"hurdle_pct": {
"type": "number",
"default": 8,
"maximum": 100,
"minimum": 0,
"description": "Preferred return per year, percent. 0 for no hurdle."
},
"proceeds_usd": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Total exit proceeds (mode \"proceeds\")."
},
"fund_size_usd": {
"type": "number",
"minimum": 0,
"description": "Total LP commitments.",
"exclusiveMinimum": 0
},
"step_down_years": {
"type": "number",
"default": 0,
"maximum": 30,
"minimum": 0,
"description": "Years the step-down fee is charged."
},
"step_down_fee_pct": {
"type": "number",
"default": 0,
"maximum": 100,
"minimum": 0,
"description": "Annual fee after the step-down, percent. 0 for none.",
"exclusiveMaximum": 100
},
"management_fee_pct": {
"type": "number",
"default": 2,
"maximum": 100,
"minimum": 0,
"description": "Annual management fee on commitments, percent.",
"exclusiveMaximum": 100
}
},
"additionalProperties": false
}Leveraged rental property returns: mortgage payment, NOI, annual cash flow, cash on cash return, DSCR and break-even occupancy. Use cap_rate for an unlevered view of the same property. Interactive version: https://raziel.co/tools/cash-on-cash-return-calculator
| Argument | Type | Description |
|---|---|---|
| price_usd* | number | Purchase price. |
| vacancy_pct | number | Vacancy and credit loss, percent of gross rent. |
| loan_term_years | number | Mortgage term in years. |
| down_payment_pct | number | Down payment as a percent of price. |
| monthly_rent_usd* | number | Gross monthly rent across all units. |
| closing_costs_usd | number | Closing costs and upfront repairs paid in cash. |
| interest_rate_pct | number | Mortgage interest rate, percent per year. |
| operating_expenses_usd | number | Annual operating expenses: taxes, insurance, repairs, management, HOA. |
{
"type": "object",
"required": [
"price_usd",
"monthly_rent_usd"
],
"properties": {
"price_usd": {
"type": "number",
"minimum": 0,
"description": "Purchase price.",
"exclusiveMinimum": 0
},
"vacancy_pct": {
"type": "number",
"default": 5,
"maximum": 100,
"minimum": 0,
"description": "Vacancy and credit loss, percent of gross rent."
},
"loan_term_years": {
"type": "number",
"default": 30,
"maximum": 50,
"minimum": 0,
"description": "Mortgage term in years."
},
"down_payment_pct": {
"type": "number",
"default": 25,
"maximum": 100,
"minimum": 0,
"description": "Down payment as a percent of price."
},
"monthly_rent_usd": {
"type": "number",
"minimum": 0,
"description": "Gross monthly rent across all units."
},
"closing_costs_usd": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Closing costs and upfront repairs paid in cash."
},
"interest_rate_pct": {
"type": "number",
"default": 7,
"maximum": 100,
"minimum": 0,
"description": "Mortgage interest rate, percent per year."
},
"operating_expenses_usd": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Annual operating expenses: taxes, insurance, repairs, management, HOA."
}
},
"additionalProperties": false
}Researched, sourced comparison of Raziel with another investing or startup platform (Addepar, Allocations, AngelList, Cake Equity, Carta, Empower, Eqvista, Foundersuite, getquin, Juniper Square, Kubera, Ledgy, Masttro, Pulley, Seraf, Sharesight, spreadsheets, Sydecar, Visible, Vyzer): pricing, feature coverage, key differences, where the other platform is stronger, and sources. Pass "list" to see every platform. Facts are as of the research date in the result.
| Argument | Type | Description |
|---|---|---|
| competitor* | string | Platform name, e.g. "Carta" or "AngelList". Use "list" for all. |
{
"type": "object",
"required": [
"competitor"
],
"properties": {
"competitor": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Platform name, e.g. \"Carta\" or \"AngelList\". Use \"list\" for all."
}
},
"additionalProperties": false
}How a convertible note converts in a priced round: accrued interest, conversion price (cap vs discount), shares received and effective discount. Use safe_conversion for SAFEs, which have no interest. Interactive version: https://raziel.co/tools/convertible-note-calculator
| Argument | Type | Description |
|---|---|---|
| years | number | Years from issue to conversion. |
| discount_pct | number | Discount to the round price in percent. 0 means no discount. |
| interest_mode | string | How interest accrues: simple, compounded annually, or compounded monthly. |
| principal_usd* | number | Note principal. |
| interest_rate_pct | number | Annual interest rate in percent (6 = 6%). |
| valuation_cap_usd | number | Valuation cap. 0 means no cap. |
| round_price_per_share_usd* | number | Price per share paid by new investors in the round. |
| priced_round_pre_money_usd* | number | Pre-money valuation of the priced round. |
{
"type": "object",
"required": [
"principal_usd",
"priced_round_pre_money_usd",
"round_price_per_share_usd"
],
"properties": {
"years": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Years from issue to conversion."
},
"discount_pct": {
"type": "number",
"default": 0,
"maximum": 100,
"minimum": 0,
"description": "Discount to the round price in percent. 0 means no discount.",
"exclusiveMaximum": 100
},
"interest_mode": {
"enum": [
"simple",
"annual",
"monthly"
],
"type": "string",
"default": "simple",
"description": "How interest accrues: simple, compounded annually, or compounded monthly."
},
"principal_usd": {
"type": "number",
"minimum": 0,
"description": "Note principal.",
"exclusiveMinimum": 0
},
"interest_rate_pct": {
"type": "number",
"default": 0,
"maximum": 100,
"minimum": 0,
"description": "Annual interest rate in percent (6 = 6%)."
},
"valuation_cap_usd": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Valuation cap. 0 means no cap."
},
"round_price_per_share_usd": {
"type": "number",
"minimum": 0,
"description": "Price per share paid by new investors in the round.",
"exclusiveMinimum": 0
},
"priced_round_pre_money_usd": {
"type": "number",
"minimum": 0,
"description": "Pre-money valuation of the priced round.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Plain-English definition of a private-market, venture or fund term (pro rata, MFN, liquidation preference, valuation cap, DPI, TVPI, carried interest, hurdle, capital call, NAV, K-1, QSBS, 83(b), 409A, drag-along, ROFR and about 33 more), with a link to the Raziel guide or calculator. Pass "list" to get every term. Use search_guides for longer explanations.
| Argument | Type | Description |
|---|---|---|
| term* | string | The term or abbreviation, e.g. "pro rata" or "DPI". Use "list" for all terms. |
{
"type": "object",
"required": [
"term"
],
"properties": {
"term": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "The term or abbreviation, e.g. \"pro rata\" or \"DPI\". Use \"list\" for all terms."
}
},
"additionalProperties": false
}Founder and investor ownership across several future funding rounds, including option pool top-ups before each round. Use option_pool for a single round when the question is how a pre-money pool shifts value, and startup_valuation for one simple round. Interactive version: https://raziel.co/tools/dilution-calculator
| Argument | Type | Description |
|---|---|---|
| rounds* | array | Future rounds in order. |
| founders_pct* | number | Founders’ combined ownership today, percent of fully diluted shares. |
| option_pool_pct | number | Unissued option pool today, percent of fully diluted shares. Anything not founders or pool is treated as existing investors. |
{
"type": "object",
"required": [
"founders_pct",
"rounds"
],
"properties": {
"rounds": {
"type": "array",
"items": {
"type": "object",
"required": [
"raise_usd",
"pre_money_usd"
],
"properties": {
"name": {
"type": "string",
"default": "",
"maxLength": 60,
"description": "Round label, e.g. \"Seed\" or \"Series A\"."
},
"raise_usd": {
"type": "number",
"minimum": 0,
"description": "New money raised in the round.",
"exclusiveMinimum": 0
},
"pre_money_usd": {
"type": "number",
"minimum": 0,
"description": "Pre-money valuation of the round.",
"exclusiveMinimum": 0
},
"target_pool_pct": {
"type": "number",
"default": 0,
"maximum": 100,
"minimum": 0,
"description": "Target unissued pool after the round, percent of post-money. 0 for no top-up.",
"exclusiveMaximum": 100
}
},
"additionalProperties": false
},
"maxItems": 10,
"minItems": 1,
"description": "Future rounds in order."
},
"founders_pct": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Founders’ combined ownership today, percent of fully diluted shares.",
"exclusiveMinimum": 0
},
"option_pool_pct": {
"type": "number",
"default": 0,
"maximum": 100,
"minimum": 0,
"description": "Unissued option pool today, percent of fully diluted shares. Anything not founders or pool is treated as existing investors."
}
},
"additionalProperties": false
}Internal rate of return for evenly spaced yearly cash flows after an initial investment. Use xirr instead when cash flows have specific dates or irregular timing. Interactive version: https://raziel.co/tools/irr-calculator
| Argument | Type | Description |
|---|---|---|
| cash_flows_usd* | array | Net cash flow for each following year, in order (year 1, year 2, ...). Positive = money received, negative = more money invested. |
| initial_investment_usd* | number | Amount invested at the start (year 0), as a positive number. |
{
"type": "object",
"required": [
"initial_investment_usd",
"cash_flows_usd"
],
"properties": {
"cash_flows_usd": {
"type": "array",
"items": {
"type": "number",
"description": "Net cash flow for the year in USD."
},
"maxItems": 100,
"minItems": 1,
"description": "Net cash flow for each following year, in order (year 1, year 2, ...). Positive = money received, negative = more money invested."
},
"initial_investment_usd": {
"type": "number",
"minimum": 0,
"description": "Amount invested at the start (year 0), as a positive number.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Exit waterfall: how sale proceeds split between preferred series and common, with preference multiples, non-participating, participating or capped participation, and stacked or pari passu seniority. Each series converts to common when that pays more. Interactive version: https://raziel.co/tools/liquidation-preference-calculator
| Argument | Type | Description |
|---|---|---|
| series* | array | Preferred series, oldest first. |
| seniority | string | "stacked": later series are paid first (listed last = most senior). "pari": all series share preferences pro rata. |
| common_shares* | number | Common shares outstanding, including exercised options (fully diluted common). |
| exit_value_usd* | number | Net proceeds to equity holders at the exit. |
{
"type": "object",
"required": [
"exit_value_usd",
"common_shares",
"series"
],
"properties": {
"series": {
"type": "array",
"items": {
"type": "object",
"required": [
"invested_usd",
"shares"
],
"properties": {
"name": {
"type": "string",
"default": "",
"maxLength": 60,
"description": "Series name, e.g. \"Series A\"."
},
"shares": {
"type": "number",
"minimum": 0,
"description": "Preferred shares (convert 1:1 into common)."
},
"invested_usd": {
"type": "number",
"minimum": 0,
"description": "Amount the series invested."
},
"participation": {
"enum": [
"none",
"full",
"capped"
],
"type": "string",
"default": "none",
"description": "Non-participating, fully participating, or participating up to a cap."
},
"preference_multiple": {
"type": "number",
"default": 1,
"maximum": 10,
"minimum": 0,
"description": "Liquidation preference multiple (1 = 1x)."
},
"participation_cap_multiple": {
"type": "number",
"default": 3,
"minimum": 0,
"description": "Capped participation only: total payout cap as a multiple of the amount invested (3 = 3x)."
}
},
"additionalProperties": false
},
"maxItems": 10,
"minItems": 1,
"description": "Preferred series, oldest first."
},
"seniority": {
"enum": [
"stacked",
"pari"
],
"type": "string",
"default": "stacked",
"description": "\"stacked\": later series are paid first (listed last = most senior). \"pari\": all series share preferences pro rata."
},
"common_shares": {
"type": "number",
"minimum": 0,
"description": "Common shares outstanding, including exercised options (fully diluted common)."
},
"exit_value_usd": {
"type": "number",
"minimum": 0,
"description": "Net proceeds to equity holders at the exit."
}
},
"additionalProperties": false
}Customer lifetime value (monthly revenue per account x gross margin / monthly churn) compared with customer acquisition cost. Returns LTV, the LTV:CAC ratio and CAC payback months. Around 3:1 or better is a commonly cited target. Use cac_payback when you only need the payback period. Guide: https://raziel.co/learn/unit-economics-early-stage-startups
| Argument | Type | Description |
|---|---|---|
| cac_usd* | number | Fully loaded cost to acquire one customer (sales and marketing spend / new customers). |
| arpa_monthly_usd* | number | Average revenue per account per month. |
| gross_margin_pct* | number | Gross margin in percent (80 = 80%). |
| monthly_churn_pct* | number | Monthly customer churn in percent (2 = 2%). Must be above 0. |
{
"type": "object",
"required": [
"arpa_monthly_usd",
"gross_margin_pct",
"monthly_churn_pct",
"cac_usd"
],
"properties": {
"cac_usd": {
"type": "number",
"minimum": 0,
"description": "Fully loaded cost to acquire one customer (sales and marketing spend / new customers)."
},
"arpa_monthly_usd": {
"type": "number",
"minimum": 0,
"description": "Average revenue per account per month.",
"exclusiveMinimum": 0
},
"gross_margin_pct": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Gross margin in percent (80 = 80%)."
},
"monthly_churn_pct": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Monthly customer churn in percent (2 = 2%). Must be above 0.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Multiple on invested capital: total value returned (distributions plus current value) divided by the amount invested, with the implied annualized return when a holding period is given. Use tvpi_dpi for fund-level LP multiples. Interactive version: https://raziel.co/tools/moic-calculator
| Argument | Type | Description |
|---|---|---|
| years | number | Holding period in years, used for the annualized return. 0 if unknown. |
| invested_usd* | number | Total capital invested, including follow-on checks. |
| value_returned_usd* | number | Cash received from exits and distributions plus the current value of anything still held. |
{
"type": "object",
"required": [
"invested_usd",
"value_returned_usd"
],
"properties": {
"years": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Holding period in years, used for the annualized return. 0 if unknown."
},
"invested_usd": {
"type": "number",
"minimum": 0,
"description": "Total capital invested, including follow-on checks.",
"exclusiveMinimum": 0
},
"value_returned_usd": {
"type": "number",
"minimum": 0,
"description": "Cash received from exits and distributions plus the current value of anything still held."
}
},
"additionalProperties": false
}Net revenue retention (NRR) and gross revenue retention (GRR) for a cohort of existing customers over a period, usually 12 months: (starting revenue + expansion - contraction - churn) / starting revenue. Above 100% NRR means existing customers grow on their own. Exclude revenue from new customers. Guide: https://raziel.co/learn/evaluating-startup-traction-metrics
| Argument | Type | Description |
|---|---|---|
| churned_usd | number | Revenue lost from customers in that cohort who left. |
| expansion_usd | number | Upsell and expansion revenue from that cohort. |
| contraction_usd | number | Downgrades from that cohort. |
| starting_mrr_usd* | number | Recurring revenue from the cohort at the start of the period (MRR or ARR, use the same basis throughout). |
{
"type": "object",
"required": [
"starting_mrr_usd"
],
"properties": {
"churned_usd": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Revenue lost from customers in that cohort who left."
},
"expansion_usd": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Upsell and expansion revenue from that cohort."
},
"contraction_usd": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Downgrades from that cohort."
},
"starting_mrr_usd": {
"type": "number",
"minimum": 0,
"description": "Recurring revenue from the cohort at the start of the period (MRR or ARR, use the same basis throughout).",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}The "option pool shuffle" for one round: how much the pool must grow to hit a post-money target, the effective pre-money valuation, and how much founder ownership the pre-money pool costs versus adding it after the round. Interactive version: https://raziel.co/tools/option-pool-calculator
| Argument | Type | Description |
|---|---|---|
| raise_usd* | number | New money raised in the round. |
| founders_pct | number | Founders today, percent of pre-round fully diluted shares. |
| pre_money_usd* | number | Headline pre-money valuation. |
| target_pool_pct* | number | Target unissued pool after the round, percent of post-money. |
| existing_pool_pct | number | Unissued pool today, percent of pre-round fully diluted shares. |
| fully_diluted_shares | number | Fully diluted shares today. Optional; enables per-share outputs. |
{
"type": "object",
"required": [
"pre_money_usd",
"raise_usd",
"target_pool_pct"
],
"properties": {
"raise_usd": {
"type": "number",
"minimum": 0,
"description": "New money raised in the round."
},
"founders_pct": {
"type": "number",
"default": 100,
"maximum": 100,
"minimum": 0,
"description": "Founders today, percent of pre-round fully diluted shares."
},
"pre_money_usd": {
"type": "number",
"minimum": 0,
"description": "Headline pre-money valuation.",
"exclusiveMinimum": 0
},
"target_pool_pct": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Target unissued pool after the round, percent of post-money.",
"exclusiveMaximum": 100
},
"existing_pool_pct": {
"type": "number",
"default": 0,
"maximum": 100,
"minimum": 0,
"description": "Unissued pool today, percent of pre-round fully diluted shares.",
"exclusiveMaximum": 100
},
"fully_diluted_shares": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Fully diluted shares today. Optional; enables per-share outputs."
}
},
"additionalProperties": false
}Allocation of a portfolio across asset classes (stocks, bonds, real estate, crypto, venture capital, private equity, cash, other), with a simple diversification score and a concentration read. Holdings in the same class are summed. Interactive version: https://raziel.co/tools/portfolio-allocation
| Argument | Type | Description |
|---|---|---|
| holdings* | array | Each holding with its asset class and current value. |
{
"type": "object",
"required": [
"holdings"
],
"properties": {
"holdings": {
"type": "array",
"items": {
"type": "object",
"required": [
"asset_class",
"value_usd"
],
"properties": {
"name": {
"type": "string",
"default": "",
"maxLength": 100,
"description": "Holding name."
},
"value_usd": {
"type": "number",
"minimum": 0,
"description": "Current value."
},
"asset_class": {
"enum": [
"Stocks",
"Bonds",
"Real Estate",
"Crypto",
"Venture Capital",
"Private Equity",
"Cash",
"Other"
],
"type": "string",
"description": "Asset class."
}
},
"additionalProperties": false
},
"maxItems": 200,
"minItems": 1,
"description": "Each holding with its asset class and current value."
}
},
"additionalProperties": false
}For an existing investor in a new round: the check needed to keep the same ownership (pro rata), ownership after the round if they skip or write a planned check, and the value of the stake at the new post-money. Interactive version: https://raziel.co/tools/pro-rata-calculator
| Argument | Type | Description |
|---|---|---|
| post_money_usd* | number | Post-money valuation of the round. |
| round_raise_usd* | number | Total new money raised in the round, including pro rata checks. |
| planned_check_usd | number | The check you plan to write. 0 to only see the pro rata amount. |
| current_ownership_pct* | number | Your current fully diluted ownership in percent. |
{
"type": "object",
"required": [
"current_ownership_pct",
"round_raise_usd",
"post_money_usd"
],
"properties": {
"post_money_usd": {
"type": "number",
"minimum": 0,
"description": "Post-money valuation of the round.",
"exclusiveMinimum": 0
},
"round_raise_usd": {
"type": "number",
"minimum": 0,
"description": "Total new money raised in the round, including pro rata checks."
},
"planned_check_usd": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "The check you plan to write. 0 to only see the pro rata amount."
},
"current_ownership_pct": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Your current fully diluted ownership in percent.",
"exclusiveMaximum": 100,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Estimates the US federal capital gains exclusion for qualified small business stock under IRC Section 1202, including the July 2025 changes (tiered 3, 4 and 5 year exclusions and the $15M cap for stock acquired after July 4, 2025). Assumes the stock otherwise qualifies. Interactive version: https://raziel.co/tools/qsbs-calculator
| Argument | Type | Description |
|---|---|---|
| basis_usd* | number | Adjusted basis of the shares sold. |
| sold_date* | string | Date the stock is or will be sold (YYYY-MM-DD). |
| proceeds_usd* | number | Sale proceeds. |
| acquired_date* | string | Date the stock was acquired (YYYY-MM-DD). |
| prior_gain_usd | number | Gain from the same company already excluded in earlier years. |
{
"type": "object",
"required": [
"acquired_date",
"sold_date",
"basis_usd",
"proceeds_usd"
],
"properties": {
"basis_usd": {
"type": "number",
"minimum": 0,
"description": "Adjusted basis of the shares sold."
},
"sold_date": {
"type": "string",
"format": "date",
"description": "Date the stock is or will be sold (YYYY-MM-DD)."
},
"proceeds_usd": {
"type": "number",
"minimum": 0,
"description": "Sale proceeds.",
"exclusiveMinimum": 0
},
"acquired_date": {
"type": "string",
"format": "date",
"description": "Date the stock was acquired (YYYY-MM-DD)."
},
"prior_gain_usd": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Gain from the same company already excluded in earlier years."
}
},
"additionalProperties": false
}Adds revenue growth rate and profit margin (usually EBITDA or free cash flow margin, both in percent). A score of 40 or more is the common rule of thumb for a healthy software company balancing growth and profitability. Use burn_multiple for capital efficiency instead. Guide: https://raziel.co/learn/startup-traction-analysis-metrics
| Argument | Type | Description |
|---|---|---|
| profit_margin_pct* | number | Profit margin in percent, EBITDA or free cash flow margin (-15 = -15%). |
| revenue_growth_pct* | number | Year-over-year revenue growth in percent (60 = 60%). Can be negative. |
{
"type": "object",
"required": [
"revenue_growth_pct",
"profit_margin_pct"
],
"properties": {
"profit_margin_pct": {
"type": "number",
"maximum": 100,
"minimum": -1000,
"description": "Profit margin in percent, EBITDA or free cash flow margin (-15 = -15%)."
},
"revenue_growth_pct": {
"type": "number",
"minimum": -100,
"description": "Year-over-year revenue growth in percent (60 = 60%). Can be negative."
}
},
"additionalProperties": false
}Months of cash runway for a startup, either from a monthly net burn ("burn" mode) or from monthly revenue and expenses with growth rates ("pl" mode), including the break-even month and whether the company is default alive within 10 years. Interactive version: https://raziel.co/tools/runway-calculator
| Argument | Type | Description |
|---|---|---|
| mode | string | "burn": give monthly net burn. "pl": give monthly revenue and expenses. |
| cash_usd* | number | Cash in the bank today. |
| burn_growth_pct | number | Burn mode: month-over-month change in burn, percent (2 = +2% a month). |
| monthly_burn_usd | number | Burn mode: monthly net burn (cash out minus cash in). |
| expense_growth_pct | number | P&L mode: month-over-month expense growth, percent. |
| revenue_growth_pct | number | P&L mode: month-over-month revenue growth, percent. |
| monthly_revenue_usd | number | P&L mode: monthly revenue today. |
| monthly_expenses_usd | number | P&L mode: monthly expenses today. |
{
"type": "object",
"required": [
"cash_usd"
],
"properties": {
"mode": {
"enum": [
"burn",
"pl"
],
"type": "string",
"default": "burn",
"description": "\"burn\": give monthly net burn. \"pl\": give monthly revenue and expenses."
},
"cash_usd": {
"type": "number",
"minimum": 0,
"description": "Cash in the bank today.",
"exclusiveMinimum": 0
},
"burn_growth_pct": {
"type": "number",
"default": 0,
"description": "Burn mode: month-over-month change in burn, percent (2 = +2% a month).",
"exclusiveMinimum": -100
},
"monthly_burn_usd": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Burn mode: monthly net burn (cash out minus cash in)."
},
"expense_growth_pct": {
"type": "number",
"default": 0,
"description": "P&L mode: month-over-month expense growth, percent.",
"exclusiveMinimum": -100
},
"revenue_growth_pct": {
"type": "number",
"default": 0,
"description": "P&L mode: month-over-month revenue growth, percent.",
"exclusiveMinimum": -100
},
"monthly_revenue_usd": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "P&L mode: monthly revenue today."
},
"monthly_expenses_usd": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "P&L mode: monthly expenses today."
}
},
"additionalProperties": false
}How a YC-style SAFE (post-money or pre-money) converts in a priced equity round: conversion price, whether the cap or discount applies, shares issued and ownership after the round, including an option pool top-up. Use convertible_note for notes that accrue interest. Interactive version: https://raziel.co/tools/safe-conversion-calculator
| Argument | Type | Description |
|---|---|---|
| safe_type | string | SAFE type: "post" for post-money SAFEs (the YC standard since 2018), "pre" for older pre-money SAFEs. |
| discount_pct | number | Discount to the round price in percent (20 = 20%). 0 means no discount. |
| investment_usd* | number | SAFE purchase amount. |
| existing_shares* | number | Fully diluted shares before the priced round, including the unissued option pool. |
| target_pool_pct | number | Target unissued option pool after the round, as a percent of post-money fully diluted shares. 0 for no top-up. |
| valuation_cap_usd | number | Valuation cap. 0 means no cap. |
| existing_pool_shares | number | Unissued option pool shares today (part of existing_shares). |
| priced_round_raise_usd | number | New money raised in the priced round, not counting the SAFE. |
| priced_round_pre_money_usd* | number | Pre-money valuation of the priced round. |
{
"type": "object",
"required": [
"investment_usd",
"existing_shares",
"priced_round_pre_money_usd"
],
"properties": {
"safe_type": {
"enum": [
"post",
"pre"
],
"type": "string",
"default": "post",
"description": "SAFE type: \"post\" for post-money SAFEs (the YC standard since 2018), \"pre\" for older pre-money SAFEs."
},
"discount_pct": {
"type": "number",
"default": 0,
"maximum": 100,
"minimum": 0,
"description": "Discount to the round price in percent (20 = 20%). 0 means no discount.",
"exclusiveMaximum": 100
},
"investment_usd": {
"type": "number",
"minimum": 0,
"description": "SAFE purchase amount.",
"exclusiveMinimum": 0
},
"existing_shares": {
"type": "number",
"minimum": 0,
"description": "Fully diluted shares before the priced round, including the unissued option pool.",
"exclusiveMinimum": 0
},
"target_pool_pct": {
"type": "number",
"default": 0,
"maximum": 100,
"minimum": 0,
"description": "Target unissued option pool after the round, as a percent of post-money fully diluted shares. 0 for no top-up.",
"exclusiveMaximum": 100
},
"valuation_cap_usd": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Valuation cap. 0 means no cap."
},
"existing_pool_shares": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Unissued option pool shares today (part of existing_shares)."
},
"priced_round_raise_usd": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "New money raised in the priced round, not counting the SAFE."
},
"priced_round_pre_money_usd": {
"type": "number",
"minimum": 0,
"description": "Pre-money valuation of the priced round.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Searches Raziel's 549 Learn articles on private investing, startups, funds and founder topics (SAFEs, cap tables, K-1s, capital calls, QSBS, investor updates and more). Returns titles, URLs, summaries and matching section headings to cite. Use define_term for a one-line definition instead.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many results (1 to 10). |
| query* | string | What to look for, in plain words, e.g. "safe discount vs valuation cap". |
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 1,
"description": "How many results (1 to 10)."
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "What to look for, in plain words, e.g. \"safe discount vs valuation cap\"."
}
},
"additionalProperties": false
}Proceeds from selling private company shares on the secondary market: sale price after a discount (or premium) to the last round price or a valuation, fees, net proceeds, gain over cost basis and the implied company valuation. Interactive version: https://raziel.co/tools/secondary-sale-calculator
| Argument | Type | Description |
|---|---|---|
| fees_pct | number | Broker or platform fees, percent of gross proceeds. |
| price_basis | string | "price": reference is the last preferred price per share. "valuation": reference is a company valuation divided by fully diluted shares. |
| shares_sold* | number | Number of shares sold. |
| discount_pct | number | Discount to the reference price, percent. Negative for a premium. |
| cost_basis_usd | number | Total cost basis of the shares sold. |
| fully_diluted_shares | number | Company fully diluted shares. Required for the valuation basis; optional otherwise. |
| company_valuation_usd | number | Company valuation (valuation basis). |
| reference_price_per_share_usd | number | Last preferred price per share (price basis). |
{
"type": "object",
"required": [
"shares_sold"
],
"properties": {
"fees_pct": {
"type": "number",
"default": 0,
"maximum": 100,
"minimum": 0,
"description": "Broker or platform fees, percent of gross proceeds.",
"exclusiveMaximum": 100
},
"price_basis": {
"enum": [
"price",
"valuation"
],
"type": "string",
"default": "price",
"description": "\"price\": reference is the last preferred price per share. \"valuation\": reference is a company valuation divided by fully diluted shares."
},
"shares_sold": {
"type": "number",
"minimum": 0,
"description": "Number of shares sold.",
"exclusiveMinimum": 0
},
"discount_pct": {
"type": "number",
"default": 0,
"minimum": -100,
"description": "Discount to the reference price, percent. Negative for a premium.",
"exclusiveMaximum": 100
},
"cost_basis_usd": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Total cost basis of the shares sold."
},
"fully_diluted_shares": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Company fully diluted shares. Required for the valuation basis; optional otherwise."
},
"company_valuation_usd": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Company valuation (valuation basis)."
},
"reference_price_per_share_usd": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Last preferred price per share (price basis)."
}
},
"additionalProperties": false
}Pre-money to post-money for a single priced round: post-money valuation, price per share, new shares issued, investor ownership (investment / post-money) and founder dilution. Use dilution for several rounds and option_pool for pool math. Interactive version: https://raziel.co/tools/startup-valuation-calculator
| Argument | Type | Description |
|---|---|---|
| pre_money_usd* | number | Pre-money valuation. |
| shares_before* | number | Fully diluted shares before the round. |
| investment_usd* | number | Amount invested in the round. |
| option_pool_pct | number | Option pool after the round, percent (taken from the founders’ share). |
{
"type": "object",
"required": [
"pre_money_usd",
"investment_usd",
"shares_before"
],
"properties": {
"pre_money_usd": {
"type": "number",
"minimum": 0,
"description": "Pre-money valuation.",
"exclusiveMinimum": 0
},
"shares_before": {
"type": "number",
"minimum": 0,
"description": "Fully diluted shares before the round.",
"exclusiveMinimum": 0
},
"investment_usd": {
"type": "number",
"minimum": 0,
"description": "Amount invested in the round.",
"exclusiveMinimum": 0
},
"option_pool_pct": {
"type": "number",
"default": 0,
"maximum": 30,
"minimum": 0,
"description": "Option pool after the round, percent (taken from the founders’ share)."
}
},
"additionalProperties": false
}Key US equity tax dates. stock_grant_date: the 83(b) election deadline, 30 days after restricted stock is transferred (rolled to the next business day when the 30th day is a weekend or legal holiday). qsbs_acquired_date: the Section 1202 holding-period milestones (50%, 75% and 100% exclusion at 3, 4 and 5 years for stock acquired after July 4, 2025; 5 years before). Give either or both. Use qsbs for the dollar exclusion on a sale. Interactive version: https://raziel.co/tools/qsbs-calculator
| Argument | Type | Description |
|---|---|---|
| as_of_date | string | Count days from this date (YYYY-MM-DD). Defaults to today (UTC). |
| stock_grant_date | string | Date the restricted stock was transferred or granted (YYYY-MM-DD), for the 83(b) deadline. |
| qsbs_acquired_date | string | Date the stock was acquired (YYYY-MM-DD), for QSBS holding-period dates. |
{
"type": "object",
"required": [],
"properties": {
"as_of_date": {
"type": "string",
"format": "date",
"description": "Count days from this date (YYYY-MM-DD). Defaults to today (UTC)."
},
"stock_grant_date": {
"type": "string",
"format": "date",
"description": "Date the restricted stock was transferred or granted (YYYY-MM-DD), for the 83(b) deadline."
},
"qsbs_acquired_date": {
"type": "string",
"format": "date",
"description": "Date the stock was acquired (YYYY-MM-DD), for QSBS holding-period dates."
}
},
"additionalProperties": false
}Fund performance multiples for an LP or a fund: TVPI (total value to paid-in), DPI (distributions to paid-in, realized) and RVPI (NAV to paid-in, unrealized). Use moic for a single deal and xirr for time-weighted returns. Interactive version: https://raziel.co/tools/tvpi-dpi-calculator
| Argument | Type | Description |
|---|---|---|
| nav_usd | number | Latest reported residual value (net asset value). |
| paid_in_usd* | number | Capital called and contributed to date, including fees. |
| commitment_usd | number | Total commitment, used only for the called percentage. 0 if unknown. |
| distributions_usd | number | Cumulative cash and stock distributed to date. |
{
"type": "object",
"required": [
"paid_in_usd"
],
"properties": {
"nav_usd": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Latest reported residual value (net asset value)."
},
"paid_in_usd": {
"type": "number",
"minimum": 0,
"description": "Capital called and contributed to date, including fees.",
"exclusiveMinimum": 0
},
"commitment_usd": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Total commitment, used only for the called percentage. 0 if unknown."
},
"distributions_usd": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Cumulative cash and stock distributed to date."
}
},
"additionalProperties": false
}Annualized return (XIRR) for cash flows on specific dates, like Excel XIRR. Use this for real investments with irregular timing (capital calls, distributions, follow-ons); use irr only for evenly spaced yearly flows. Interactive version: https://raziel.co/tools/xirr-calculator
| Argument | Type | Description |
|---|---|---|
| cash_flows* | array | Dated cash flows in any order. Negative amount = money invested, positive = money received or current value. |
{
"type": "object",
"required": [
"cash_flows"
],
"properties": {
"cash_flows": {
"type": "array",
"items": {
"type": "object",
"required": [
"date",
"amount_usd"
],
"properties": {
"date": {
"type": "string",
"format": "date",
"description": "Date of the cash flow, YYYY-MM-DD."
},
"amount_usd": {
"type": "number",
"description": "Amount in USD. Negative = invested, positive = received."
}
},
"additionalProperties": false
},
"maxItems": 500,
"minItems": 2,
"description": "Dated cash flows in any order. Negative amount = money invested, positive = money received or current value."
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 1, 2026.