Dadvesting Open the calculator

Model spec

How the Trump Account vs 529 projection model works

The whole model written out, plus the check that says the engine reproduces our published article to the dollar.

The model is 1 recurrence run month by month: balance times 1 plus the monthly rate, plus the end-of-month deposit. It runs from the later of the birth month and July 2026 to the 18th birthday, then optionally 504 more months to age 60, and applies federal tax once at each exit. The Trump Account line stops taking deposits at the end of 2043, because 26 U.S.C. 530A(c)(2) covers only calendar years before the one the kid turns 18. On the baseline inputs it prints $64,608 pre-tax at 18 in the 529 and $67,207 in the Trump Account, which are the figures our Trump Account vs 529 article publishes, to the dollar.

The model in 1 screen

  • Engine: assets/calc-trump.js, vanilla JavaScript, no dependencies, no build step.
  • Compounding: monthly, end-of-month deposits. 7% a year is 0.5833% a month.
  • Window: the later of the birth month and July 2026, out to the 18th birthday. 216 deposits on the baseline, July 2026 to June 2044, both ends counted.
  • Trump Account deposits stop sooner, at the end of the calendar year before the age 18 year, per 26 U.S.C. 530A(c)(2). 210 deposits on the baseline, July 2026 to Dec 2043, against 216 in the other 2.
  • Caps: $5,000 a calendar year in the Trump Account, $7,500 or the kid's pay in the Roth, none in the 529.
  • Exits: 10% additional tax on the taxable part before 59 and a half, waived by the education exception.
  • Rounding: full precision in the arithmetic, every printed figure to the nearest $1, and every printed difference is the printed figures subtracted.
  • Verification: 21 published figures checked against the engine, 21 match.

What are the inputs?

Inputs the calculator exposes, with the baseline value each one loads with. Dadvesting model spec, Sep 17, 2026
InputBaselineWhat it drives
Monthly contribution$150The end-of-month deposit into all 3 accounts, before each account's own cap
Birth month and yearJuly 2026The start of the deposit window and the 18th birthday
Annual return7%Nominal, divided by 12 and applied every month
Kid's marginal federal rate at withdrawal12%Income tax on the taxable part of every withdrawal. The tax at the exit falls on the beneficiary, so this is the kid's rate in the year the money comes out
State income tax rate5%The 529 deduction line only. It never touches a balance
What the money is forCollegeWhether the 529 exit is tax free and whether the 10% applies
Kid's earned income$0The custodial Roth IRA contribution, held flat across every year

How does the compounding work?

1 loop, 1 line of arithmetic per month, per account.

Let r be the annual return divided by 12. For each month in the window, the balance becomes the old balance times 1 plus r, then the month's deposit is added. Deposits land at the end of the month, so the first deposit earns nothing in its own month.

Of course 7% a year is an average, and no single year ever lands on the average… you know how the rest of that paragraph goes. A flat rate is in here because it is the only way 3 accounts stay comparable at all.

The $1,000 pilot deposit is not part of that loop. It lands at the start of the window and is compounded as a single lump: $1,000 times 1 plus r, raised to the number of months. On the baseline that is 216 months and $3,513.

The window starts at the later of the birth month and July 2026, because no money of any kind could go into a Trump Account before July 4, 2026, per the Form 4547 instructions and 26 U.S.C. 530A(b)(1)(C)(i)(I). The model holds that same start date on the 529 and the Roth so the only difference between the 3 lines is the tax treatment. A baby born January 2025 gets 198 deposits, not 216.

Why does the Trump Account stop depositing early?

Because the statute runs out before the birthday does.

26 U.S.C. 530A(c)(2) writes the Trump Account contribution rule for "any contribution made before the calendar year in which the account beneficiary attains age 18", and 530A(b)(1)(C)(i)(II) puts the matching bar in the account's governing instrument. Nothing in 530A carries that treatment into the age 18 year itself. From Jan 1 of that year, 530A(a) leaves the account as an ordinary traditional IRA, and a traditional IRA contribution needs the beneficiary's own taxable compensation, which the baseline sets at $0.

