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.
| 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) |
{
"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"
}
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:
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"
}),
});
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"}) });
POST /api/skill/security-auditBundled execution of the Security audit workflow — Enumerate a domain's external attack surface in one workflow: certs, …
POST /api/skill/email-deliverabilityBundled execution of the Email deliverability workflow — Diagnose why a domain's email lands in spam: SPF posture, DMARC…
POST /api/skill/financial-researchBundled execution of the Financial research workflow — Pull SEC filings, real-time quotes, historical prices, and macro …