Methodology

How ChequeMate is calculated

The complete logic behind every number: the front-page hero estimate, the tax engine, the projection, Monte Carlo, and Buy vs Rent, with the assumptions and simplifications laid out plainly. Search it, or jump to a section.

Overview

What ChequeMate computes, and the conventions that apply everywhere.

What ChequeMate computes

ChequeMate runs a deterministic, year-by-year projection of your finances. During your working years it grows each salary, takes contributions into your accounts, and charges federal income tax, state income tax, and payroll (FICA) tax. At retirement it switches to a drawdown: it withdraws a fixed share of your peak savings each year and taxes those withdrawals. The headline numbers you see are read off that single projection.

Your plan is drawn as a balance sheet over time: stacked columns for each asset class (cash, brokerage, Roth, Traditional, property) with debt below the zero line and your net-worth line threaded through them. Moves (a new job, a home, a child, a car, or a free-form what-if) fold into that same projection and appear as draggable pins at the year they happen - see "Your plan and your moves."

A Buy vs Rent comparison reuses the same tax engine to weigh owning against renting and investing the difference (surfaced inside a home move), and a Monte Carlo mode re-runs the projection hundreds of times with randomized market returns to show a range of outcomes.

The cost-of-waiting calculator at /landing is a faster, simplified preview of the same idea for people just starting out - see "The cost-of-waiting calculator" for exactly what it assumes and how it differs from the full planner.

ChequeMate is an educational estimate, not tax, financial, or investment advice. It is intentionally simplified in the ways listed throughout this page (and gathered in "Assumptions & simplifications").

Future dollars vs today's dollars

The engine works entirely in future dollars (what finance calls "nominal"): every balance, tax, and withdrawal is in the dollars of its own future year, and returns are nominal rates. The "Today’s dollars" toggle is a display-only conversion that deflates a future-dollar figure back to year-one purchasing power. Future dollars is the default view on a cold plan and on the home-page demo; the Today’s $ | Future $ toggle lives on the plan header and the demo. One deliberate exception: committing the intake switches you to today’s dollars, so the plan you land on reads in the same money as the figure the intake just showed you. The choice is then remembered.

realFactor = 1 / (1 + inflationRate) ^ (yearNumber - 1)

Year 1 (the start year, default 2026) has a factor of 1.0, so "today" means the first projected year. Rates (effective, marginal) are ratios of same-year dollars, so they read the same in either mode.

Most dollar figures on the planner honor the toggle and label their basis - peak net worth, the first-year change, lifetime taxes, the charts, and the year-by-year table. Single-year amounts are deflated at their own year (e.g. peak net worth at the retirement year). The deliberate exception is spendable income: your monthly retirement income and its goal coverage are always shown in today's dollars (real purchasing power) and tagged that way, because a monthly income only means something against today's cost of living - the same amount inflated to a future year reads as far more than it can actually buy. Cumulative figures like lifetime taxes are converted by deflating each year to today's dollars and then summing - not by deflating the future-dollar total at a single year - so the today's-dollars total is a true present value.

One base year: 2026

Everything is anchored to 2026 and inflated forward uniformly by your inflation rate, so there is no mismatch between the pieces:

Federal income tax
2026 brackets + standard deduction (IRS Rev. Proc. 2025-32), grown as (1 + inflationRate) ^ (year - 2026).
FICA, capital gains, the 49 other states + DC, contribution limits, start year
All on the same 2026 base.

Indexing only ever inflates forward (the factor is floored at 1.0); it never deflates thresholds for years before the base year.

One deliberate exception: California's brackets are the real CA FTB schedule on a 2025 base (the 2026 inflation-indexed FTB table was not yet published), inflated forward to the projection year like everything else. The effect of the one-year base difference is well under 1%.

The AI Explainer

ChequeMate includes an optional in-app AI Explainer: a floating chat you can open on your plan to ask what a figure means or how it was calculated. It is an educational explainer, not an adviser - it explains your numbers and the tradeoffs a move models, in both directions, and it never tells you what to do with your money. Nothing it says is investment, tax, or financial advice.

It quotes the engine's REAL figures for your plan and is built never to invent one: if the projection did not produce a number, it says so rather than guessing. Your figures are de-identified before they leave the app (no name, email, or ZIP is sent), the chat is not saved, and directive-advice phrasing is blocked by a server-side filter. It runs on the Anthropic API and is off unless the app is configured with a key.

The Explainer is a convenience layer over the same numbers this page documents. It changes no projection, tax, or Monte Carlo math - it only reads and narrates what the engine already computed.

The cost-of-waiting calculator

The quick, income-free estimate at /landing - what it assumes, and how it differs from the full planner.

A deliberately simpler model

The cost-of-waiting calculator at /landing takes a few simple inputs - your age, a monthly contribution, what you have saved so far, and how long you might wait to start - and shows what they could become by 65. To stay instant and legible it runs a lightweight "lite" model, not the full engine. (The home page itself runs the REAL engine: its interactive demo is the actual balance-sheet plan with two example moves on it.) The lite model is intentionally simplified in four ways:

  • Tax-free. Growth and withdrawals are untaxed - correct for a Roth IRA/401(k), the realistic first account for this audience. The full planner adds federal, state, payroll, and capital-gains tax.
  • One bucket. No Roth / Traditional / brokerage split - a single growing balance.
  • Monthly compounding at a 7% nominal return - the same rate the engine uses for tax-advantaged accounts.
  • Retirement is fixed at age 65.
The monthly contribution grows 3% a year with inflation (so it stays flat in today’s dollars), matching the full planner’s brokerage-savings growth - the landing and the full plan use the same assumption, so the numbers agree.
bal = bal * (1 + r) + c (r = 0.07 / 12; c grows 3%/yr)

The balance rolls forward month by month: grow the prior balance, add the deposit, then raise the deposit 3% once a year. Because the contribution escalates there is no simple closed form, so this monthly loop is authoritative (checked in scripts/validate-fast.mjs).

Because the calculator is tax-free and the planner is not, its headline will be LARGER than the planner after-tax peak for the same inputs. That is expected - the full plan adds the real tax drag. The calculator carries these inputs into the intake at /start, which builds the real after-tax plan on your Plan.

The headline is in future dollars; the sub-line is today's dollars

The big number is the balance at 65 in future dollars - the actual amount you would see that year. Directly beneath it, the same figure is shown in today’s dollars (present value), so the future-dollar headline is never mistaken for current spending power. This mirrors the planner’s Today’s $ / Future $ convention.