So the Trump Account line takes its last deposit on Dec 31, 2043, then compounds through the final 6 months of the window with nothing added, and lands on the July 2044 birthday at $67,207. The 6 deposits it never takes are worth $913 at that date. The 529 and the custodial Roth are not governed by 530A, so both run all 216.

The size of that gap depends only on the birth month. A January baby loses nothing, because the 18th birthday already falls on the cutoff. A December baby loses 11 deposits.

Age 60 is the 18th birthday balance times 1 plus r, raised to 504. Nothing is added after 18.

How is each account taxed at the exit?

Family money goes in after tax in all 3. What separates them is what happens on the way out, and the model applies that once, on a full withdrawal.

Federal treatment the engine applies at each exit. Basis is the sum of after-tax contributions. IRS Notice 2025-68, IRS Publication 590-B, 26 U.S.C. 529, IRS Publication 970. Checked Sep 17, 2026
AccountTaxable partFor education at 18Not education at 18At 60
Trump AccountBalance minus basis, so growth plus the $1,000 and its growthIncome tax, 10% waivedIncome tax plus 10%Income tax, no 10%
529Earnings onlyNo federal taxIncome tax plus 10% on earningsIncome tax plus 10% on earnings
Custodial Roth IRAEarnings onlyIncome tax on earnings, 10% waivedIncome tax plus 10% on earningsNo federal tax, qualified distribution

A Trump Account is a traditional IRA, which the IRS states in Notice 2025-68. That is the rule doing the most work in this model. Personal contributions are not deductible, so they become basis and come back out untaxed, and everything above basis is ordinary income on the way out.

It took 26 U.S.C. 530A, 26 U.S.C. 6434 and a 2025 IRS notice to arrive at a sentence that short. We read all 3 so this page could spend 1 line on it.

The education exception waives the 10% additional tax and nothing else. Income tax on the taxable part still applies, so on the baseline the college exit nets $64,608 in the 529 against $62,922 in the Trump Account, a gap of $1,686 that holds even after the Trump Account is handed a free $1,000.

The 529 row at age 60 is ours, not the article's. Our published article stops at 18 for the 529 and marks the age 60 cell as not modeled. A 529 held to 60 and then spent on something other than education takes income tax plus 10% on the earnings at any age, so that is how the engine prices it.

What are the contribution caps?

Each account gets its own cap, applied per calendar year inside the monthly loop. A month's deposit is the smaller of the monthly contribution and whatever room is left in that account for that year.

  • Trump Account: $5,000 per child per calendar year for 2026 and 2027, indexed after 2027. The model holds $5,000 flat. A contribution over $416 a month stops funding it partway through any full calendar year, and later than that in the short years at either end of the window: 2026 takes only 6 deposits on the baseline, so the cap does not bite there until over $833 a month. The $1,000 pilot deposit sits outside the cap. The cap also runs out early: 26 U.S.C. 530A(c)(2) covers only calendar years before the one the kid turns 18, so the arm takes nothing from Jan 1 of that year.
  • 529: no federal yearly cap, so the full monthly contribution always lands.
  • Custodial Roth IRA: the lesser of the 2026 IRA limit of $7,500 and the kid's taxable compensation for the year. With $0 of earned income the arm contributes $0, and the page says so in plain words. The account could not legally hold a balance in that case, so the model declines to print one.

The $1,000 pilot deposit only lands for a birth in 2025 through 2028, per 26 U.S.C. 6434. Outside those years the engine sets it to $0.

How is the state 529 deduction handled?

Contributions are summed by calendar year and multiplied by the state rate. On the baseline that is $900 in 2026, $1,800 a year for 2027 through 2043, and $900 in 2044, which is $1,620 at a 5% rate and $2,916 at 9%.

