Calculators
Snowball vs avalanche payoff calculator API
Simulates debt payoff month-by-month under the snowball (smallest-balance-first) and avalanche (highest-rate-first) strategies with a shared budget and recommends the cheaper one. Answers 'Should I use the snowball or avalanche method?','Which payoff order saves the most interest?'.
Price$0.01per request
MethodPOST
Route/v1/calc/loan-snowball-vs-avalanche
StatusLive
MIME typeapplication/json
Rate limit120/minute
CacheNo cache
loandebtsnowballavalanchepayoffstrategycalculator
API URL
Integration docshttps://x402.hexl.dev/v1/calc/loan-snowball-vs-avalancheExample request
{
"debts": [
{
"name": "card-a",
"balance": 3000,
"annualRatePct": 24,
"minPayment": 90
},
{
"name": "card-b",
"balance": 8000,
"annualRatePct": 15,
"minPayment": 200
}
],
"monthlyBudget": 600
}Example response
{
"snowball": {
"months": 22,
"totalInterest": 1705.19,
"payoffOrder": [
"card-a",
"card-b"
]
},
"avalanche": {
"months": 22,
"totalInterest": 1705.19,
"payoffOrder": [
"card-a",
"card-b"
]
},
"interestSavedByAvalanche": 0,
"recommended": "avalanche",
"rationale": "Avalanche (highest-rate first) minimizes total interest paid.",
"breakdown": {
"numDebts": 2,
"monthlyBudget": 600,
"sumOfMinimums": 290
}
}Input schema
{
"type": "object",
"required": [
"debts",
"monthlyBudget"
],
"properties": {
"debts": {
"type": "array",
"description": "Debts with balance, rate, and minimum payment.",
"items": {
"type": "object",
"required": [
"balance",
"annualRatePct",
"minPayment"
],
"properties": {
"name": {
"type": "string",
"examples": [
"card-a"
]
},
"balance": {
"type": "number",
"examples": [
3000
]
},
"annualRatePct": {
"type": "number",
"examples": [
24
]
},
"minPayment": {
"type": "number",
"examples": [
90
]
}
}
},
"examples": [
[
{
"name": "card-a",
"balance": 3000,
"annualRatePct": 24,
"minPayment": 90
},
{
"name": "card-b",
"balance": 8000,
"annualRatePct": 15,
"minPayment": 200
}
]
]
},
"monthlyBudget": {
"type": "number",
"description": "Total monthly amount available across all debts.",
"examples": [
600
]
}
}
}Output schema
{
"type": "object",
"additionalProperties": true
}