Finance Toolkit API

Personal-finance math as a clean JSON API. Loan amortization, early-payoff scenarios, debt snowball vs. avalanche, compound savings, and budget allocation — deterministic, documented, and free to start. No signup for the free tier.

curl -s https://smeltworks.com/financetoolkit/v1/loan/amortization \
  -H 'content-type: application/json' \
  -d '{"principal":32000,"apr":6.4,"term_months":60}'

Get Pro — $9/mo  or start free, no signup · try it in the browser

Not a developer? Use the same math as free calculators in your browser — no signup, nothing to install.

Endpoints

Method & pathWhat it does
POST /v1/loan/amortizationMonthly payment, total interest, full or summarized amortization schedule, and extra-payment payoff scenarios.
POST /v1/debt/planMulti-debt payoff order and month-by-month plan using snowball or avalanche; returns interest saved vs. minimums.
POST /v1/savings/compoundFuture value with recurring contributions, any compounding frequency, optional inflation adjustment.
POST /v1/budget/allocateSplits take-home pay into categories (50/30/20 or custom weights) with per-category dollar targets.
GET /docsInteractive OpenAPI (Swagger) reference — try every endpoint in the browser.

Full machine-readable spec: /openapi.json · Interactive docs: /docs

Free browser calculators

Every endpoint also has a free, no-signup web version — useful for checking a number by hand, and for seeing exactly what the API returns before you integrate it.

Copy-paste examples

Every example below is verified against the live API. Base URL: https://smeltworks.com/financetoolkit

# Debt payoff — snowball vs. avalanche, with the interest difference
curl -s https://smeltworks.com/financetoolkit/v1/debt/plan \
  -H 'content-type: application/json' -d '{
    "debts": [
      {"name":"Card A","balance":4200,"apr":22.9,"min_payment":95},
      {"name":"Card B","balance":1800,"apr":17.5,"min_payment":45}
    ],
    "monthly_budget": 400
  }'
# -> avalanche: 18 months, $992.48 interest (saves $104.05 vs. snowball)

# Compound savings with monthly contributions
curl -s https://smeltworks.com/financetoolkit/v1/savings/compound \
  -H 'content-type: application/json' \
  -d '{"initial":1000,"monthly_contribution":200,"annual_return":7,"years":10}'
# -> final_balance 36626.62, total_growth 11626.62, plus a by_year table

# Budget split from take-home pay
curl -s https://smeltworks.com/financetoolkit/v1/budget/allocate \
  -H 'content-type: application/json' -d '{"monthly_net_income":4200}'
# -> needs 2100, wants 1260, savings_debt 840, plus weekly targets

Pricing

Free
$0
  • 50 requests/day per IP
  • All endpoints
  • No signup, no key
Pro
$9 / month
  • 25,000 requests/day
  • Priority support by email
  • Commercial use
Subscribe with card — $9/mo
Cancel anytime. Card or crypto.

Buying Pro

Card (fastest): subscribe here — secure Stripe checkout, cancel anytime. Then forward your Stripe receipt to [email protected] and your ftk_ key is issued by return email. (Every endpoint also works without a key on the free tier, so you are never blocked while you wait.)

Crypto (instant, self-serve): pay in USDC on Base and claim your key programmatically.

  1. Send 9 USDC (Base network) to:
    0x86b6B133B7364F6654a5B40bf249040B14a629Be
  2. Claim your key with the transaction hash:
    curl -s https://smeltworks.com/financetoolkit/v1/keys/claim \
      -H 'content-type: application/json' \
      -d '{"tx_hash":"0xYOUR_TX","email":"[email protected]"}'
  3. Send it on every request as X-API-Key: ftk_...

Keys are activated once the payment confirms on-chain (usually minutes). Wrong amount or wrong network? Email the tx hash and it gets sorted.

Notes