81trust / 100

Amortization

by Amortization schedule in Markets & finance

x402 APIPassing, checked 5 h ago

Build the full per-period amortization schedule for a fully-amortizing loan. Each row reports the period number, payment, the principal vs. interest split for that payment, and the remaining balance after that payment. Use this when the user wants to see how interest tapers over the life of the loan, or to model an extra-payment scenario by reading the balance at any period.

POST https://agent402.tools/api/amortization

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
224 ms typical, 224 ms slowest 5%
Last check
5 h ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X POST "https://agent402.tools/api/amortization" \
  -H "content-type: application/json" \
  -d '{"annualRate":0.06,"maxRows":3,"principal":200000,"termYears":30}'
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fagent402.tools%2Fapi%2Famortization
const res = await pay("https://agent402.tools/api/amortization", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({"annualRate":0.06,"maxRows":3,"principal":200000,"termYears":30}),
});
console.log(await res.json());

Example input

{
  "annualRate": 0.06,
  "maxRows": 3,
  "principal": 200000,
  "termYears": 30
}

Example output

{
  "payment": 1199.1,
  "periods": 360,
  "rowsReturned": 3,
  "schedule": [
    {
      "balance": 199800.9,
      "interest": 1000,
      "payment": 1199.1,
      "period": 1,
      "principal": 199.1
    },
    {
      "balance": 199600.8,
      "interest": 999,
      "payment": 1199.1,
      "period": 2,
      "principal": 200.1
    },
    {
      "balance": 199399.71,
      "interest": 998,
      "payment": 1199.1,
      "period": 3,
      "principal": 201.1
    }
  ],
  "totalInterest": 231676.38,
  "totalPaid": 431676.38
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
5 h agoPassed402224 ms$0.001