real = nominal * (1 + inflation) ^ -years (inflation default 3%)

A pure display deflation - it never changes the underlying projection.

The cost of waiting

The comparison runs the same lite model twice for the same person and amount, changing only the start: "start now" vs "start N years later" (default 10 on the calculator). The gap between the two ending balances is the cost of waiting, shown both as a lump sum and per year / month / day.

It also inverts the annuity to find the catch-up: the higher monthly contribution a late starter would need, over the shorter remaining horizon, just to reach the same pot - i.e. "wait 5 years and you would need $X more every month, forever, to break even."

The cost-of-waiting figures are tax-free like the rest of the calculator. Because tax would scale both the "now" and "later" paths almost identically, dropping it barely moves the GAP - which is the whole point of the comparison.

Shareable cards carry no data

When you share a result, your inputs (age, monthly amount, wait years, and an optional first name) are base64url-encoded into the share link itself. The share page and its social image both recompute the numbers from that token - there is no database, account, or server-side storage. The image is a pure, cacheable function of the URL, which keeps the same "stays on your device" promise as the rest of ChequeMate.

The retirement projection

How one year-by-year path is built, from your first working year to the end of retirement.

Order of operations

For each working (accumulation) year, in order: grow each person’s salary; compute their contributions (capped); compute FICA per person and income tax on the household (one joint return for a married couple, otherwise per single earner); total the household’s after-tax income; size brokerage saving from what’s left; then add contributions to each account and grow every account by one year of returns. Contributions are added before the year’s growth, so a full year of return applies to them.

After the last working year, the engine finds your peak (the working year with the highest total net worth) and sets the first-year withdrawal from it. Then each retirement (withdrawal) year draws the year’s spending from your accounts, taxes it, and grows whatever remains.

Horizon
projectionYears working years, then withdrawalYears of retirement (defaults: 30 and 30).
Ages
The age inputs are a convenience in the UI: projectionYears = retirementAge - currentAge. The engine itself only reads the year counts.
Calendar
Year 1 = startYear (default 2026); withdrawals begin the year after the last working year.

The four streams

Every projection tracks four liquid streams. Three are investment buckets, each taxed differently:

Roth
After-tax money. Grows and is withdrawn tax-free.
Traditional (pre-tax)
Contributions reduce taxable income now; withdrawals are taxed as ordinary income later.
Brokerage (taxable)
A regular investment account. Only the gain above your cost basis is taxed, at capital-gains rates, when sold.
Cash
Your cash and emergency savings. Already-taxed principal, so it is withdrawn tax-free; it earns your cash yield (a rate treated as net of tax) and is the first thing drawn in retirement.
Your starting brokerage balance is treated as 100% cost basis (no embedded gain), and brokerage growth is treated as unrealized until you withdraw it - there is no annual tax drag from dividends or rebalancing during your working years.

Federal income tax

2026 brackets, the standard vs itemized choice, and inflation indexing.

2026 brackets & standard deduction

Federal income tax uses the seven 2026 brackets (10/12/22/24/32/35/37%). A single filer uses the single thresholds; a married-filing-jointly couple uses the real 2026 joint thresholds (double the single thresholds through the 32% bracket - which is exact - and the IRS’s own 35% and 37% thresholds of $512,450 and $768,700 above, which are NOT simply double). Tax is computed bracket by bracket on taxable income.

Standard deduction (2026)
$16,100 single / $32,200 married filing jointly.
Deduction used
The greater of the standard deduction or your itemized deductions.
Filing statuses
Only single and married-filing-jointly are modeled (no head-of-household, separate, or widow(er)).
federalTaxableIncome = max(0, salary - pretax401k - max(standardDeduction, itemized))

pretax401k is your Traditional 401(k) deferral only. The employer match is employer money (never in your W-2 wages), so it does not reduce your taxable income. The result is taxed through the progressive brackets.

What "OBBB" means here

The 2026 federal brackets and standard deduction above are the IRS inflation-adjusted figures (Rev. Proc. 2025-32) for the permanent rate structure set by the 2025 budget law often called the One Big Beautiful Bill (OBBB). That is the only thing the label refers to.

ChequeMate does NOT model OBBB extras such as a senior/over-65 bonus deduction or any tip/overtime deductions, and it does not apply AMT or itemized-deduction phase-outs. (The OBBB SALT-cap schedule IS modeled - in the Buy vs Rent tool and in the itemization benefit a home move nets in its ownership carry - but the baseline retirement projection takes its own itemizedDeductions field at face value.)

Inflation indexing

indexedValue = value × (1 + inflationRate) ^ max(0, year - 2026)

Each bracket threshold and the standard deduction grow every year at your single inflation-rate input (default 3%), from the 2026 base. This is a simplification - real IRS figures are set annually and can differ.

State income tax

All 50 states + DC: progressive, flat, and no-tax, with per-state data and sources.

How the state engine works

Each state is one of three types: no-tax (returns $0 on wages and gains), flat (a single rate), or progressive (its own brackets). Each state carries its own standard deduction, brackets for single and joint filers, a base year, whether it indexes brackets for inflation, whether it allows itemizing, and how it treats capital gains.

Taxable income is your salary net of pre-tax 401(k), minus the state’s deduction (the greater of its standard deduction or your itemized total, where itemizing is allowed). Some states also add a surtax above a high-income threshold.

Three examples

California (progressive)
Nine brackets from 1% to 12.3% (the real CA FTB single schedule, with joint = double the single thresholds), indexed, plus a 1% Mental Health Services surtax on income over a flat $1,000,000 - the SAME threshold for single and joint filers (it is not doubled for joint returns, and is not inflation-indexed - R&TC 17043), an effective top of 13.3%. Standard deduction $5,706 / $11,412.
Texas (no-tax)
No state income tax; wages and capital gains are both untaxed.
Arizona (flat)
A flat 2.5% on taxable income, with a standard deduction that conforms to the federal amount.

A notable special case is Washington: no tax on wages, but a 7% tax on long-term capital gains above roughly $278,000 (indexed).

What's modeled vs not

Every state’s brackets, standard deduction (or a personal-exemption proxy where a state uses one), and bracket-indexing behavior are encoded from state revenue departments and Tax Foundation 2026 summaries, with a source on each entry.

