Equity compensation

Multi-year ISO exercise plan that minimizes lifetime AMT

Plans a year-by-year ISO exercise schedule: each year it exercises as many shares as the AMT budget allows (default $0 = stay at the AMT crossover), accrues the AMT incurred as a §53 Minimum Tax Credit, and recovers that credit in later years when the regular tax exceeds the tentative minimum tax. Income and the share FMV vary by year (optional growth); the tax brackets are frozen at tax_year for every projected year (future brackets are not modeled). Bounded at horizon_years ≤ 40. Deterministic; not tax advice.

post/v1/equity-comp/iso-schedule

Request

  • Base URL: https://api.numeratica.com
  • URL: https://api.numeratica.com/v1/equity-comp/iso-schedule
  • Auth: one of:
    • HTTP bearer
    • API key in header X-API-Key

Request body

tax_yearinteger required

Bracket year (2025/2026), used for every projected year.

filing_status'single' | 'mfj' | 'mfs' | 'hoh' required
total_sharesnumber required
strike_pricenumber required
fmv_at_startnumber required
annual_fmv_growthnumber

Per-year FMV growth (default 0).

annual_ordinary_incomenumber required
annual_income_growthnumber

Per-year income growth (default 0).

horizon_yearsinteger required
annual_amt_budgetnumber

AMT willing to incur per year (default 0 = stay at the crossover).

Example request

{
  "tax_year": 2025,
  "filing_status": "single",
  "total_shares": 6000,
  "strike_price": 5,
  "fmv_at_start": 25,
  "annual_ordinary_income": 100000,
  "horizon_years": 6,
  "annual_amt_budget": 5000
}

Response

ISO exercise schedule

result_idstring
engine_versionstring
disclaimerstring

Example response

{
  "result_id": "eqc-iso-sched_1a2b3c4d5e6f7a8b",
  "engine_version": "equity-comp-1.0.0",
  "inputs": {
    "tax_year": 2025,
    "filing_status": "single",
    "total_shares": 6000,
    "strike_price": 5,
    "fmv_at_start": 25,
    "annual_ordinary_income": 100000,
    "horizon_years": 6,
    "annual_amt_budget": 5000
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.