Docs · Model reference
estate-planning
Verified · spec v1.1.0Inputs
| Field | Type | Valid domain |
|---|---|---|
| totalEstateValue | float | 500,000 – 50,000,000 |
| retirementAccounts | float | 0 – 10,000,000 |
| lifeInsurance | float | 0 – 5,000,000 |
| totalDebts | float | 0 – 5,000,000 |
| annualGifting | float | 0 – 500,000 |
| charitableGiving | float | 0 – 5,000,000 |
| numberOfHeirs | int | 1 – 10 |
| estateTaxExemption | float | 1,000,000 – 25,000,000 |
| stateTaxRate | float | 0 – 20 |
| yourAge | int | 40 – 90 |
| annualGrowthRate | float | 1 – 12 |
| yearsToProject | int | 5 – 30 |
- stateTaxRate and annualGrowthRate are in PERCENT points, not decimals
All fields required. Out-of-domain values are rejected with per-field errors — never clamped. Unknown fields are rejected.
Live example — generated from the real engine
Request
POST /api/v1/models/estate-planning
{
"totalEstateValue": 25250000,
"retirementAccounts": 5000000,
"lifeInsurance": 2500000,
"totalDebts": 2500000,
"annualGifting": 250000,
"charitableGiving": 2500000,
"numberOfHeirs": 6,
"estateTaxExemption": 13000000,
"stateTaxRate": 10,
"yourAge": 65,
"annualGrowthRate": 6.5,
"yearsToProject": 18
}Response (chart arrays compacted)
{
"ok": true,
"model": "estate-planning",
"specVersion": "1.1.0",
"contractUrl": "/api/v1/models/estate-planning",
"specUrl": "/api/v1/models/estate-planning/spec",
"inputs": {
"totalEstateValue": 25250000,
"retirementAccounts": 5000000,
"lifeInsurance": 2500000,
"totalDebts": 2500000,
"annualGifting": 250000,
"charitableGiving": 2500000,
"numberOfHeirs": 6,
"estateTaxExemption": 13000000,
"stateTaxRate": 10,
"yourAge": 65,
"annualGrowthRate": 6.5,
"yearsToProject": 18
},
"outputs": {
"grossEstate": 27750000,
"adjustedGrossEstate": 22750000,
"taxableEstate": 9750000,
"federalEstateTax": 3900000,
"stateEstateTax": 2275000,
"totalEstateTax": 6175000,
"netEstateToHeirs": 15375000,
"perHeirInheritance": 2562500,
"incomeOnRetirementAccounts": 1200000,
"effectiveTaxRate": 32.417582417582416,
"giftingBenefit10Years": 1140000,
"projectedEstateAt": [
{
"age": 70,
"value": 29919472,
"taxBurden": 9759736
},
{
"age": 75,
"value": 40204877,
"taxBurden": 14902439
},
{
"age": 80,
"value": 54759383,
"taxBurden": 22179691
}
]
},
"sentinels": [],
"assumptions": [
"Implements model spec estate-planning v1.1.0 (dual-implementation verified).",
"stateTaxRate and annualGrowthRate are in PERCENT points, not decimals"
],
"facts": [
{
"id": "irs.estate-tax.top-rate",
"label": "Federal estate tax top marginal rate",
"value": 0.4,
"period": "2013+ (ATRA, permanent)",
"source": "IRC §2001(c); IRS Estate Tax overview"
},
{
"id": "irs.gift.annual-exclusion.2026",
"label": "Annual gift tax exclusion (per recipient)",
"value": 19000,
"period": "TY2026",
"source": "IRS TY2026 inflation adjustments (Rev. Proc. 2025-32 newsroom page — 'remains at $19,000')"
}
],
"record": {
"sha256": "044d2cbe24ca6464885afb1e534e17b20aa385b4c3df5af14319f7a2d462f469",
"fields": [
"model",
"specVersion",
"inputs",
"outputs"
],
"howToVerify": "Store this record with any advice or agent output built on these numbers. To verify later: build {model, specVersion, inputs, outputs} from the stored response, serialize as JSON with object keys sorted recursively (no whitespace), and SHA-256 it — a match proves the numbers came from this spec version with these inputs, unaltered."
},
"disclaimer": "Illustrative planning model, not financial advice. Outputs follow the published model spec exactly; read the spec for assumptions and exclusions before relying on any number."
}This example is executed against the production engine when the page builds — it cannot drift from the API's real behavior.