Skill: Retirement planning
POST /api/skill/retirement-planningBundled execution of the Retirement planning workflow - Will my retirement plan actually work? Project the accumulation phase forward with compound interest, compute the target nest egg from your expected spending, then model the drawdown phase using the same PMT formula a mortgage uses - your retirement is mathematically a loan you're paying yourself. Deterministic numbers, no glossy advisor PowerPoint. One x402 payment runs 5 underlying tools (compound-interest, npv, irr, loan-payment, amortization); partial-success per step.
Input
| Field | Type | Description |
|---|---|---|
scenario * | string | Your retirement scenario (current age, balance, contributions, retirement age, etc.) |
expectedReturn | string | Long-run expected annual return as a decimal (default 0.07 = 7% - historical S&P after inflation runs ~6-7%; use 5% for a conservative bond-heavy mix) |
Example output
{
"pack": "retirement-planning",
"args": {
"scenario": "35 years old with $100,000 saved, contributing $1,500/month, retiring at 65",
"expectedReturn": "0.07"
},
"steps": [
{
"slug": "compound-interest",
"ok": true,
"result": {}
},
{
"slug": "npv",
"ok": true,
"result": {}
},
{
"slug": "irr",
"ok": true,
"result": {}
},
{
"slug": "loan-payment",
"ok": true,
"result": {}
},
{
"slug": "amortization",
"ok": true,
"result": {}
}
],
"summary": "5/5 steps succeeded"
}
Try it - see the 402 challenge (free)
curl -i -X POST https://agent402.tools/api/skill/retirement-planning \
-H "Content-Type: application/json" \
-d '{"scenario":"35 years old with $100,000 saved, contributing $1,500/month, retiring at 65","expectedReturn":"0.07"}'
The response is HTTP 402 Payment Required with exact payment requirements. Any x402 v2 client pays automatically and retries:
Paid call (JavaScript agent)
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client();
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);
const res = await payFetch("https://agent402.tools/api/skill/retirement-planning", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"scenario": "35 years old with $100,000 saved, contributing $1,500/month, retiring at 65",
"expectedReturn": "0.07"
}),
});
No wallet? Pay with compute
This is a pure-CPU tool, so an agent without a wallet can pay with proof-of-work instead of USDC: fetch a challenge, solve the sha256 puzzle (16 leading zero bits - a fraction of a second of CPU, no money, no AI tokens), and resend with the X-Pow-Solution header.
import { createHash } from "node:crypto";
const lz = (b) => { let t = 0; for (const x of b) { if (!x) { t += 8; continue; } t += Math.clz32(x) - 24; break; } return t; };
const c = await (await fetch("https://agent402.tools/api/pow/challenge?slug=skill-retirement-planning")).json();
let n = 0;
while (lz(createHash("sha256").update(c.challenge + ":" + n).digest()) < c.difficulty) n++;
await fetch("https://agent402.tools/api/skill/retirement-planning", { method: "POST", headers: { "X-Pow-Solution": c.token + ":" + n, "Content-Type": "application/json" }, body: JSON.stringify({"scenario":"35 years old with $100,000 saved, contributing $1,500/month, retiring at 65","expectedReturn":"0.07"}) });
Related tools
Skill: Earnings deep-dive
POST /api/skill/earnings-deep-diveBundled execution of the Earnings deep-dive workflow - Everything you need before a company reports: the upcoming earnin…
Skill: Options analytics
POST /api/skill/options-analyticsBundled execution of the Options analytics workflow - Price a European option on a live stock: pull the current quote, e…
Skill: Fixed-income desk
POST /api/skill/fixed-income-deskBundled execution of the Fixed-income desk workflow - Read the rate environment and price a bond in one workflow: the li…