Free calculators
Debt payoff calculator: avalanche and snowball documentation
Inputs, formulas, assumptions and API/MCP examples for the debt payoff calculator: avalanche and snowball. Reproduce a calculation and cite its sources.
Content updated . Assumptions reviewed .
Formula and assumptions
Monthly balance = prior balance + interest - minimum payment - allocated surplus.
- Promotions end at the beginning of the expiry month. Monthly APR/12 interest is charged before payments.
- Percent minimums apply to the balance including current interest; interest-plus-percent uses interest plus the opening principal percentage; each has an entered cash floor.
- The fixed monthly budget rolls freed payments into the next debt. Rate or balance ties retain input order.
- Transfer fees are capitalized once at the start; consolidation adds its separate fee and contractual amortizing minimum.
- Only cash above the emergency floor repays debt immediately. Insufficient minimum-payment budgets are reported without simulating delinquency fees.
- Consolidation represents one new loan; no eligibility, credit score, tax or legal consequences are modeled.
Assumptions reviewed:
Sources
- KlarFort calculator methodology. KlarFort-authored arithmetic; free to use with credit.; vintage 1.
Parameters
| Name | Description | Type | Default | Minimum | Maximum |
|---|---|---|---|---|---|
| currency | Currency | string | "USD" | ||
| debts | Balances and entered minimum formulas; promotion ends at the start of its YYYY-MM expiry month. | array | [{"balance":5000,"annualRate":18,"promoRate":0,"promoEndMonth":"","minimumType":"fixed","minimumPayment":100,"minimumPercent":2,"transferFeePercent":0},{"balance":2000,"annualRate":12,"promoRate":0,"promoEndMonth":"","minimumType":"fixed","minimumPayment":50,"minimumPercent":2,"transferFeePercent":0}] | ||
| strategy | Payoff strategy | string | "avalanche" | ||
| startMonth | Projection start month | string | "2026-09" | ||
| monthlyBudget | Total monthly debt-payment budget | number | 400 | 0 | 1,000,000,000 |
| availableCash | Cash available before protecting reserve | number | 0 | 0 | 1,000,000,000 |
| emergencyCashFloor | Protected emergency cash | number | 0 | 0 | 1,000,000,000 |
| maxMonths | Maximum projection months | integer | 600 | 1 | 600 |
| consolidationRate | Consolidation annual rate (%) | number | 8 | 0 | 100 |
| consolidationMonths | Consolidation contractual months | integer | 36 | 1 | 600 |
| consolidationFeePercent | Additional financed consolidation fee (%) | number | 0 | 0 | 100 |
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/debt-payoff-calculator -H "Content-Type: application/json" --data '{"currency":"USD","debts":[{"balance":5000,"annualRate":18,"promoRate":0,"promoEndMonth":"","minimumType":"fixed","minimumPayment":100,"minimumPercent":2,"transferFeePercent":0},{"balance":2000,"annualRate":12,"promoRate":0,"promoEndMonth":"","minimumType":"fixed","minimumPayment":50,"minimumPercent":2,"transferFeePercent":0}],"strategy":"avalanche","startMonth":"2026-09","monthlyBudget":400,"availableCash":0,"emergencyCashFloor":0,"maxMonths":600,"consolidationRate":8,"consolidationMonths":36,"consolidationFeePercent":0}'fetch("https://klarfort.com/tools/api/v1/debt-payoff-calculator", {method:"POST", headers:{"Content-Type":"application/json"}, body:JSON.stringify({"currency":"USD","debts":[{"balance":5000,"annualRate":18,"promoRate":0,"promoEndMonth":"","minimumType":"fixed","minimumPayment":100,"minimumPercent":2,"transferFeePercent":0},{"balance":2000,"annualRate":12,"promoRate":0,"promoEndMonth":"","minimumType":"fixed","minimumPayment":50,"minimumPercent":2,"transferFeePercent":0}],"strategy":"avalanche","startMonth":"2026-09","monthlyBudget":400,"availableCash":0,"emergencyCashFloor":0,"maxMonths":600,"consolidationRate":8,"consolidationMonths":36,"consolidationFeePercent":0})})import json, urllib.request
request = urllib.request.Request("https://klarfort.com/tools/api/v1/debt-payoff-calculator", data=json.dumps({"currency":"USD","debts":[{"balance":5000,"annualRate":18,"promoRate":0,"promoEndMonth":"","minimumType":"fixed","minimumPayment":100,"minimumPercent":2,"transferFeePercent":0},{"balance":2000,"annualRate":12,"promoRate":0,"promoEndMonth":"","minimumType":"fixed","minimumPayment":50,"minimumPercent":2,"transferFeePercent":0}],"strategy":"avalanche","startMonth":"2026-09","monthlyBudget":400,"availableCash":0,"emergencyCashFloor":0,"maxMonths":600,"consolidationRate":8,"consolidationMonths":36,"consolidationFeePercent":0}).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 debt-payoff-calculator. 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.