Not modeled: local or city income taxes (e.g. New York City, Yonkers, Philadelphia, Maryland counties, Ohio municipalities); state tax credits and exemptions (e.g. Utah’s taxpayer credit, PA tax-forgiveness); high-income recapture (NY, CT); standard-deduction phase-downs (AL, WI, RI); and most states’ preferential capital-gains treatment (taxed as ordinary income unless noted).

Payroll tax (FICA)

Social Security, Medicare, the additional Medicare surtax, and California SDI - working years only.

Rates & thresholds

Social Security
6.2% on wages up to the wage base ($184,500 in 2026, grown with inflation as a proxy for wage growth).
Medicare
1.45% on all wages (no cap).
Additional Medicare
0.9% on wages above $200,000 (single) / $250,000 (married). These thresholds are statutory and not inflation-indexed.
California SDI
1.3% (2026 EDD rate) on all wages, with NO cap since 2024 (SB 951 removed the taxable-wage ceiling). Applies only if you work in California; every other state is $0 here.

FICA is charged on gross wages and is not reduced by 401(k) contributions (correct US treatment - deferrals are still payroll-taxable). California State Disability Insurance (SDI) is added for California workers on the same gross wages, uncapped. Retirees pay no payroll tax on withdrawals.

Per-person vs household

Social Security and Medicare are computed per person on each person’s own salary (so each worker gets their own wage-base cap), then summed. The 0.9% additional Medicare surtax is the one place a couple is combined: married households are assessed once on combined wages over $250,000; otherwise each person is assessed over $200,000.

Capital-gains tax

Federal 0/15/20% stacked on income, state treatment, and when it applies.

Federal 0 / 15 / 20%

Long-term capital gains are stacked on top of your ordinary taxable income (the correct IRS method): the portion of the gain that falls below the 0% ceiling is untaxed, the portion up to the 15% ceiling is taxed at 15%, and anything above is 20%.