The savings are not reinvested and never touch a balance. The line sits beside the table. No state cap is applied, so a state with a low deduction ceiling will read high here. The real per-state caps are in our state 529 plan article.

How are the figures rounded?

The arithmetic runs at full precision. The display does not.

Every dollar figure the calculator prints is rounded to the nearest $1, and every difference it prints subtracts those rounded figures rather than the full precision ones. A net is the printed pre-tax minus the printed tax. A margin is 1 printed net minus another. So the Trump Account's $67,207 pre-tax and $4,285 of tax print a net of $62,922, and against the 529's $64,608 that prints a gap of $1,686.

The alternative, rounding each figure off its own full precision number, is how a table ends up showing $67,207 minus $4,285 as $62,923. A reader holding a calculator and nothing but the printed numbers can reproduce every row and every margin on these pages exactly.

Does the engine reproduce the published article?

That is the acceptance test. Every dollar figure our Trump Account vs 529 article published on its own inputs, run back through this engine.

Article figure against engine output. Baseline inputs: born July 2026, $150 a month, 7% nominal compounded monthly, federal tax only, 216 deposits into the 529 and 210 into the Trump Account. Dadvesting verification run, Sep 17, 2026
FigureArticleEngineResult
Pre-tax balance at 18, 529$64,608$64,608Match
529 earnings at 18$32,208$32,208Match
$1,000 pilot deposit at 18$3,513$3,513Match
Trump Account deposits to 18210210Match
Trump Account basis at 18$31,500$31,500Match
Trump Account pre-tax at 18$67,207$67,207Match
Trump Account taxable part$35,707$35,707Match
College, 12% rate: 529$64,608$64,608Match
College, 12% rate: Trump Account$62,922$62,922Match
College, 22% rate: Trump Account$59,351$59,351Match
Not college at 18, 12% plus 10%: 529$57,522$57,522Match
Not college at 18, 12% plus 10%: Trump Account$59,351$59,351Match
Not college at 18, 22% plus 10%: 529$54,301$54,301Match
Not college at 18, 22% plus 10%: Trump Account$55,781$55,781Match
Trump Account pre-tax at 60$1,260,473$1,260,473Match
Trump Account net at 60, 12% rate$1,112,996$1,112,996Match
$1,000 at 198 months, Jan 2025 birth$3,163$3,163Match
$1,000 at 204 months, July 2025 birth$3,276$3,276Match
$1,000 at 210 months, Jan 2026 birth$3,392$3,392Match
State 529 deduction at 5%$1,620$1,620Match
State 529 deduction at 9%$2,916$2,916Match

21 figures, 21 matches, 0 differences. A separate Python implementation of the same recurrence, written from this spec alone with the JavaScript closed, returns the same 21 numbers.

What does the model not do?

The short version: it prices compounding and the federal exit, and nothing else.

  • No fund fees. Trump Account funds are capped at 0.1% a year by law and the average age-based 529 portfolio ran 0.43% in Morningstar's 2026 study, so a fee-aware run would move the 529 line down more than the Trump Account line.
  • No inflation adjustment. Every figure is nominal, which matters most on the age 60 row.
  • No state income tax on the withdrawal, and no California 2.5% additional tax on non-qualified 529 earnings.
  • No kiddie tax, because none of the 3 accounts throws off yearly taxable income in this model.
  • No FAFSA effect. The Education Department has not issued guidance naming Trump Accounts.
  • No employer contributions, no cafeteria plan money, no qualified general contributions, no Dell $250.
  • No partial withdrawals. The full balance comes out at once at each exit, and the 529 exit at 18 assumes every dollar of that balance pays a qualified education expense inside that 1 year, which is the assumption putting $0 in the 529 tax cell.
  • No bracket math. The rate you set is applied flat to the whole taxable lump, and a lump that size would not all sit in 1 bracket on a real return.
  • No 529 to Roth IRA rollover bridge, and no Roth conversion of the Trump Account.
  • No raises to the contribution and no gifts from anyone else. The return runs flat every month, so there is no market path in here.
  • The IRA limit, the $5,000 cap and the tax brackets are held flat for the whole projection. All 3 move over time.

