# Loan Amortization Schedule Builder

> Loan Amortization Schedule Builder is a paid API for AI agents from agent402.tools, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-14).

Generates a full per-period amortization schedule for a fully-amortizing loan, showing payment, principal/interest split, and remaining balance for each period.

## Facts

- Endpoint: POST https://agent402.tools/api/amortization
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/loan-amortization-schedule-builder-046f7d04
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Mpjz2CY45ixFyzDyPSGNB

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability loan-amortization-schedule-builder-046f7d04 -d '<json body>'
```

Example prompt: Can you build me the full monthly amortization schedule for a $350,000 mortgage at 6.5% annual interest over 30 years?

## When to prefer this

Use this endpoint when you need a detailed, period-by-period amortization table showing the exact principal/interest breakdown for each payment over the life of a loan. Prefer this over simple monthly payment calculators when the user wants the full schedule, not just a single payment figure.

## Known failure modes

- Missing required fields (principal, annualRate, termYears) return a validation error
- Non-positive principal or rate values may produce invalid results
- maxRows exceeding 1200 is clamped or rejected
- Zero or negative paymentsPerYear causes division error
- Payment fails due to insufficient USDC balance (x402 payment required)

## How this service works

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.

## Output

An array of amortization rows, each containing the period number, total payment amount, the principal and interest split for that payment, and the remaining loan balance after the payment. By default returns up to 360 rows (monthly for 30 years), capped at 1200 rows maximum.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "maxRows": {
   "type": "number",
   "description": "Cap the number of schedule rows returned (default 360; absolute max 1200 = 100 years monthly). Use a small value to preview just the first few rows."
  },
  "principal": {
   "type": "number",
   "description": "Loan principal (positive)"
  },
  "termYears": {
   "type": "number",
   "description": "Loan term in years"
  },
  "annualRate": {
   "type": "number",
   "description": "Annual interest rate as decimal (0.06 = 6%)"
  },
  "paymentsPerYear": {
   "type": "number",
   "description": "Payments per year (default 12 = monthly)"
  }
 }
}
```

## Response schema (JSON Schema)

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

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/loan-amortization-schedule-builder-046f7d04/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agent402.tools](https://www.zero.xyz/host/agent402.tools/llms.txt)
