Catalog/pf-compound-interest

Calculators

Compound interest & contribution growth API

Compute the future value of a lump sum plus recurring monthly contributions using the canonical compound-interest formula A = P(1+r/n)^(nt) + PMT·[((1+r/n)^(nt)−1)/(r/n)], returning future value, total contributed, interest earned, growth multiple, and an auditable breakdown — the off-by-one compounding math LLMs get wrong. Answers 'what will 10k at 7% be in 10 years','how much interest will I earn','future value with monthly contributions'.

Price$0.01per request
MethodPOST
Route/v1/calc/pf-compound-interest
StatusLive
MIME typeapplication/json
Rate limit120/minute
CacheNo cache
calccompound-interestfuture-valuesavingsinvestingpersonal-financeannuitygrowth
API URLhttps://x402.hexl.dev/v1/calc/pf-compound-interest
Integration docs
Example request
{
  "principal": 10000,
  "annualRate": 0.07,
  "years": 10,
  "compoundsPerYear": 12,
  "monthlyContribution": 500
}
Example response
{
  "formula": "A = P(1+r/n)^(nt) + PMT·[((1+r/n)^(nt)-1)/(r/n)]",
  "futureValue": 106639.02,
  "totalContributed": 70000,
  "interestEarned": 36639.02,
  "growthMultiple": 1.523,
  "breakdown": {
    "principal": 10000,
    "monthlyContribution": 500,
    "annualRate": 0.07,
    "years": 10,
    "compoundsPerYear": 12,
    "periods": 120
  }
}
Input schema
{
  "type": "object",
  "required": [
    "annualRate",
    "years"
  ],
  "properties": {
    "principal": {
      "type": "number",
      "description": "starting balance",
      "examples": [
        10000
      ]
    },
    "annualRate": {
      "type": "number",
      "description": "annual rate as a decimal, e.g. 0.07",
      "examples": [
        0.07
      ]
    },
    "years": {
      "type": "number",
      "examples": [
        10
      ]
    },
    "compoundsPerYear": {
      "type": "number",
      "description": "default 12",
      "examples": [
        12
      ]
    },
    "monthlyContribution": {
      "type": "number",
      "examples": [
        500
      ]
    }
  }
}
Output schema
{
  "type": "object",
  "additionalProperties": true
}