Calculators
All calculator endpoints are under /api/calculator/. No API token required.
SIP Calculator
Calculate SIP or lump-sum maturity value with optional annual step-up.
- Method:
POST - URL:
/api/calculator/sip_calculator - Auth: Not required
Request body:
| Parameter | Type | Required | Constraints | Description |
|---|---|---|---|---|
investmentType | string | Yes | "sip" or "lump" | Monthly SIP or one-time lump sum |
amount | number | Yes | > 0, max 10 Cr | Monthly SIP amount or lump-sum amount in INR |
annualReturnRatePercent | number | Yes | 0-30 | Expected annual return (e.g., 12 = 12%) |
durationYears | int | Yes | 1-40 | Investment duration in years |
annualStepUpPercent | number | No | 0-50, default 0 | Annual SIP increment %. SIP only. |
# Flat SIP — Rs 10,000/month for 10 years at 12%
curl -s -X POST https://api.indvested.com/api/calculator/sip_calculator \
-H "Content-Type: application/json" \
-d '{"investmentType": "sip", "amount": 10000, "annualReturnRatePercent": 12, "durationYears": 10}'
{
"investmentType": "sip",
"monthlySipAmount": 10000,
"annualStepUpPercent": 0,
"annualReturnRatePercent": 12,
"durationYears": 10,
"maturityValue": {
"totalCorpus": 2323391,
"totalAmountInvested": 1200000,
"wealthGained": 1123391,
"formatted": { "locale": "en_IN", "totalCorpus": "23,23,391" }
},
"yearlyBreakdown": [
{
"year": 1,
"monthlySipAtYearStart": 10000,
"totalInvestedByYearEnd": 120000,
"corpusByYearEnd": 127391,
"wealthGainedByYearEnd": 7391
}
]
}
Lump-sum response has the same structure but with lumpSumAmount instead of monthlySipAmount.
Goal Planner
Reverse-SIP calculator: given a target corpus and duration, compute the required monthly SIP across multiple expected return rates.
- Method:
POST - URL:
/api/calculator/goal_planner - Auth: Not required
Request body:
| Parameter | Type | Required | Constraints | Description |
|---|---|---|---|---|
targetCorpus | number | Yes | > 0, max 1000 Cr | Target corpus in INR |
durationYears | int | Yes | 1-40 | Investment duration in years |
returnRates | number[] | No | Each 0-30, max 10 items, default [8,10,12,14,15] | Annual return rates to compute SIP for |
curl -s -X POST https://api.indvested.com/api/calculator/goal_planner \
-H "Content-Type: application/json" \
-d '{"targetCorpus": 10000000, "durationYears": 15, "returnRates": [8, 10, 12, 15]}'
{
"targetCorpus": 10000000,
"durationYears": 15,
"resultsPerReturnRate": [
{
"annualReturnRatePercent": 8,
"requiredMonthlySip": 30259,
"totalAmountInvested": 5446620,
"wealthGained": 4553380,
"formatted": { "locale": "en_IN", "requiredMonthlySip": "30,259" }
},
{
"annualReturnRatePercent": 12,
"requiredMonthlySip": 20017,
"totalAmountInvested": 3603060,
"wealthGained": 6396940,
"formatted": { "locale": "en_IN", "requiredMonthlySip": "20,017" }
}
]
}
requiredMonthlySip is the ceiling of the exact value to ensure the target corpus is always met.
SWP Calculator
Simulate a Systematic Withdrawal Plan with non-linear (randomized) returns, inflation, and lifestyle inflation. The simulation generates a random sequence of annual returns whose geometric mean matches your expected return exactly, modeling realistic non-linear market behavior.
- Method:
POST - URL:
/api/calculator/swp_calculator - Auth: Not required
Request body:
| Parameter | Type | Default | Description |
|---|---|---|---|
rule | float | 0.04 | Withdrawal rule, max 0.2 (e.g., 0.04 = 4% rule) |
startingCorpus | float | 5 | Starting corpus in Crores (min 1) |
primaryVestedDuration | int | 1 | Years to grow corpus before withdrawals begin |
yearsToCalculate | int | 15 | Withdrawal period in years (max 30) |
expectedReturn | float | 0.12 | Expected CAGR as decimal, max 0.3 (e.g., 0.12 = 12%) |
lowestExpectedReturn | float | -0.17 | Worst-case annual return for simulation |
highestExpectedReturn | float | 0.35 | Best-case annual return for simulation |
assumedInflation | float | 0.08 | Annual inflation rate, max 0.1 |
lifestyleInflation | float | 0.05 | Additional lifestyle inflation per year, max 0.15 |
withdrawalAmtPerYear | float | rule x corpus | First-year withdrawal in Crores |
curl -s -X POST https://api.indvested.com/api/calculator/swp_calculator \
-H "Content-Type: application/json" \
-d '{
"rule": 0.04,
"startingCorpus": 5,
"primaryVestedDuration": 1,
"yearsToCalculate": 15,
"expectedReturn": 0.12,
"assumedInflation": 0.08,
"lifestyleInflation": 0.05
}'
Response includes:
initialInvestment— starting corpus detailsyearlyData— year-by-year corpus tracking with withdrawal amounts and randomized returnsfinalSummary— total withdrawn, final corpus, inflation-beating check- All monetary values are in Crores
COAST FI Calculator
COAST FI status checker and SIP gap planner. Computes the minimum corpus needed today to “coast” to your retirement target, checks if you’re already there, and calculates the required monthly SIP (fixed or step-up).
- Method:
POST - URL:
/api/calculator/coast_fi_calculator - Auth: Not required
Request body:
| Parameter | Type | Required | Constraints | Description |
|---|---|---|---|---|
currentAge | int | Yes | 18-70 | Current age |
retirementAge | int | Yes | 19-80, > currentAge | Planned retirement age |
currentCorpus | number | Yes | >= 0, max 1000 Cr | Current invested corpus in INR |
currentMonthlySip | number | Yes | >= 0, max 10 Cr | Current monthly SIP in INR |
targetCorpus | number | Yes | > 0, max 1000 Cr | Target retirement corpus in INR |
targetCorpusBasis | string | Yes | "retirement_nominal" or "today_value" | Whether target is retirement-year nominal or present-day value |
annualReturnRatePercent | number | Yes | 0-30 | Expected annual portfolio return (%) |
contributionMode | string | No | "fixed" or "step_up", default "fixed" | SIP growth style |
annualStepUpPercent | number | No | 0-50, default 0 | Annual SIP step-up % (for step_up mode) |
inflationRatePercent | number | No | 0-15 | Used for real-return analytics and today_value target conversion |
curl -s -X POST https://api.indvested.com/api/calculator/coast_fi_calculator \
-H "Content-Type: application/json" \
-d '{
"currentAge": 30,
"retirementAge": 55,
"currentCorpus": 2500000,
"currentMonthlySip": 20000,
"targetCorpus": 30000000,
"targetCorpusBasis": "retirement_nominal",
"annualReturnRatePercent": 11,
"contributionMode": "step_up",
"annualStepUpPercent": 10,
"inflationRatePercent": 6
}'
Key response fields:
| Field | Description |
|---|---|
isAlreadyCoastFI | Whether current corpus already meets COAST FI threshold |
coastFICorpusToday | Corpus needed now to reach target by retirement without further contributions |
requiredMonthlySip | Minimum total monthly SIP needed |
requiredAdditionalMonthlySip | Incremental SIP over your current SIP |
isCurrentSipSufficient | Whether existing SIP is enough to hit target |
projectionYearlyBreakdown | Annual table with corpusAtYearStart, contribution, growth, corpusAtYearEnd |