What the math says

A model this simple is the point. 1 recurrence, 1 tax event, and every rule traced to a statute or an IRS page, which is what makes the output checkable. The engine is 1 file and the output is the same on every run.

The variable that moves the answer more than any other is what the money is for, because tax-free at the exit exists in exactly 1 of these 3 accounts and only for qualified education.

How we ran the numbers

The numbers on this page come from assets/calc-trump.js run on the baseline inputs, and were checked against an independent Python implementation of the same recurrence.

  • Baseline: baby born July 2026, $150 a month at the end of each month. The 529 and the custodial Roth take 216 deposits, July 2026 to June 2044, counting both ends. The Trump Account takes 210, July 2026 to Dec 2043, per 26 U.S.C. 530A(c)(2), then compounds to the July 2044 birthday with nothing added.
  • 7% nominal a year, compounded monthly at 0.5833% a month. A modeling assumption. Nobody here is forecasting 7%.
  • Trump Account basis on the baseline: $31,500 of after-tax family money. Taxable: $35,707.
  • 529 non-qualified: income tax plus 10% on the $32,208 of earnings. Qualified: no tax.
  • Age 60: the $67,207 grows 504 more months at 7% with no new money, then is taxed at 12% outside basis, with no 10%.
  • State deduction: $900 in 2026, $1,800 a year for 2027 to 2043, $900 in 2044, at example rates of 5% and 9%. Savings not reinvested.
  • No fees, no inflation adjustment, federal tax only. Full precision in the arithmetic, every printed dollar figure rounded to the nearest $1, and every printed difference is the printed figures subtracted.

Checked Sep 17, 2026: a Trump Account is a traditional IRA (Notice 2025-68), the $1,000 pilot deposit covers US citizen kids born 2025 through 2028 with nothing landing before July 4, 2026, the yearly cap is $5,000 per child for 2026 and 2027 and is indexed after 2027 and covers only calendar years before the one the kid turns 18 per 26 U.S.C. 530A(c)(2), the taxable part of an IRA withdrawal before 59 and a half carries a 10% additional tax unless an exception applies, non-qualified 529 earnings take income tax plus 10%, and the 2026 IRA limit is $7,500 capped at the kid's taxable compensation. Rates and limits move, so check the date on this line before you lean on it.

Sources

  1. Office of the Law Revision Counsel, "26 U.S.C. 530A, Trump accounts", checked Sep 17, 2026
  2. Office of the Law Revision Counsel, "26 U.S.C. 6434, Trump accounts contribution pilot program", checked Sep 17, 2026
  3. Office of the Law Revision Counsel, "26 U.S.C. 529, Qualified tuition programs", checked Sep 17, 2026
  4. IRS, "Internal Revenue Bulletin 2025-52, Notice 2025-68", checked Sep 17, 2026
  5. IRS, "Instructions for Form 4547, Trump Account Election(s)", checked Sep 17, 2026
  6. IRS, "Publication 590-B, Distributions from Individual Retirement Arrangements", checked Sep 17, 2026
  7. IRS, "Retirement topics, exceptions to tax on early distributions", checked Sep 17, 2026
  8. IRS, "Retirement topics, IRA contribution limits", checked Sep 17, 2026
  9. IRS, "Publication 970, Tax Benefits for Education", checked Sep 17, 2026
  10. Morningstar, "529 plans keep getting cheaper: 5 key takeaways from our 2026 study", checked Sep 17, 2026

1 email a week · Free

We do this every week. Come get the next one.

Unsubscribe whenever. We read every reply.