Every figure below is a live response from the planfi engine — called this request with the exact scenarios on usenino.com, for a Nino-class household. The AI proposes, the engine confirms. No hallucinations.
# 1 · RateAPI — today's best CA 30-yr fixed
curl -X POST https://api.rateapi.dev/v1/decisions \
-H "x-api-key: rk_…" -H "Content-Type: application/json" \
-d '{"decision_type":"financing","context":{"geo":{"state":"CA"}},"borrower":{"credit_score":760},"product_request":{"product_type":"mortgage","intent":"purchase","amount":520000,"term_years":30}}'
# 2 · planfi — affordability at that rate
curl -X POST https://api.planfi.app/v1/tools/analyze_rent_vs_buy \
-H "Authorization: Bearer pft_…" -H "Content-Type: application/json" \
-d '{"purchase_price":650000,"down_payment_percent":0.2,"mortgage_rate":0.0620,"monthly_rent":4000,"magi":450000,"filing_status":"single"}'
→ rate 6.20% → BUY ahead $698,220 at 30ycurl -X POST https://api.planfi.app/v1/tools/run_backtesting \
-H "Authorization: Bearer pft_…" -H "Content-Type: application/json" \
-d '{"portfolio_value":2850000,"annual_spend":114000,"current_age":52,"life_expectancy":90}'
→ success_rate_pct: 98curl -X POST https://api.planfi.app/v1/tools/analyze_iso_amt_crossover \
-H "Authorization: Bearer pft_…" -H "Content-Type: application/json" \
-d '{"ordinary_taxable_income":220000,"filing_status":"single","per_share_bargain":12}'
→ crossover $34,214 · ~2851 shares AMT-freecurl -X POST https://api.planfi.app/v1/tools/analyze_tax_loss_harvesting \
-H "Authorization: Bearer pft_…" -H "Content-Type: application/json" \
-d '{"ordinary_taxable_income":220000,"filing_status":"single","realized_lt_gains":40000,"lots":[{"symbol":"GOOG","cost_basis":60000,"market_value":38000,"term":"long"}]}'
→ tax_benefit $3,988 + NIIT $688curl -X POST https://api.rateapi.dev/v1/decisions \
-H "x-api-key: rk_…" -H "Content-Type: application/json" \
-d '{"decision_type":"financing","context":{"geo":{"state":"CA"}},"borrower":{"credit_score":760},"product_request":{"product_type":"auto_loan","intent":"purchase","amount":45000,"term_years":5}}'
→ best 3.99% · 0 ranked offerscurl -X POST https://api.rateapi.dev/v1/decisions \
-H "x-api-key: rk_…" -H "Content-Type: application/json" \
-d '{"decision_type":"financing","context":{"geo":{"state":"CA"}},"borrower":{"credit_score":760},"product_request":{"product_type":"heloc","intent":"purchase","amount":150000,"term_years":10}}'
→ best 7.75% · 1 ranked offerscurl -X POST https://api.planfi.app/v1/tools/analyze_mega_backdoor_roth \
-H "Authorization: Bearer pft_…" -H "Content-Type: application/json" \
-d '{"age":38,"annual_salary":320000,"employee_401k_contribution":23500,"employer_match_formula":"100_4","magi":340000,"filing_status":"single"}'
→ after_tax_401k_space $35,700 · needs_backdoor_roth: trueplanfi doesn't just run the math and serve the rates — it reports on all of it. Per-member usage analytics come built in: know which tools drive engagement, who your power users are, and where to invest — from a single endpoint, with zero data pipeline to build.
The five live cards above are a slice. Here are others that map straight onto Nino's pillars — every one is a single API/MCP call. Click any to see its live schema.
Frame/Nino's bar is "every insight validated, zero critical hallucinations." planfi is the calculation substrate that clears that bar — 106 tax, retirement, equity, and real-estate tools your agents call instead of guess. We're the math behind your tools, the rates your members see, and the reporting on how they use it all. You keep the agent, the advisor, the UX.
Every tile here is one API call your team doesn't build or maintain — tax law changes every year, rates change every day. Buy the engine; ship the product.