0% ceiling (2026)
$49,450 single / $98,900 joint
15% ceiling (2026)
$545,500 single / $613,700 joint
Above the 15% ceiling
20%
The 3.8% Net Investment Income Tax (NIIT) is NOT charged on your retirement brokerage withdrawals. It is applied in one place only: a taxable home-sale gain above the §121 exclusion (in Buy vs Rent and a home move's sale) - see Buy vs Rent.

State treatment

Most states tax capital gains as ordinary income (the gain is stacked on the state return and the extra tax is the increment, including any high-income surtax - e.g. California’s 1% Mental Health Services tax applies to a large gain just as it would to ordinary income). No-tax states (and Missouri, which fully deducts long-term gains from 2025) charge $0. Washington applies its special 7% rate above ~$278,000. Several states’ partial exclusions are simplified to ordinary treatment.

When it applies, and cost basis

In the retirement projection, capital-gains tax is charged only in retirement, on the realized gain portion of brokerage withdrawals. Each brokerage dollar withdrawn is split into return-of-basis and gain in proportion to the account’s overall embedded-gain ratio (an average-cost method, not lot-level or FIFO).

gainFraction = max(0, brokerage - brokerageBasis) / brokerage

Because the starting balance is all basis and growth is unrealized until sold, early brokerage withdrawals realize little gain.

Contributions, accounts & growth

401(k) Roth/Traditional split, employer match, IRA, brokerage saving, caps and returns.

How contributions are sized

  • Salary grows each year at your salary-growth rate (default 3%).
  • Employer match = min(your 401(k) deferral, salary × match% (default 4%)), all into Traditional (tax-deferred growth, taxed on withdrawal). It is earned only on what you actually defer, and is not deducted from your taxable income (it was never in your wages).
  • Traditional and Roth 401(k) deferrals share one combined 401(k) limit (Traditional fills first).
  • Roth IRA is capped at the IRA limit.
  • Brokerage saving is funded from after-tax income left after the employee’s own contributions (Roth 401(k), Roth IRA, and the pre-tax Traditional 401(k) deferral - the employer match is not the employee’s cash), and can’t go negative.
  • You can also send part of your saving to a plain savings account. It has no IRS limit, but it grows at your cash yield rather than the market return, and it is drawn first and tax-free in retirement. Brokerage saving and savings-account saving come out of the SAME after-tax income: if the two together are more than your take-home can fund, both are cut proportionally rather than one being starved to fund the other.
  • Savings-account saving is modeled as an ongoing yearly amount, not a "fill the emergency fund then redirect" rule. If you would stop topping it up once it is full, set that share to 0 and the money routes to your investing accounts instead. Modeling it as ongoing understates such a saver, never overstates them.
  • When a move’s yearly carry (a mortgage, a child, a car) reduces what you can save, the savings-account lane is given up first, then brokerage saving, then Roth IRA, then the 401(k) deferrals last, because the employer match rides on the 401(k) deferral.

2026 contribution caps

401(k) elective deferral
$24,500 (combined Roth + Traditional)
IRA
$7,500
Cap growth
Limits grow 2% per year (distinct from the 3% inflation rate).
Not modeled: age-50+ catch-up contributions, the overall (415(c)) defined-contribution limit, Roth IRA income phase-outs, and earned-income caps. The employer match is an uncapped flat percentage of salary.

Returns & growth

Two nominal return rates are used: tax-advantaged accounts (Roth + Traditional) grow at one rate (default 7%) and the taxable brokerage at a slightly lower rate (default 6%). The ~1-point gap stands in for the annual tax drag on a taxable account. Each year, contributions are added and then the whole balance grows once.

Retirement withdrawals

The withdrawal rule, the draw order, how taxes apply, and depletion.

The withdrawal rule

firstYearWithdrawal = peakNetWorth × withdrawalRate

The default rate is 4% of your peak (the classic "4% rule"). "Peak" is the working year with the highest net worth - typically the last one. In FIRE mode the default is 3.5%; see below.

By default the withdrawal is inflation-adjusted, so your real spending stays flat across retirement. Turn that off and the dollar amount is fixed (real spending then declines over time).

Two things sit on top of the rule. A mortgage that outlives your working years keeps costing its fixed nominal principal-and-interest every retirement year until it is paid off, drawn on TOP of the lifestyle spend, so the actual withdrawal exceeds the rule’s figure by exactly that payment. The income the plan reports is net of it. The peak the rule uses is the highest net worth at or after the last scheduled money movement, not the highest overall - so a down payment you make at year 20 cannot be spent twice, once on the house and again in retirement. On an ordinary plan the two peaks are the same figure.

FIRE mode

Choosing "Retire early" changes exactly two engine inputs and nothing else. A standard plan handed the same two numbers projects identically, year for year.

  • The withdrawal rate steps from 4% to 3.5%. The 4% rule was derived on a 30-year retirement; a retirement that starts at 45 can run twice that long, and a longer horizon genuinely supports a smaller safe draw.
  • The horizon runs from your stop age to age 90, floored at 30 years. The floor matters: it means choosing FIRE can never SHORTEN a plan. Someone stopping at 67 keeps the standard 30 years rather than being handed a 23-year retirement that would make their plan look better than it is.
Everything else - the tax layer, the draw order, contributions, the projection itself - is the same code on the same inputs. FIRE is a presentation mode with two numbers attached, not a second engine.

The FIRE numbers

Savings rate
What you set aside each year as a share of take-home pay. The employer match is excluded from BOTH sides: it is not your money going in and it is not your pay, so including it would flatter the rate.
Earliest stop
The youngest age at which the plan still funds your goal, found by re-running the whole projection at each candidate age and binary-searching. The end of the plan is held FIXED while the stop age moves, so stopping earlier means funding a longer retirement, not a shorter one. When no age in range works, it says so rather than naming one.
To stop at your target
How much more per month you would have to save to make your chosen stop age work. When saving alone cannot close the gap at any affordable amount, it says that instead of printing a number.
Bridge to 59.5
Retirement accounts carry a 10% early-withdrawal penalty before age 59.5. This asks whether what you can reach WITHOUT them - taxable brokerage and cash - covers the years between stopping and turning 59.5. It is the question to go and answer (a Roth ladder, a 72(t), the Rule of 55), not a verdict: the projection itself does not age-gate withdrawals.

Draw order & taxes

Each year the spending is drawn cash first, then brokerage, then Traditional, then Roth. Cash is already-taxed principal, so it draws tax-free; brokerage withdrawals are taxed only on their gain portion (capital-gains rates); Traditional withdrawals are taxed as ordinary income (with the full standard or itemized deduction each year); Roth withdrawals are tax-free. There is no FICA in retirement.

Because Roth and the return-of-basis portion of brokerage withdrawals are untaxed, an early retirement year funded mostly from those can show very low or $0 tax even on a large withdrawal. The draw order is fixed (there is no bracket-aware withdrawal optimization or Roth-conversion strategy).

Depletion

If total net worth reaches zero during retirement, that calendar year is recorded as the run-out year and the plan is flagged as not lasting the full horizon. Otherwise the plan is "on track."

The headline numbers

Exactly how peak net worth, monthly income, the tax rates, and fund status are derived.

Definitions

Peak net worth
The highest total net worth across your working years, shown in both future and today’s dollars.
Monthly income
The after-tax income your plan sustains, averaged across the retirement years it actually funds, divided by 12. NOT your first year: the drawdown takes tax-free cash and return-of-basis brokerage first, so year one is unusually lightly taxed and reads high (on the default plan, $4,245 against a sustained $3,878, a 9.5% gap). Run-out years are excluded from the average, because the engine keeps reporting the desired untaxed draw after the accounts deplete, which would pull a failing plan’s average UP. Shown in today’s dollars (real purchasing power) so it reads against today’s cost of living. The plan surfaces do not follow the Today’s $ / Future $ toggle for this figure; the print export does, and there it switches to the first-year figure in future dollars.
Lifetime taxes
Every tax across the whole projection: federal + state income tax, payroll (FICA) while working, and capital-gains tax in retirement. In today’s-dollars mode each year is deflated before summing.
Marginal rate
The combined federal + state income-tax rate on your next dollar, in your first working year. For a married-filing-jointly household this is the JOINT return’s rate on combined income, not the primary earner’s own rate: on $120k + $90k in California that is 31.3%, where the primary earner alone would sit at 18.0%. An active state surtax (California’s 1% over $1M, Massachusetts’ 4%) is included, so the rate agrees with the tax figures beside it.
Effective (blended) rate
Total tax ÷ total income. The retirement figure is blended across all withdrawal years, which is more honest than year one (often near-zero because it draws tax-free basis/Roth first).
Fund status
Whether your money lasts the full withdrawal horizon ("On track" vs "Depletes {year}").

Goal status

The one verdict the plan leads with. Coverage is your sustained after-tax monthly income (today’s dollars, defined above) divided by your monthly goal.

"On track" requires BOTH: coverage of at least 100% and the money lasting the full horizon. A plan that covers the number but runs out reads "Covers goal, may run short" instead, because covering it for a while is not covering it.

When you are short, the displayed coverage is capped at 99%, so the chip and the note beneath it can never contradict each other by rounding 99.6% up to 100%.

With no goal set, the plan compares against 70% of household gross salary - a common rule of thumb, and the reason setting a real goal changes the verdict.

Monte Carlo

The range-of-outcomes simulation: method, volatility, bands, and success probability.

The simulation

Monte Carlo re-runs the same projection 800 times with randomized annual returns, using a fixed seed so the result is reproducible for a given set of inputs. Each simulated year draws one market shock and applies it to both INVESTED account types (tax-advantaged and taxable), so within a year they move together. Cash is not market-exposed: it grows at its own fixed rate with no shock, so a cash-heavy plan simulates as genuinely less volatile than an invested one.

yearReturn = baseRate + volatility × z (z = standard normal, volatility = 12%)

Returns are additive-normal (not lognormal) around your fixed rates, clamped so a balance can’t lose more than 95% in a year. At 0% volatility every run collapses to the deterministic path.

Bands & success probability

The success probability is the share of the 800 runs that funded YOUR GOAL for the whole retirement. It is not the raw survival rate at your own withdrawal rate: the score first solves for the withdrawal rate that meets your goal, then simulates at THAT rate. The two are genuinely different numbers - on the default plan with a $4,500/mo goal, 72 of 100 at the plan’s own rate against the 55 of 100 the ring shows - and only the goal-solved one is ever displayed anywhere in the app.

Two behaviours worth knowing. When the goal cannot be funded at ANY rate up to 30% of peak, the probability is reported as exactly 0, regardless of how often that capped draw happens to last. And the "N of 100" count is clamped to the 1-99 range unless the probability is exactly 0 or exactly 1, so it never reads 0 or 100 for a plan that is merely very likely or very unlikely.

The p10 / p90 range you see quoted beside the headline is measured at retirement, across runs. It follows the same Today’s $ / Future $ toggle as the rest of the chart, deflated with the same factor as the net-worth line, so the band and the line always agree.

Returns are modeled as normal, and real markets are fat-tailed, which understates extreme downside.

Your plan and your moves

The balance-sheet chart, what you own and owe, and exactly how each move - a job, a home, a child, a car, a what-if - bends the projection.

The plan as a balance sheet

The plan chart decomposes each year of the SAME projection into asset classes: cash, brokerage, Roth, and Traditional (the four liquid accounts), plus property (a bought home’s market value and any ledger assets). Debt (the mortgage balance and any ledger liabilities) draws below the zero line. The ink net-worth line is the exact sum - assets minus debt equals the line, to the dollar, every year (asserted by scripts/chart-proof.mts).

  • With moves on, a dashed ghost line shows the no-moves current path, so the bend is visible.
  • Retirement is the dashed vertical marker; each move is a draggable chip pinned at its year - dragging it re-times the move and re-folds the whole stack live.
  • The chart draws through age 80. The projection itself still runs the full horizon; the headline figures read the projection, not the drawn edge.
The chart follows the Today’s $ / Future $ toggle (future dollars is the default view), and any band can be isolated from the legend.

What you own and owe (the ledger)

Homes, cars, other assets, and debts you add form a household ledger carried alongside the projection: each asset appreciates (or depreciates) at its type’s rate, amortizing debts pay down on their schedules, and the property and debt bands on the chart read directly from it. The ledger folds into the net-worth line but is never counted as spendable retirement income - a house is wealth, not a paycheck.

Cash is a first-class stream: it earns your cash yield, joins net worth, and a credit card with no payment plan accrues its interest as a yearly drain on saving.

The pay-off-a-debt read is deliberately a RATE comparison, not a trajectory: clearing a 22% APR card is a guaranteed 22% return, weighed against your taxable return (uncertain, and taxed). ChequeMate never draws a keep-vs-payoff net-worth line, because compounding a card’s interest over decades in a net-worth-only ledger would be dishonest either way.

A job move (save the raise)

A job move sets a new salary (entered in today’s dollars and inflated at CPI to the year it starts), optionally a new state via ZIP (which changes the tax math), and the new employer’s 401(k) match. Your own 401(k)/IRA elections carry over as fixed dollars - payroll does not auto-change them when you switch jobs.

extraSaving = raiseSavedPct × (newAfterTax − oldAfterTax)

The share of the after-tax CHANGE in take-home that goes to savings (default 50%) is added to your taxable-brokerage saving stream. A pay cut lowers saving symmetrically (floored at $0). Setting the share to 0% reproduces "spend the whole raise."

This is the honest part: a raise does not automatically become wealth. You choose how much of it you bank, and the projection only credits that share.

A home move (down payment, carry, PMI)

Buying a home pulls the down payment plus about 3% closing costs out of your investable savings in the purchase year (for a purchase today, brokerage first, then cash). The price you enter is today’s dollars and escalates at the home-appreciation rate (default 4%) to the purchase year. From then on the home’s market value joins the property band while the mortgage amortizes in the debt band, so the chart shows equity building.

Owning also changes your yearly saving through a year-by-year ownership carry: mortgage principal + interest (which STOPS at payoff - after that, owning can read as a saving vs renting), itemized property tax (1.1%), insurance (0.5%), and maintenance (1.0% of the price - about 2.6%/yr combined), plus PMI (0.75%/yr of the outstanding loan) while a sub-20%-down loan sits above 80% of the home’s value. The carry is measured against your current rent, held flat.

Because a homeowner itemizes, the carry also nets back the tax you save by deducting the mortgage interest and property tax (SALT-capped) instead of taking the standard deduction - computed through the same itemize-vs-standard tax math the Buy vs Rent tool uses, at your own income and state - so owning costs a little less each year than the raw payments (largest early, when interest is highest, tapering to zero once the mortgage is paid off or the deduction no longer beats the standard deduction).
Funded or blocked, honestly: if the down payment is not covered by your savings at the purchase year, the move is flagged NOT FUNDED, applies nothing to the projection, and does not pin on the chart - the plan never pretends you bought a house you could not fund. (You can opt in to cover a shortfall from your retirement accounts instead, with a penalty and tax haircut applied - a real cost to net worth.)
A home move can optionally be SOLD after a set number of years: the ownership carry stops (you go back to renting), the equity leaves net worth, and the net proceeds - value minus selling costs (about 7.5%), the mortgage payoff, and capital-gains tax on any gain over the §121 exclusion (federal 0/15/20% plus the 3.8% NIIT plus the state's own treatment) - reinvest into your brokerage. The sale reuses the same home-sale tax math as Buy vs Rent below.

Have a child

A child is one move per child: a per-year reduction to what you invest, from birth through age 17, with optional college from 18. It is a pure schedule (no separate balance hit or funding gate), so it composes with any other move, and its credits are computed through the SAME tax math as the rest of your plan rather than invented.

Each year it nets together the age-varying cost of raising the child, paid child care while young, a one-time birth-year cost and an added health-insurance premium, and any after-tax income you give up to unpaid leave or reduced hours, then SUBTRACTS the Child Tax Credit and one child-care tax benefit. Only a share of that net cost reduces your saving; the rest is assumed absorbed by trimming everyday spending, which the projection does not track.

Base cost
National middle-income, roughly $300K to $320K from birth to age 17 excluding child care (USDA basket, CPI-updated), split by age band. Scaled by your state's cost of living and by a birth-order multiplier (an only child costs about 25% more per child, a third about 24% less).
Paid child care
Seeded from your state's average infant-center price (national about $14,760/yr, editable), charged from birth to kindergarten (default age 5); toddler and preschool care run about 20% under the infant rate.
Child Tax Credit
$2,200 per child (2026), through age 16, phased out above $200,000 (single) / $400,000 (married) by $50 per $1,000 of income. The amount is inflation-indexed; the thresholds are not, so a rising income phases it out over time.
Child-care tax benefit
Either a Dependent Care FSA (cap $7,500, the usual winner for this app's incomes) OR the Child & Dependent Care Credit - never both.
Cost from saving
A share (default 70%) of the net cost reduces investing; the rest is assumed to come from cutting spending. It is the single biggest lever on the figure.
The credits are netted OUT of the cost, not added on top. A child mostly slows how fast you build wealth; if the cost runs past what you were saving, the plan PAUSES saving rather than model taking on new debt, so a very tight budget can feel it more than the chart shows.

College is optional, from age 18: the plan-covered share (default 50%) of the school type's all-in annual budget, escalated at a higher college inflation (4%/yr, kept separate from your CPI) to each year it is paid, and funded from saving.

Annual college budget (2025-26)
In-state public $31,000, out-of-state public $51,000, private $65,000, community (2-year) $20,000 - tuition, fees, and housing/food/books (College Board).

Buy or lease a car

A car move weighs BUYING against LEASING. A bought car mirrors a home: a down payment leaves your liquid savings (any shortfall is financed into the loan), the loan payment plus running costs reduce saving each year, and a depreciating value-minus-loan band folds into net worth. A lease owns nothing - the payment, the drive-off, and fees are pure expense, re-leased each term (the treadmill) at a slightly higher payment.

Price & financing
Seeded at about $49,000 new / $25,000 used, APR about 6.5% new / 11% used, and a 72-month term - all editable. A down payment you cannot cover from liquid savings is financed rather than minting free equity.
Depreciation
A new car drops about 20% the first year then about 11%/yr, floored at 8% of price; a used car skips the first-year cliff. The value band is NOT floored against the loan, so a financed car can read as underwater early - shown honestly, not hidden.
Running costs
Insurance, maintenance (rising with the car's age), and registration reduce saving; fuel is off by default (usually already in your spending), and the monthly cost of any car this replaces is credited back.
Sales tax
A default 7% combined rate on the price (a Texas-style lease is taxed on the full price up front rather than per payment).
Buy vs lease runs the SAME car through both modes and reports a crossover year: buying trails at first (the down payment and fast early depreciation) then pulls ahead once the loan is paid off and the payments stop, while a lease is a forever payment that never builds equity. Unlike an immediate home, a car is never committed to the plan as an owned asset - it stays a modeled move.

How moves compose

Every enabled move folds into ONE projection in timeline order (income changes fold before a same-year purchase, so the purchase sees the new salary). The waterfall then attributes the combined effect: each move’s MARGINAL contribution (what it adds on top of the moves before it) telescopes exactly to the combined total, shown alongside its STANDALONE effect for comparison.

Composition is guarded by proofs (scripts/combined-proof.mts, scripts/attribution-proof.mts): the marginals must sum to the headline delta, and a blocked move must contribute exactly zero.

Changing jobs: your old 401(k)

The guided "what do I do with my old 401(k)?" helper in the add-move drawer and on your Plan: the rules it encodes, and why it is guidance, not part of the projection.

What the helper does

When you add a job move (and any time a job move is on your Plan), a short questionnaire (account type, balance, age, any active loan, your new plan, income, liquidity) surfaces the contextual facts that apply, a side-by-side comparison of the four destinations, and a filtered action checklist. It is an educational reference, not part of the projection engine: it starts pre-filled from your own numbers (your age band, account types, and balance band - every answer stays editable) and it changes no projection.

It weighs four destinations for the money you are leaving behind: leave it in the old plan, roll it into your new 401(k), roll it into an IRA, or cash it out.

Educational only, not financial or tax advice. It uses 2026 figures; confirm current limits and your own situation with a professional.

Where each account type can go

The rollover destination follows the tax type of the money, so its treatment is preserved:

Traditional (pre-tax) 401(k)
Rolls into a traditional IRA or a new 401(k). Withdrawals stay taxable as ordinary income, and RMDs apply at 73.
Roth 401(k)
Rolls into a Roth IRA, never a traditional IRA (which would mix pre- and after-tax money). Qualified withdrawals stay tax-free, and a Roth IRA has no RMDs.
Both / split
Two separate rollovers: traditional to traditional IRA, Roth to Roth IRA.
Always request a direct (trustee-to-trustee) rollover. If a check is made out to you, 20% is withheld and you must redeposit the full original amount within 60 days.

Balance thresholds (SECURE 2.0)

Under $1,000
The old plan may automatically cash you out (issue a check and close the account). You have 60 days to roll it into a new account before it becomes fully taxable.
$1,000 to $7,000
Under SECURE 2.0 the plan may auto-roll your funds into an IRA of its choosing, often high-fee. Start your own direct rollover first.
Over $7,000
You can leave the funds in the old plan indefinitely, on your own timeline.

Vesting, active loans, and age rules

Vesting. Your own contributions are always 100% yours. Unvested employer match is forfeited when you leave, so the timing of your last day can matter if you are only partly vested.

Active 401(k) loan. Leaving typically starts a 60 to 90 day clock to repay the balance. Miss it and the unpaid amount becomes a taxable distribution, plus a 10% penalty if you are under 59.5. The helper flags this as the first thing to resolve.

Under 59.5
A cash-out is taxed as ordinary income plus a 10% early-withdrawal penalty.
55 to 59.5
The Rule of 55 can allow penalty-free withdrawals from this plan if you separate in or after the year you turn 55. It does not apply to IRAs or earlier employers.
73 or older
RMDs are mandatory from traditional 401(k)s and traditional IRAs; Roth IRAs are exempt, so rolling to a Roth IRA removes future RMDs (you pay tax on the conversion).

Why cashing out is the costly move

The helper estimates the cost of cashing out versus a direct rollover, which keeps 100% growing tax-deferred. The estimate is ordinary income tax at your bracket, plus a 10% penalty if you are under 59.5.

cashOutCost = amount * bracket + (age < 59.5 ? amount * 0.10 : 0)

A rough order-of-magnitude figure, not a tax calculation. Example from the tool: $50,000 cashed out at a 22% bracket loses about $16,000 right away.

A 401(k) loan, where the plan allows it and none is outstanding, is capped at the lesser of 50% of the vested balance or $50,000.

Buy vs Rent

How owning and renting are compared dollar-for-dollar, including the mortgage-interest deduction and the home-sale exclusion.

What it compares

Two parallel net-worth paths are run with identical income, spending, and saving. In the Buy world your upfront cash (down payment + closing costs) leaves the market and becomes home equity, and you pay ownership costs. In the Rent world that cash stays invested and you pay rent. The only tax difference is that the owner itemizes (mortgage interest + property tax) while the renter takes the standard deduction. The home is sold in the final year.

The verdict is whoever has more net worth at the end; the crossover year is when buying first pulls ahead.

This comparison is surfaced inside a home move - the buy-vs-rent fold in the add-move drawer and the "beats renting by" read on the move - not as a separate page.

Loan & amortization

The loan is simply the price minus the down payment; closing costs are a percentage of price, paid upfront. A standard fixed-rate amortization splits each year into interest and principal, and the final partial year only counts the interest and principal actually paid (no overstated last payment).

monthlyPayment = P × r / (1 - (1 + r) ^ -n)

P = loan, r = monthly rate, n = total months. This standalone comparison models no PMI (a home MOVE on your plan does model PMI below 20% down - see "A home move"), and no refinancing or extra-principal.

Mortgage-interest deduction

Deductible interest is capped to the interest on the first portion of your loan up to the acquisition-debt ceiling. The owner’s tax benefit is the difference between itemizing (mortgage interest plus property tax, with property tax capped by the SALT limit) and taking the standard deduction, scored through the real federal and state brackets.

Single / married
$750,000 acquisition-debt ceiling, shared.
Two unmarried co-owners
$1,500,000 - each owner has their own $750,000 limit (the Voss rule), and they split the deduction.

ChequeMate surfaces this inside a home move (the buy-vs-rent fold): the year-one deductible interest, the year-one tax saved, and the total saved over your horizon, with the ceiling labeled for your ownership structure.

SALT cap (OBBB schedule)

The state-and-local-tax deduction (state income tax + property tax) the owner can take on the federal return is capped on the OBBB schedule:

2025
$40,000 cap
2026 - 2029
Grows 1% per year
High income
Phased down 30 cents per dollar of income over ~$500,000 (also growing 1%/yr), floored at $10,000
2030 onward
Reverts to $10,000
The SALT cap applies only in Buy vs Rent. The retirement projection takes itemized deductions at face value with no SALT cap.

Property tax & assessment caps

Property tax is an effective rate (base + special assessments, default ~1.35%) on the assessed value. Most states reassess at market value each year; a few cap how fast the assessed value can grow:

California
Prop 13 - 2% cap
Florida
Save Our Homes - 3% cap
Arizona
Prop 117 - 5% cap
Texas
Homestead - 10% cap
A cap is a ceiling on assessed-value growth, not a forced growth rate. At the default 4% appreciation the Texas 10% and Arizona 5% caps never bind, so those states behave like market-reassessment states unless appreciation is high.

Sale & the home-sale exclusion (§121)

In the final year the home is sold: proceeds are net of agent commission and transfer costs (default 7.5% combined - about a 5% agent commission plus about 2.5% transfer and title costs), the mortgage is paid off, and capital-gains tax is charged on the gain above the §121 exclusion. The taxable gain is taxed at federal 0/15/20% (stacked on that year’s income) plus the 3.8% NIIT, plus the state’s own treatment.

Single owner
$250,000 of gain excluded
Married / two co-owners
$500,000 of gain excluded
Cost basis is the purchase price only (improvements and selling costs aren’t added back), and the exclusion is always applied (no 2-of-5-year use test).

Affordability & the savings "squeeze"

Affordability is a year-one front-end ratio: (principal + interest + property tax + insurance + HOA) ÷ gross household salary, rated green below 28%, yellow to 36%, red above. The "squeeze" tracks whether a tight budget forces cutting savings - brokerage first, then IRA, then 401(k), or a deficit that draws down existing savings.

Assumptions & simplifications

The honest list of what ChequeMate deliberately does not model.

Tax

  • Only single and married-filing-jointly statuses; no head-of-household or separate.
  • Married couples file ONE combined joint return on household income, using the real 2026 MFJ brackets and standard deduction. Social Security is still computed per spouse (each keeps their own wage-base cap) and the 0.9% additional-Medicare surtax is assessed once on combined wages. Two unmarried earners are each taxed as their own single filer, in BOTH the working years and the retirement drawdown. In the drawdown the engine holds only household-level balances, so it splits the year’s withdrawal evenly between the two returns rather than tracing whose account it came from. That even split is an approximation; the alternative, taxing the whole household draw on one return, would overstate the tax by about $10,400 a year on a $200,000 draw.
  • In working years, itemized deductions go on the married couple’s joint return; for two unmarried earners they are applied only to the primary earner.
  • Itemized deductions in the retirement projection are taken at face value (no SALT cap there); the SALT cap applies only in Buy vs Rent.
  • No AMT and no itemized-deduction phase-outs. The 3.8% NIIT is charged only on a taxable home-sale gain over the §121 exclusion (in Buy vs Rent and a home move’s sale), never on retirement brokerage withdrawals.
  • No local or city income taxes, and no state credits or high-income recapture. There IS one state exemption modeled: Illinois, Iowa, Mississippi and Pennsylvania fully exempt qualified RETIREMENT-ACCOUNT income, so a Traditional 401(k)/IRA withdrawal owes $0 state income tax in those four. Federal tax still applies in full, and brokerage capital gains are still state-taxed there - the exemption covers retirement-account income only. The effect is large: on one big-draw year, $0 of state tax in those four states against $23,305 in Ohio and $41,755 in Colorado.
  • Pennsylvania taxes elective 401(k)/403(b) deferrals as compensation in the year they are contributed (it does not follow the federal exclusion), which is exactly why it exempts the distribution. Other states follow the federal treatment.
  • Brackets are indexed to your single inflation input, not to actual future IRS/state figures.

Accounts & retirement

  • No age-50+ catch-up contributions and no overall 415(c) defined-contribution limit. The employer match is earned dollar-for-dollar on your 401(k) deferral up to the match cap (match% of salary); a partial-rate plan (e.g. 50% of the first 6%) is overstated.
  • No Roth IRA income phase-out: a direct Roth IRA contribution is modeled as always allowed. In reality, above the IRS income (MAGI) limits a high earner cannot contribute directly and would need a backdoor Roth; ChequeMate does not model the backdoor or the pro-rata rule.
  • No capital-gains drag during working years - brokerage growth is unrealized until withdrawal; starting brokerage is 100% basis; gains realize on an average-cost basis.
  • No Required Minimum Distributions (RMDs), no Social Security benefits, no pensions or annuities.
  • Retirement withdrawals are not age-gated: if you retire before 59.5, Traditional and Roth-earnings withdrawals are modeled without the 10% early-withdrawal penalty (and without the Rule of 55 or 72(t) exceptions that can avoid it). Retiring very early therefore reads slightly more favorably than reality.
  • A single deterministic return path in the base projection (sequence-of-returns risk is only explored in Monte Carlo).
  • The withdrawal order is fixed (cash → brokerage → Traditional → Roth); no tax-bracket-aware withdrawal or Roth-conversion optimization.
  • A TIMED purchase that sells brokerage to fund itself (a down payment, a one-off cost) does not charge capital-gains tax on that sale, and removes cost basis proportionally, so the skipped gain is never taxed later either. Worth roughly $5,000-$8,000 of lifetime tax on a $115,000 outlay.
  • Funding a down-payment shortfall from retirement accounts applies a flat 40% haircut (the draw is grossed up by 1 ÷ (1 − 0.40)) to stand for the 10% early-withdrawal penalty plus income tax. It is a flat approximation, not a bracket calculation, so it over-charges a draw funded from Roth contributions and can under- or over-charge a Traditional draw depending on the year’s other income.
  • Elective 401(k) and IRA contributions are held at their year-one dollar amounts for the whole horizon, while salary, the statutory caps and both savings lanes escalate. Nothing is wrong in any single year, but the real savings rate decays over the projection, and by the end the deferral can sit below the employer match cap.

Buy vs Rent & Monte Carlo

  • No PMI in the standalone Buy vs Rent comparison (a home MOVE does model PMI below 20% down); fixed-rate mortgage only (no refinance or extra principal); the deductible-interest fraction is fixed at the original loan size.
  • Home appreciation, rent growth, and returns are deterministic in the Buy vs Rent view; the home is always sold at the end.
  • Cost basis at sale is the purchase price only; the §121 exclusion is never prorated.
  • Monte Carlo uses additive-normal (not lognormal) returns with one shared annual shock across the two invested accounts (cash is not shocked). RETURNS are the only stochastic input: your inflation rate is applied unshocked everywhere it appears, including the withdrawal escalator and the today’s-dollars deflator, so the simulation explores market risk but not inflation risk.
A home you add as a MOVE on your plan is handled slightly differently from the standalone Buy vs Rent tool. Your baseline already reflects the saving you actually do at your current rent, so editing your rent never moves the baseline - it only sizes a home move and the per-year cash checks. A bought home swaps that rent for a year-by-year ownership carry: mortgage (which stops at payoff), itemized property tax + insurance + upkeep (1.1% + 0.5% + 1.0% of the price, about 2.6%/yr combined), and PMI while a sub-20%-down loan sits above 80% of the home’s value, measured against your current rent held flat, and net of the mortgage-interest + property-tax (SALT) itemization benefit the tool also models. Once the mortgage is paid off, owning can read as a SAVING versus renting. Rent is held flat on the buy side to stay consistent with that flat baseline; growing rent on both sides lands in a later release.

Data & sources

Every fixed legal figure ChequeMate uses - tax brackets, FICA, contribution limits, and housing law - with its authoritative source and tax year.

How to read this

The figures below are the ones you cannot change in the app - they are set by federal law, the IRS, the SSA, or a state. Each is anchored to its 2026 value and inflated forward uniformly (the contribution caps use a separate 2%/yr growth assumption), rather than trying to predict each future year’s official number. Everything else (returns, inflation, salaries, home price, mortgage rate) is yours to set.

Federal income tax & capital gains (2026)

Income-tax brackets
Seven rates 10 / 12 / 22 / 24 / 32 / 35 / 37%. Single thresholds, and the real married-filing-jointly thresholds (the joint 35% and 37% breaks of $512,450 and $768,700 are the IRS figures, not double the single).
Standard deduction
$16,100 single / $32,200 married filing jointly.
Long-term capital-gains breakpoints
0% up to $49,450 single / $98,900 joint; 15% up to $545,500 / $613,700; 20% above.
Source
IRS Revenue Procedure 2025-32 - the 2026 inflation-adjusted amounts.

Payroll tax / FICA (2026)

Social Security
6.2% on wages up to the $184,500 wage base.
Medicare
1.45% on all wages (no cap).
Additional Medicare
0.9% on wages over $200,000 single / $250,000 married - statutory, not inflation-indexed.
California SDI
1.3% on all wages (2026), no wage cap since 2024.
Source
SSA 2026 COLA fact sheet for the $184,500 wage base (Oct 2025); IRC §3101 for the Medicare rate and the additional-Medicare thresholds; CA EDD Contribution Rates for the 1.3% SDI rate and SB 951 for the removed wage cap.

Retirement contribution limits (2026)

401(k) elective deferral
$24,500 - combined Roth + Traditional (up from $23,500 in 2025).
IRA
$7,500 (up from $7,000 in 2025).
Age-50+ catch-up
Not modeled - ChequeMate uses the standard limits only.
Source
IRS Notice 2025-67 - the 2026 amounts relating to retirement plans and IRAs.
These caps are reset by the IRS every year. ChequeMate holds them at their 2026 values and grows them forward at the separate 2%/yr cap-growth assumption, which is why a future year’s limit in the projection will not exactly equal that year’s eventual official figure.

State income tax

California
Real CA FTB single schedule (nine brackets 1%-12.3%, joint = double single), standard deduction $5,706 / $11,412, plus the 1% Mental Health Services surtax over a flat $1M (the same for single and joint - not doubled, not indexed). Source: CA FTB 2025 Tax Rate Schedules (Form 540). Held on a 2025 base because the 2026 indexed FTB table was not yet published.
Washington
7% on long-term capital gains above ~$278,000 (the 2025 standard-deduction figure; the 2026 indexed amount was not yet published). Source: WA Dept. of Revenue capital gains tax.
Other 49 states + DC
Brackets, standard deduction (or a personal-exemption proxy), bracket-indexing, and capital-gains treatment are encoded per state, each carrying its own source line in the data. Source: state revenue departments + Tax Foundation 2026 summaries.

Housing & Buy vs Rent law

Mortgage-interest acquisition-debt ceiling
$750,000 per filer; two unmarried co-owners get $750,000 each (the Voss rule).
Home-sale exclusion (§121)
$250,000 single / $500,000 married (or per qualifying co-owner).
SALT deduction cap
$40,000 in 2025, +1%/yr through 2029, phased down 30 cents per dollar of MAGI over ~$500,000 (floor $10,000), reverting to $10,000 in 2030.
Property-tax assessment caps
CA Prop 13 (2%), FL Save Our Homes (3%), AZ Prop 117 (5%), TX homestead (10%); every other state reassesses at market value.
Sources
IRC §163(h) and §121; Voss v. Commissioner (9th Cir. 2015); the One Big Beautiful Bill (2025) SALT schedule; state constitutions and statutes for the assessment caps.

Currency & disclaimer

Tax law and the IRS/SSA figures above are set annually and can change; the housing-law ceilings can change with legislation. Figures change with law and markets - treat every output as an educated estimate for comparison and learning, not a filing, tax advice, or a guarantee.