SSY calculator
Depositing 150,000 a year for 15 years at 8.2% builds an SSY account worth 7,182,119.17 when it matures at year 21, on 2,250,000 paid in. Each deposit counts from the start of its year. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Yearly
- 150,000
- Interest rate
- 8.2
- Years
- 15
- Maturity years
- 21
- Remaining years
- 6
- Maturity value
- 7,182,119.17
- Total deposited
- 2,250,000
Sukanya Samriddhi Yojana, abbreviated SSY, is the Government of India's small-savings account for a girl child: a constant yearly deposit, an officially notified annual interest rate, and a twenty-one-year account that accepts deposits only during the first fifteen years. Parents, guardians, distributors, and product teams all ask the same question: if I put a fixed yearly amount into an SSY account at a stated percent for a given number of deposit years, what is the maturity value when the account closes at year twenty-one. This SSY calculator accepts those three numbers—yearly deposit, interest rate as a percent, and deposit years—and returns the maturity value using the beginning-of-year annuity-due identity with extra compounding through year twenty-one.
What Sukanya Samriddhi Yojana means and how the 15/21 closed form works
Sukanya Samriddhi Yojana is a sovereign small-savings scheme, not a mutual-fund SIP and not a bank recurring deposit. The cash-flow follows a statutory 15/21 split: you may deposit only during the first fifteen years from the date of opening, and the account matures on completion of twenty-one years. After the deposit window the accumulated corpus keeps earning the same annual rate with no further contributions.
Each yearly deposit is treated as invested at the beginning of the year, which is the convention public SSY calculators use when the annual amount is assumed to be paid on the first of April so that a full year of interest accrues. Convert the annual percent to a decimal rate i by dividing by one hundred. The number of deposits n is the integer deposit-year count you send, at most fifteen.
The maturity value is then the yearly deposit times the quantity one plus i to the n, minus one, divided by i, multiplied once more by one plus i for the beginning-of-year convention, and finally multiplied by one plus i raised to twenty-one minus n for the idle compounding years. When the interest rate is zero that annuity ratio is undefined, so the maturity value collapses to yearly times n, which is simply the cash you put in.
Total deposited is always yearly times n, and interest earned is maturity minus that cash. This page is not a monthly SIP India calculator, not a generic savings-account projector that also takes an opening deposit, and not a Roth IRA contribution identity: those queries already have their own calculators.
What you can do with it
Yearly SSY goal projections
Project the 21-year maturity corpus of a fixed rupee SSY deposit at a stated annual rate and deposit-year count, and see total deposited next to interest earned.
Distributor and coaching oracles
Generate reproducible Sukanya Samriddhi answer keys that split interest from cash deposited so learners and clients can check each piece of the 15/21 rule.
FAQ
How is SSY maturity calculated?
Convert the annual percent to a decimal i = r/100. Deposits are a beginning-of-year annuity due for n years, then idle-compound to year 21: P×[((1+i)^n−1)/i]×(1+i)×(1+i)^(21−n), or P×n when i is zero. Total deposited is P×n.
Is the interest rate a percent or a decimal?
A percent. Send 8.2 for eight point two percent per year. Sending 0.082 would be treated as eight hundredths of a percent, not eight point two percent.
What happens if the yearly deposit is negative?
A Sukanya Samriddhi Yojana deposit must be zero or positive. Negative, missing, or non-finite yearly values are rejected and are not billed.
Why only 15 deposit years if the account lasts 21 years?
SSY takes deposits only in the first 15 years from opening. Years 16 to 21 earn interest on the accumulated corpus with no further deposits. This calculator always matures at year 21.
Can I make deposits for fewer than 15 years?
Yes. Any whole number of deposit years from 1 to 15 works. The balance then keeps earning the same rate with no new deposits until the account matures at year 21; a count above 15 is refused.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/fin/ssy \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"yearly":150000,"rate":8.2,"years":15}'const res = await fetch("https://api.kit.forhosting.com/fin/ssy", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"yearly": 150000,
"rate": 8.2,
"years": 15
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/ssy",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"yearly": 150000,
"rate": 8.2,
"years": 15
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/ssy", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"yearly":150000,"rate":8.2,"years":15}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"yearly":150000,"rate":8.2,"years":15}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/ssy", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"yearly": 150000,
"rate": 8.2,
"years": 15
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.ssy",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Limits
max_years | 15 |
max_yearly | 1000000000000 |
maturity_years | 21 |
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
A negative yearly deposit is rejected with invalid_input instead of a silent negative corpus.
Input contract, response shape, and error behaviour
The scheme does not take deposits after year fifteen, and this contract refuses a count outside that window rather than silently clamping it. Example: one hundred fifty thousand yearly, eight point two percent, and fifteen deposit years is six remaining years, twenty-two lakh fifty thousand deposited, and a maturity at year twenty-one. Failed validation does not consume balance. POST a JSON body with three required finite numbers. yearly is the recurring SSY deposit in one currency, typically Indian rupees although the identity itself is unitless; aliases yearly_deposit, deposit, annual, pmt, and amount are accepted so worksheets can keep familiar column names, and the value must sit between zero and one trillion inclusive. A negative yearly deposit is rejected with invalid_input naming yearly; that is the contracted error and it is not billed, because an SSY account cannot receive a negative contribution. rate is the annual interest as a percent—eight point two means eight point two percent per year, not a decimal 0.082 unless you truly intend eight hundredths of a percent; aliases interest_rate and annual_rate map to the same field. rate must be from zero to one hundred inclusive so that one plus the annual rate stays positive and the power stays finite. years is the deposit window, an integer from one to fifteen inclusive; aliases deposit_years, tenure, and n are accepted. If yearly, rate, or years is missing, non-finite, or otherwise out of range, the task fails with invalid_input naming the field. Each field may arrive as a JSON number or a numeric string. On success the body echoes yearly, rate, and years, reports maturity_years as twenty-one and remaining_years as twenty-one minus years, and returns maturity_value, total_deposited, and interest_earned rounded half-up to two decimal places for stable currency-style goldens, plus a formula string restating the annuity-due closed form with idle compounding.
Where an SSY calculator earns its keep
Households in India use an SSY calculator when they are comparing a fifty-thousand-rupee yearly plan against the one-and-a-half-lakh ceiling over ten or fifteen deposit years and need one number for the maturity corpus plus the cash they will actually lock in. Post-office clerks, bank relationship managers, and goal-based planners need a deterministic oracle that rejects a negative yearly deposit instead of silently showing a negative corpus that a buggy form might treat as success. When you later need a monthly mutual-fund SIP, or a savings plan with an opening deposit beside recurring contributions, switch to those identities rather than stretching this three-field Sukanya Samriddhi contract. Product teams wire the same contract into onboarding demos so a user who types a yearly deposit, a notified percent, and a deposit-year count sees the identical maturity_value the API will later return in production tests. Keep requests small, pin rounded maturity_value and total_deposited in tests, and you get reproducible SSY figures for worksheets, LMS plugins, and edge workers without standing up a spreadsheet service of your own.
Integration use cases
Product demos and CI fixtures
Seed girl-child savings apps and automated tests with deterministic maturity_value and total_deposited that match the free browser widget byte-for-byte.
Technical questions
What does the SSY calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.