ToolAssay

Build the full per-period amortization schedule for a fully-amortizing loan

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.

Answeringour last check, 2026-09-24
1 of 1checks answered this week
949 msmedian answer time
$0.001listed price per call
$0.001price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

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

CategoryMarket data
Provider hostagent402.tools
Networksalgorand:wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8=, eip155:10, eip155:1329, eip155:137, eip155:143, eip155:42161, eip155:42220, eip155:43114, eip155:4663, eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp, stellar:pubnet
Payment schemesexact, upto
Self-reported calls, 30 days5 from 1 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-09-24 valid payment request 402$0.001 949 ms

Example input (from the provider)

{
  "body": {
    "annualRate": 0.06,
    "maxRows": 3,
    "principal": 200000,
    "termYears": 30
  },
  "bodyType": "json",
  "method": "POST",
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "properties": {
            "annualRate": {
              "description": "Annual interest rate as decimal (0.06 = 6%)",
              "type": "number"
            },
            "maxRows": {
              "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.",
              "type": "number"
            },
            "paymentsPerYear": {
              "description": "Payments per year (default 12 = monthly)",
              "type": "number"
            },
            "principal": {
              "description": "Loan principal (positive)",
              "type": "number"
            },
            "termYears": {
              "description": "Loan term in years",
              "type": "number"
            }
          },
          "required": [
            "principal",
            "annualRate",
            "termYears"
          ]
        },
        "bodyType": {
          "enum": [
            "json",
            "form-data",
            "text"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "properties": {
            "payment": {
              "type": "number"
            },
            "periods": {
              "type": "integer"
            },
            "rowsReturned": {
              "type": "integer"
            },
            "schedule": {
              "items": {
                "properties": {
                  "balance": {
                    "type": "number"
                  },
                  "interest": {
                    "type": "integer"
                  },
                  "payment": {
                    "type": "number"
                  },
                  "period": {
                    "type": "integer"
                  },
                  "principal": {
                    "type": "number"
                  }
                },
                "type": "object"
              },
              "type": "array"
            },
            "totalInterest": {
              "type": "number"
            },
            "totalPaid": {
              "type": "number"
            }
          },
          "required": [
            "payment",
            "totalPaid",
            "totalInterest",
            "periods",
            "rowsReturned",
            "schedule"
          ],
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON