Free calculators

Mortgage overpayment versus investing calculator documentation

Inputs, formulas, assumptions and API/MCP examples for the mortgage overpayment versus investing calculator. Reproduce a calculation and cite its sources.

Content updated . Assumptions reviewed .

Formula and assumptions

Assumptions reviewed:

Sources

Parameters

NameDescriptionTypeDefaultMinimumMaximum
currencyCurrencystring"USD"
principalMortgage balancenumber30000001,000,000,000
homeValueHome value for insurance removalnumber40000001,000,000,000
mortgageRateMortgage annual rate (%)number50100
mortgageMonthsMortgage remaining monthsinteger3001600
extraMonthlyExtra cash each monthnumber50001,000,000,000
horizonMonthsCommon comparison horizon monthsinteger3001600
investmentReturnExpected effective annual investment return (%)number6-5050
volatilityAnnual investment volatility (%)number150100
pathsSimulation pathsinteger25011,000
seedSeed (empty or 16 hexadecimal characters)string""
initialInvestmentInitial investment cash outside reservenumber2000001,000,000,000
protectedCashProtected cash outside investment portfolionumber1000001,000,000,000
overpaymentClosingCostUpfront cost charged to overpayment optionnumber001,000,000,000
monthlyMortgageInsuranceMonthly mortgage insurancenumber001,000,000,000
insuranceRemovalLTVInsurance removal loan-to-value (%)number780100

JSON API

GET accepts one input parameter containing URL-encoded JSON. POST sends the JSON input object. Prefer POST for personal figures. Inputs are limited to 16 KiB. POST results are not stored; GET results may be cached for up to 24 hours.

curl -X POST https://klarfort.com/tools/api/v1/overpay-or-invest -H "Content-Type: application/json" --data '{"currency":"USD","principal":300000,"homeValue":400000,"mortgageRate":5,"mortgageMonths":300,"extraMonthly":500,"horizonMonths":300,"investmentReturn":6,"volatility":15,"paths":250,"seed":"731f4821e09868c9","initialInvestment":20000,"protectedCash":10000,"overpaymentClosingCost":0,"monthlyMortgageInsurance":0,"insuranceRemovalLTV":78}'
fetch("https://klarfort.com/tools/api/v1/overpay-or-invest", {method:"POST", headers:{"Content-Type":"application/json"}, body:JSON.stringify({"currency":"USD","principal":300000,"homeValue":400000,"mortgageRate":5,"mortgageMonths":300,"extraMonthly":500,"horizonMonths":300,"investmentReturn":6,"volatility":15,"paths":250,"seed":"731f4821e09868c9","initialInvestment":20000,"protectedCash":10000,"overpaymentClosingCost":0,"monthlyMortgageInsurance":0,"insuranceRemovalLTV":78})})
import json, urllib.request
request = urllib.request.Request("https://klarfort.com/tools/api/v1/overpay-or-invest", data=json.dumps({"currency":"USD","principal":300000,"homeValue":400000,"mortgageRate":5,"mortgageMonths":300,"extraMonthly":500,"horizonMonths":300,"investmentReturn":6,"volatility":15,"paths":250,"seed":"731f4821e09868c9","initialInvestment":20000,"protectedCash":10000,"overpaymentClosingCost":0,"monthlyMortgageInsurance":0,"insuranceRemovalLTV":78}).encode(), headers={"Content-Type":"application/json"})
print(urllib.request.urlopen(request).read().decode())

Connected assistants

Connect using https://klarfort.com/tools/mcp. Discover this calculator with tools/list, then call overpay-or-invest. Protocol versions 2026-07-28 and 2025-11-25 are supported. Modern requests carry protocol metadata and matching HTTP headers. Set Mcp-Name to params.name for tools/call and to params.uri for resources/read. Older clients initialize first.

Limits: 120 requests per minute per address and approximately 3,000 per minute per edge location. Simulations are capped at 1,000 paths, 600 months and 150,000 path-months (paths multiplied by months). Shorten the duration or reduce paths when that work limit is exceeded. A limit response returns 429 and Retry-After. No exact remaining-request count is available.

Usage and credit

Free for personal, commercial and any other lawful use with credit to KlarFort at https://klarfort.com/. Third-party data terms still apply.

Place a visible credit near the reused material or in the credits for your work or integration. One clear credit per work or integration is sufficient; no separate credit per API request is required. Links to individual calculators are optional.

Computed with KlarFort Calculators, https://klarfort.com/

The API returns this text in credit and the homepage in credit_url. The optional citation_url identifies the calculator for reference. See usage and credit for the full permission.

KlarFort is not financial, investment, tax, or legal advice. Verify outputs before making material decisions.