Query 38 empirical AI market charts, evaluate distribution defensibility, and search 3,650+ VCs.
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.
Computes the 83(b) filing deadline and tax on the grant, the federal tax saved by a QSBS (Section 1202) exclusion at a given sale price, and Delaware franchise tax under both methods. Federal tax only, top federal rates assumed, no state tax or AMT. Same math as https://modevc.com/tools/83b-qsbs-calculator. Illustrative model, not tax advice.
Date used for the days-to-deadline count. Defaults to today (UTC).
Date the shares were transferred, YYYY-MM-DD. Defaults to today.
Years the stock is held at sale. Web default 5.
QSBS stock issue date, YYYY-MM-DD. Defaults to the grant date. Stock issued after 2025-07-04 gets the 50/75/100 percent steps at 3/4/5 years.
Par value per share in USD. Web default 0.0001.
Fair market value per share at grant in USD. Web default 0.0001.
Web default 4,000,000.
Gross assets in USD for the assumed par value capital method. Web default 750,000.
Delaware issued shares. Web default 8,000,000.
Sale value of your stake in USD for the QSBS comparison. Web default 15,000,000.
Delaware authorized shares. Web default 10,000,000.
Assumed later fair market value per share, used for the tax a missed 83(b) would cost. Web default 2.50.
Price paid per share in USD. Web default 0.0001.
Computes the 83(b) filing deadline and tax on the grant, the federal tax saved by a QSBS (Section 1202) exclusion at a given sale price, and Delaware franchise tax under both methods. Federal tax only, top federal rates assumed, no state tax or AMT. Same math as https://modevc.com/tools/83b-qsbs-calculator. Illustrative model, not tax advice.
| Argument | Type | Description |
|---|---|---|
| as_of_date | string | Date used for the days-to-deadline count. Defaults to today (UTC). |
| grant_date | string | Date the shares were transferred, YYYY-MM-DD. Defaults to today. |
| hold_years | number | Years the stock is held at sale. Web default 5. |
| issue_date | string | QSBS stock issue date, YYYY-MM-DD. Defaults to the grant date. Stock issued after 2025-07-04 gets the 50/75/100 percent steps at 3/4/5 years. |
| de_par_value | number | Par value per share in USD. Web default 0.0001. |
| fmv_per_share | number | Fair market value per share at grant in USD. Web default 0.0001. |
| shares_granted | number | Web default 4,000,000. |
| de_gross_assets | number | Gross assets in USD for the assumed par value capital method. Web default 750,000. |
| de_issued_shares | number | Delaware issued shares. Web default 8,000,000. |
| exit_stake_value | number | Sale value of your stake in USD for the QSBS comparison. Web default 15,000,000. |
| de_authorized_shares | number | Delaware authorized shares. Web default 10,000,000. |
| future_fmv_per_share | number | Assumed later fair market value per share, used for the tax a missed 83(b) would cost. Web default 2.50. |
| price_paid_per_share | number | Price paid per share in USD. Web default 0.0001. |
{
"type": "object",
"properties": {
"as_of_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date used for the days-to-deadline count. Defaults to today (UTC)."
},
"grant_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date the shares were transferred, YYYY-MM-DD. Defaults to today."
},
"hold_years": {
"type": "number",
"minimum": 0,
"description": "Years the stock is held at sale. Web default 5."
},
"issue_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "QSBS stock issue date, YYYY-MM-DD. Defaults to the grant date. Stock issued after 2025-07-04 gets the 50/75/100 percent steps at 3/4/5 years."
},
"de_par_value": {
"type": "number",
"minimum": 0,
"description": "Par value per share in USD. Web default 0.0001."
},
"fmv_per_share": {
"type": "number",
"zeroNote": "the web calculator replaces 0 with its default",
"description": "Fair market value per share at grant in USD. Web default 0.0001.",
"exclusiveMinimum": 0
},
"shares_granted": {
"type": "number",
"minimum": 1,
"description": "Web default 4,000,000."
},
"de_gross_assets": {
"type": "number",
"zeroNote": "the web calculator replaces 0 with its default",
"description": "Gross assets in USD for the assumed par value capital method. Web default 750,000.",
"exclusiveMinimum": 0
},
"de_issued_shares": {
"type": "number",
"minimum": 1,
"description": "Delaware issued shares. Web default 8,000,000."
},
"exit_stake_value": {
"type": "number",
"zeroNote": "the web calculator replaces 0 with its default",
"description": "Sale value of your stake in USD for the QSBS comparison. Web default 15,000,000.",
"exclusiveMinimum": 0
},
"de_authorized_shares": {
"type": "number",
"minimum": 1,
"description": "Delaware authorized shares. Web default 10,000,000."
},
"future_fmv_per_share": {
"type": "number",
"zeroNote": "the web calculator replaces 0 with its default",
"description": "Assumed later fair market value per share, used for the tax a missed 83(b) would cost. Web default 2.50.",
"exclusiveMinimum": 0
},
"price_paid_per_share": {
"type": "number",
"zeroNote": "the web calculator replaces 0 with its default",
"description": "Price paid per share in USD. Web default 0.0001.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Projects cash month by month from current cash, revenue growth and expense growth: net burn, runway, the month cash hits zero, break-even month, default alive or dead, burn multiple, and the same with an expense cut. Same math as https://modevc.com/tools/burn-multiple-runway. Month 1 is the current month; the search runs 120 months.
| Argument | Type | Description |
|---|---|---|
| cash | number | Cash in the bank in USD. Web default 2,400,000. |
| as_of_date | string | Date that month 1 falls in, YYYY-MM-DD. Defaults to today. Only used for calendar month labels. |
| expense_cut_pct | number | Expense cut scenario in percent. Web default 15. |
| monthly_revenue | number | Current monthly revenue (MRR) in USD. Web default 60,000. |
| monthly_expenses | number | Current monthly expenses in USD. Web default 210,000. |
| expense_growth_pct | number | Monthly expense growth in percent. Web default 2. |
| revenue_growth_pct | number | Monthly revenue growth in percent. Web default 8. |
| net_new_arr_override |
Splits founder equity from weighted contribution scores (product and IP 40%, distribution 35%, commitment 25%) after the option pool and Founder Institute FAST advisor grants, and applies a heuristic SaaS and AI-native ARR multiple. Same math as https://modevc.com/tools/cofounder-equity-valuation. The multiple is a rule of thumb from the web page, not a market valuation. Illustrative, not legal advice.
| Argument | Type | Description |
|---|---|---|
| arr | number | ARR in USD. Web default 1,200,000. |
| ndr_pct | number | Net dollar retention in percent. Web default 122. |
| fast_tier | string | Advisor tier. Web default strategic. |
| cofounders | array | Each founder scored 0 to 100 on three axes. Omit to use the web calculator example of two founders. |
| fast_stage | string | Company stage for the FAST grant. Web default startup. |
| growth_pct | number | Year over year growth in percent. Web default 140. |
| num_advisors | number | Number of FAST advisors. Web default 2. |
| option_pool_pct |
Scores diligence readiness from a weighted 12-item data room checklist (overall, Corporate and Legal, and each pillar), and computes runway and burn multiple from cash, burn and ARR growth. Same scoring as https://modevc.com/tools/fundraising-readiness. The investor-update email draft on that page is not included.
| Argument | Type | Description |
|---|---|---|
| arr | number | ARR in USD. Web default 780,000. |
| cash | number | Cash in the bank in USD. Web default 1,450,000. |
| raise_target | number | Raise target in USD (echoed, not used in the score). Web default 3,500,000. |
| mom_growth_pct | number | Month over month ARR growth in percent. Web default 18. |
| documents_ready | array | Checklist items that are ready. Omit to use the web calculator example (all except valuation_409a, retention_cohorts, architecture_and_security). Pass [] for none. |
| monthly_net_burn | number | Monthly net burn in USD. Web default 65,000. |
{
"type": "object",
"properties": {
"arr": {
"type": "number",
"minimum": 0,
"description": "ARR in USD. Web default 780,000."
},
"cash": {
"type": "number",
"minimum": 0,
"description": "Cash in the bank in USD. Web default 1,450,000."
},
"raise_target": {
"type": "number",
"minimum": 0,
"description": "Raise target in USD (echoed, not used in the score). Web default 3,500,000."
},
"mom_growth_pct": {
"type": "number",
"minimum": 0,
"description": "Month over month ARR growth in percent. Web default 18."
},
"documents_ready": {
"type": "array",
"items": {
"enum": [
"de_charter",
"piia_ip",
"proof_83b",
"cap_table",
"safe_docs",
"valuation_409a",
"operating_model_24m",
"bank_and_revenue_exports",
"retention_cohorts",
"deck_and_memo",
"customer_contracts",
"architecture_and_security"
],
"type": "string"
},
"description": "Checklist items that are ready. Omit to use the web calculator example (all except valuation_409a, retention_cohorts, architecture_and_security). Pass [] for none."
},
"monthly_net_burn": {
"type": "number",
"minimum": 1,
"zeroNote": "the web calculator replaces 0 with its default",
"description": "Monthly net burn in USD. Web default 65,000.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Estimates monthly LLM spend, cost per user and per request, prompt-cache savings and gross margin for a usage profile on one of 8 models, compares all 8 models, and prices an 80/20 hybrid of DeepSeek and Claude 3.7 Sonnet. Same math and the same fixed price table as https://modevc.com/tools/llm-inference-calculator. The prices are that page's illustrative table, not a live price feed.
| Argument | Type | Description |
|---|---|---|
| model | string | Primary model. Web default claude-3-7-sonnet. |
| cache_hit_pct | number | Share of input tokens served from the prompt cache, in percent. Web default 40. |
| requests_per_user | number | Requests per user per month. Web default 40. |
| price_per_user_usd | number | Monthly revenue per user in USD. Web default 20. |
| monthly_active_users | number | Web default 5,000. |
| input_tokens_per_request | number | Web default 1,200. |
| output_tokens_per_request | number | Web default 400. |
Computes Rule of 40, net and gross revenue retention, SaaS magic number, CAC payback and spend per new customer from the numbers you give, with the public benchmark each is judged against. Leave a group of inputs out to get n/a for the metrics that need it. Same math as https://modevc.com/tools/saas-metrics-calculator.
| Argument | Type | Description |
|---|---|---|
| arr_now | number | ARR now in USD. |
| new_mrr | number | New MRR added in USD. For CAC payback. |
| margin_pct | number | Profit margin in percent for the Rule of 40. Can be negative. |
| margin_kind | string | Which margin margin_pct is. Web default FCF margin. |
| cohort_churn | number | Churned ARR from that group in USD. |
| new_customers | number | New customers won. For spend per new customer. |
| cohort_expansion | number | Expansion ARR from that group in USD. |
| cohort_start_arr | number | Starting ARR of one customer group 12 months ago, in USD. Needed for NRR and GRR. |
Models how stacked SAFEs convert at a priced round and what the founders keep, including the option pool top-up (pool in the pre-money or post-money). Same math as https://modevc.com/tools/safe-calculator. Illustrative model, not legal or tax advice.
| Argument | Type | Description |
|---|---|---|
| safes | array | The SAFEs to convert. Omit to use the web calculator example of two SAFEs. |
| pool_mode | string | pre_money: the pool top-up dilutes founders and SAFEs only. post_money: everyone is diluted. Web default pre_money. |
| initial_shares | number | Fully diluted shares before the SAFEs convert. Web default 10,000,000. |
| target_pool_pct | number | Option pool size after the round, in percent. Web default 10. |
| priced_pre_money | number | Priced round pre-money valuation in USD. Web default 16,000,000. |
| existing_pool_pct | number | Option pool already inside the initial shares, in percent. Web default 5. |
| founder_split_pct | number | Your share of the founder block, in percent. Web default 50. |
Splits the sale proceeds between one preferred class and common holders for a liquidation multiple and participation clause (non-participating, participating uncapped, participating capped at 3x). Returns the conversion point, a sensitivity table and the three standard structures side by side. Same math as https://modevc.com/tools/term-sheet-waterfall. Illustrative model: one preferred class, no seniority stack, no debt or fees.
| Argument | Type | Description |
|---|---|---|
| participation | string | Participation clause. Web default non_participating. |
| exit_valuation | number | Sale price in USD. Web default 45,000,000. |
| preferred_invested | number | Total invested by the preferred class in USD. Web default 12,000,000. |
| liquidation_multiple | number | Liquidation preference multiple. Web default 1. |
| pro_rata_current_pct | number | Your current ownership for the pro-rata check, in percent. Web default 10. |
| preferred_ownership_pct | number | As-converted ownership of the preferred class, in percent (1 to 95). Web default 30. |
| pro_rata_next_round_size | number |
Returns one chart from the Chart of the Day archive: the data table behind it (rows as published), claim, takeaway, note and the sources it cites. Look up by slug or title. Data is as published on the chart page; follow source_urls for the original data.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Chart slug or title, e.g. "pre-seed-valuation-dispersion", "ai-inference-cost-comparison" |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Chart slug or title, e.g. \"pre-seed-valuation-dispersion\", \"ai-inference-cost-comparison\""
}
},
"additionalProperties": false
}Mode VC's daily read on AI private markets: every new SEC Form D notice from one filing day that public evidence shows is an AI company, scored 1 to 5 with Mode VC's Distribution Moat rubric, with the evidence and reasoning behind each score (the company's own pricing, integrations, customers, docs and product pages when it links them), the status of each distribution lever, atlas partners named in the filing (confirmed and possible kept apart) and the firm's Form ADV private fund assets where that match is confirmed. Filings the evidence cannot settle are listed as unclear, not guessed. A Form D is a self-reported notice, not a closed round. Leave date empty for the latest day.
| Argument | Type | Description |
|---|---|---|
| date | string | Form D filing date, YYYY-MM-DD. Default: latest day available. |
| limit | integer | Maximum raises to return. Default 25. |
| min_moat_score | number | Only raises scoring at least this. Default 1 (all). |
| include_unclear | boolean | Also list filings the evidence could not settle. Default true. |
{
"type": "object",
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Form D filing date, YYYY-MM-DD. Default: latest day available."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Maximum raises to return. Default 25."
},
"min_moat_score": {
"type": "number",
"maximum": 5,
"minimum": 1,
"description": "Only raises scoring at least this. Default 1 (all)."
},
"include_unclear": {
"type": "boolean",
"description": "Also list filings the evidence could not settle. Default true."
}
},
"additionalProperties": false
}Rule-based 1 to 5 score of distribution defensibility, using only the acquisition channels you list and whether you have proprietary data or network effects. business_model is echoed back and does not change the score. It is a discussion aid built from Mode VC's published thesis, not a valuation, not an investment decision and not a prediction.
| Argument | Type | Description |
|---|---|---|
| product_name* | string | Name of the startup or product |
| business_model* | string | Primary business model (echoed, not scored) |
| acquisition_channels* | array | Key distribution channels. Channels containing hardware_bundle, network_lockin, viral_loop, system_default or native_integration raise the score. |
| has_proprietary_data_or_network | boolean | Does user activity generate compounding data or network lock-in? |
{
"type": "object",
"required": [
"product_name",
"business_model",
"acquisition_channels"
],
"properties": {
"product_name": {
"type": "string",
"description": "Name of the startup or product"
},
"business_model": {
"enum": [
"B2B_SaaS",
"Consumer_AI",
"Developer_Tools",
"Marketplace",
"Fintech",
"Hardware_DeepTech"
],
"type": "string",
"description": "Primary business model (echoed, not scored)"
},
"acquisition_channels": {
"type": "array",
"items": {
"type": "string"
},
"description": "Key distribution channels. Channels containing hardware_bundle, network_lockin, viral_loop, system_default or native_integration raise the score."
},
"has_proprietary_data_or_network": {
"type": "boolean",
"description": "Does user activity generate compounding data or network lock-in?"
}
},
"additionalProperties": false
}For a firm in the Mode VC Investor Atlas, returns Form ADV adviser records matched to it, recent Form D filings that name its partners, and a recent-activity roll-up. Every match carries a tier: "confirmed" matches are the only verified links; "probable" and "possible" are weaker signals and are hidden unless include_weak_matches is true. Returns "dataset not available yet" until Mode VC has loaded the data.
| Argument | Type | Description |
|---|---|---|
| firm* | string | Atlas firm slug or name, e.g. "alumni-ventures". |
| include_weak_matches | boolean | Also return probable and possible matches. Default false. |
{
"type": "object",
"required": [
"firm"
],
"properties": {
"firm": {
"type": "string",
"description": "Atlas firm slug or name, e.g. \"alumni-ventures\"."
},
"include_weak_matches": {
"type": "boolean",
"description": "Also return probable and possible matches. Default false."
}
},
"additionalProperties": false
}Returns one firm from the Investor Atlas: headquarters and locations, website and social links, latest fund as listed, reported entry stages, check size bands (lowest and highest the firm reports) and lead preference where known, sectors, and up to 12 partner names (the total partner count is also given). It does not include portfolio companies or investment theses.
| Argument | Type | Description |
|---|---|---|
| slug_or_name* | string | Firm slug or name, e.g. "andreessen-horowitz", "sequoia-capital", "accel", "406-ventures" |
{
"type": "object",
"required": [
"slug_or_name"
],
"properties": {
"slug_or_name": {
"type": "string",
"description": "Firm slug or name, e.g. \"andreessen-horowitz\", \"sequoia-capital\", \"accel\", \"406-ventures\""
}
},
"additionalProperties": false
}Returns Mode VC's published investment parameters as stated on https://modevc.com/thesis: ticket size, geography focus, stage, core conviction and how to pitch.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Lists recent SEC Form D filings (private offerings notices, public EDGAR data) from venture funds and technology companies over the last few filing days, with issuer, amount sold, related persons and the EDGAR link for each filing. A Form D is a notice a company or fund files after it starts selling securities. It is not a funding announcement and the amounts are as self-reported. Returns "dataset not available yet" until Mode VC has loaded the data.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum filings to return. Default 25. |
| query | string | Case-insensitive text to find in the issuer name or a related person name. |
| state | string | Two-letter issuer state, e.g. "CA". |
| industry_group | string | Industry group as filed, e.g. "Pooled Investment Fund", "Other Technology", "Computers". |
| min_amount_sold | number | Only filings with at least this total amount sold, in USD. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Maximum filings to return. Default 25."
},
"query": {
"type": "string",
"description": "Case-insensitive text to find in the issuer name or a related person name."
},
"state": {
"type": "string",
"description": "Two-letter issuer state, e.g. \"CA\"."
},
"industry_group": {
"type": "string",
"description": "Industry group as filed, e.g. \"Pooled Investment Fund\", \"Other Technology\", \"Computers\"."
},
"min_amount_sold": {
"type": "number",
"minimum": 0,
"description": "Only filings with at least this total amount sold, in USD."
}
},
"additionalProperties": false
}Returns the most recent charts from Mode VC's Chart of the Day archive (one new chart per day, mostly AI model, adoption, developer-package and pricing data), newest first, each with its claim, takeaway, URL and cited sources.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Number of recent charts. Default 3. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Number of recent charts. Default 3."
}
},
"additionalProperties": false
}Searches every chart in the Mode VC Chart of the Day archive by keyword over title, claim, takeaway and keywords. Returns claims, takeaways, canonical URLs, markdown endpoints and cited sources. The archive grows by one chart a day; the response states its current size.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum charts to return. Default 10. |
| query | string | Search term, e.g. "pricing", "claude", "inference", "sdk" |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Maximum charts to return. Default 10."
},
"query": {
"type": "string",
"description": "Search term, e.g. \"pricing\", \"claude\", \"inference\", \"sdk\""
}
},
"additionalProperties": false
}Searches the Mode VC Investor Atlas, a directory of venture capital firms and their partners compiled from public information (counts are in the response). Filter by firm or partner name, sector, entry stage, and headquarters or location. Stage and check size are as reported by each firm where available; it does not hold portfolio companies or fund performance.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum firms to return. Default 10. |
| query | string | Firm or partner name, e.g. "a16z", "Benchmark", "Marc Andreessen", "Khosla" |
| stage | string | Entry stage the firm reports investing at |
| sector | string | Sector slug, e.g. "ai-and-data", "dev-tools-and-infra", "enterprise-software", "fintech", "crypto", "healthtech", "climate", "consumer" |
| location | string | Geographic hub, e.g. "california", "new-york", "massachusetts", "toronto", "united-states" |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Maximum firms to return. Default 10."
},
"query": {
"type": "string",
"description": "Firm or partner name, e.g. \"a16z\", \"Benchmark\", \"Marc Andreessen\", \"Khosla\""
},
"stage": {
"enum": [
"pre-seed",
"seed",
"series-a",
"series-b"
],
"type": "string",
"description": "Entry stage the firm reports investing at"
},
"sector": {
"type": "string",
"description": "Sector slug, e.g. \"ai-and-data\", \"dev-tools-and-infra\", \"enterprise-software\", \"fintech\", \"crypto\", \"healthtech\", \"climate\", \"consumer\""
},
"location": {
"type": "string",
"description": "Geographic hub, e.g. \"california\", \"new-york\", \"massachusetts\", \"toronto\", \"united-states\""
}
},
"additionalProperties": false
}| number |
| Net new ARR over the quarter in USD. Omit to compute it from revenue growth, as the web calculator does. |
| quarterly_net_burn_override | number | Net burn over the quarter in USD. Omit to use 3 times this month's net burn. |
{
"type": "object",
"properties": {
"cash": {
"type": "number",
"minimum": 0,
"description": "Cash in the bank in USD. Web default 2,400,000."
},
"as_of_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date that month 1 falls in, YYYY-MM-DD. Defaults to today. Only used for calendar month labels."
},
"expense_cut_pct": {
"type": "number",
"maximum": 60,
"minimum": 0,
"description": "Expense cut scenario in percent. Web default 15."
},
"monthly_revenue": {
"type": "number",
"minimum": 0,
"description": "Current monthly revenue (MRR) in USD. Web default 60,000."
},
"monthly_expenses": {
"type": "number",
"minimum": 0,
"description": "Current monthly expenses in USD. Web default 210,000."
},
"expense_growth_pct": {
"type": "number",
"maximum": 50,
"minimum": -20,
"description": "Monthly expense growth in percent. Web default 2."
},
"revenue_growth_pct": {
"type": "number",
"maximum": 100,
"minimum": -50,
"description": "Monthly revenue growth in percent. Web default 8."
},
"net_new_arr_override": {
"type": "number",
"description": "Net new ARR over the quarter in USD. Omit to compute it from revenue growth, as the web calculator does."
},
"quarterly_net_burn_override": {
"type": "number",
"description": "Net burn over the quarter in USD. Omit to use 3 times this month's net burn."
}
},
"additionalProperties": false
}| number |
| Employee option pool reserve, in percent. Web default 10. |
| gross_margin_pct | number | Gross margin in percent. Web default 76. |
{
"type": "object",
"properties": {
"arr": {
"type": "number",
"minimum": 50000,
"zeroNote": "the web calculator replaces 0 with its default",
"description": "ARR in USD. Web default 1,200,000.",
"exclusiveMinimum": 0
},
"ndr_pct": {
"type": "number",
"minimum": 50,
"zeroNote": "the web calculator replaces 0 with its default",
"description": "Net dollar retention in percent. Web default 122.",
"exclusiveMinimum": 0
},
"fast_tier": {
"enum": [
"standard",
"strategic",
"expert"
],
"type": "string",
"description": "Advisor tier. Web default strategic."
},
"cofounders": {
"type": "array",
"items": {
"type": "object",
"required": [
"product_ip",
"distribution",
"commitment"
],
"properties": {
"name": {
"type": "string"
},
"commitment": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Commitment score, weight 25%."
},
"product_ip": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Product and IP score, weight 40%."
},
"distribution": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Distribution score, weight 35%."
}
},
"additionalProperties": false
},
"maxItems": 8,
"minItems": 1,
"description": "Each founder scored 0 to 100 on three axes. Omit to use the web calculator example of two founders."
},
"fast_stage": {
"enum": [
"idea",
"startup",
"growth"
],
"type": "string",
"description": "Company stage for the FAST grant. Web default startup."
},
"growth_pct": {
"type": "number",
"zeroNote": "the web calculator replaces 0 with its default",
"description": "Year over year growth in percent. Web default 140.",
"exclusiveMinimum": 0
},
"num_advisors": {
"type": "number",
"maximum": 10,
"minimum": 0,
"description": "Number of FAST advisors. Web default 2."
},
"option_pool_pct": {
"type": "number",
"maximum": 30,
"zeroNote": "the web calculator replaces 0 with its default",
"description": "Employee option pool reserve, in percent. Web default 10.",
"exclusiveMinimum": 0
},
"gross_margin_pct": {
"type": "number",
"minimum": 10,
"zeroNote": "the web calculator replaces 0 with its default",
"description": "Gross margin in percent. Web default 76.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"model": {
"enum": [
"claude-3-7-sonnet",
"gpt-4o",
"gemini-2-5-pro",
"deepseek-v4",
"claude-3-5-haiku",
"gpt-4o-mini",
"gemini-2-5-flash",
"groq-lpu-qwen"
],
"type": "string",
"description": "Primary model. Web default claude-3-7-sonnet."
},
"cache_hit_pct": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Share of input tokens served from the prompt cache, in percent. Web default 40."
},
"requests_per_user": {
"type": "number",
"minimum": 1,
"zeroNote": "the web calculator replaces 0 with its default",
"description": "Requests per user per month. Web default 40.",
"exclusiveMinimum": 0
},
"price_per_user_usd": {
"type": "number",
"zeroNote": "the web calculator replaces 0 with its default",
"description": "Monthly revenue per user in USD. Web default 20.",
"exclusiveMinimum": 0
},
"monthly_active_users": {
"type": "number",
"minimum": 1,
"zeroNote": "the web calculator replaces 0 with its default",
"description": "Web default 5,000.",
"exclusiveMinimum": 0
},
"input_tokens_per_request": {
"type": "number",
"minimum": 1,
"zeroNote": "the web calculator replaces 0 with its default",
"description": "Web default 1,200.",
"exclusiveMinimum": 0
},
"output_tokens_per_request": {
"type": "number",
"minimum": 1,
"zeroNote": "the web calculator replaces 0 with its default",
"description": "Web default 400.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}| gross_margin_pct | number | Gross margin in percent. For CAC payback. |
| arr_12_months_ago | number | ARR 12 months ago in USD. Needed for growth and Rule of 40. |
| cohort_contraction | number | Contraction (downgrades) ARR from that group in USD. |
| revenue_last_quarter | number | Revenue in the last quarter in USD. For the magic number. |
| revenue_prior_quarter | number | Revenue in the prior quarter in USD. |
| sales_marketing_spend | number | Sales and marketing spend in USD. Prior quarter for the magic number; the same figure drives CAC payback and spend per customer, as on the web calculator. |
{
"type": "object",
"properties": {
"arr_now": {
"type": "number",
"description": "ARR now in USD."
},
"new_mrr": {
"type": "number",
"description": "New MRR added in USD. For CAC payback."
},
"margin_pct": {
"type": "number",
"description": "Profit margin in percent for the Rule of 40. Can be negative."
},
"margin_kind": {
"enum": [
"FCF margin",
"EBITDA margin",
"operating margin"
],
"type": "string",
"description": "Which margin margin_pct is. Web default FCF margin."
},
"cohort_churn": {
"type": "number",
"description": "Churned ARR from that group in USD."
},
"new_customers": {
"type": "number",
"description": "New customers won. For spend per new customer."
},
"cohort_expansion": {
"type": "number",
"description": "Expansion ARR from that group in USD."
},
"cohort_start_arr": {
"type": "number",
"description": "Starting ARR of one customer group 12 months ago, in USD. Needed for NRR and GRR."
},
"gross_margin_pct": {
"type": "number",
"description": "Gross margin in percent. For CAC payback."
},
"arr_12_months_ago": {
"type": "number",
"description": "ARR 12 months ago in USD. Needed for growth and Rule of 40."
},
"cohort_contraction": {
"type": "number",
"description": "Contraction (downgrades) ARR from that group in USD."
},
"revenue_last_quarter": {
"type": "number",
"description": "Revenue in the last quarter in USD. For the magic number."
},
"revenue_prior_quarter": {
"type": "number",
"description": "Revenue in the prior quarter in USD."
},
"sales_marketing_spend": {
"type": "number",
"description": "Sales and marketing spend in USD. Prior quarter for the magic number; the same figure drives CAC payback and spend per customer, as on the web calculator."
}
},
"additionalProperties": false
}| priced_investment |
| number |
| New money in the priced round in USD. Web default 4,000,000. |
{
"type": "object",
"properties": {
"safes": {
"type": "array",
"items": {
"type": "object",
"required": [
"amount"
],
"properties": {
"name": {
"type": "string"
},
"type": {
"enum": [
"post",
"pre"
],
"type": "string",
"description": "post = post-money SAFE (default), pre = pre-money SAFE approximation."
},
"amount": {
"type": "number",
"minimum": 0,
"description": "Investment in USD."
},
"discount_pct": {
"type": "number",
"maximum": 50,
"minimum": 0,
"description": "Discount in percent."
},
"valuation_cap": {
"type": "number",
"minimum": 0,
"description": "Valuation cap in USD. 0 or omitted means uncapped: the priced round pre-money is used, as the web calculator does."
}
},
"additionalProperties": false
},
"maxItems": 20,
"minItems": 1,
"description": "The SAFEs to convert. Omit to use the web calculator example of two SAFEs."
},
"pool_mode": {
"enum": [
"pre_money",
"post_money"
],
"type": "string",
"description": "pre_money: the pool top-up dilutes founders and SAFEs only. post_money: everyone is diluted. Web default pre_money."
},
"initial_shares": {
"type": "number",
"minimum": 100000,
"description": "Fully diluted shares before the SAFEs convert. Web default 10,000,000."
},
"target_pool_pct": {
"type": "number",
"maximum": 35,
"zeroNote": "the web calculator replaces 0 with its default",
"description": "Option pool size after the round, in percent. Web default 10.",
"exclusiveMinimum": 0
},
"priced_pre_money": {
"type": "number",
"minimum": 500000,
"zeroNote": "the web calculator replaces 0 with its default",
"description": "Priced round pre-money valuation in USD. Web default 16,000,000.",
"exclusiveMinimum": 0
},
"existing_pool_pct": {
"type": "number",
"maximum": 45,
"minimum": 0,
"description": "Option pool already inside the initial shares, in percent. Web default 5."
},
"founder_split_pct": {
"type": "number",
"maximum": 100,
"minimum": 1,
"description": "Your share of the founder block, in percent. Web default 50."
},
"priced_investment": {
"type": "number",
"zeroNote": "the web calculator replaces 0 with its default",
"description": "New money in the priced round in USD. Web default 4,000,000.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}| Next round size in USD for the pro-rata check. Web default 15,000,000. |
{
"type": "object",
"properties": {
"participation": {
"enum": [
"non_participating",
"participating_uncapped",
"participating_capped_3x"
],
"type": "string",
"description": "Participation clause. Web default non_participating."
},
"exit_valuation": {
"type": "number",
"zeroNote": "the web calculator replaces 0 with its default",
"description": "Sale price in USD. Web default 45,000,000.",
"exclusiveMinimum": 0
},
"preferred_invested": {
"type": "number",
"minimum": 100000,
"zeroNote": "the web calculator replaces 0 with its default",
"description": "Total invested by the preferred class in USD. Web default 12,000,000.",
"exclusiveMinimum": 0
},
"liquidation_multiple": {
"enum": [
1,
1.5,
2,
3
],
"type": "number",
"description": "Liquidation preference multiple. Web default 1."
},
"pro_rata_current_pct": {
"type": "number",
"maximum": 90,
"zeroNote": "the web calculator replaces 0 with its default",
"description": "Your current ownership for the pro-rata check, in percent. Web default 10.",
"exclusiveMinimum": 0
},
"preferred_ownership_pct": {
"type": "number",
"maximum": 95,
"zeroNote": "the web calculator replaces 0 with its default",
"description": "As-converted ownership of the preferred class, in percent (1 to 95). Web default 30.",
"exclusiveMinimum": 0
},
"pro_rata_next_round_size": {
"type": "number",
"zeroNote": "the web calculator replaces 0 with its default",
"description": "Next round size in USD for the pro-rata check. Web default 15,000,000.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}