Api Endpoint

Amortization schedule

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.

Open interactive test console

Offering

Provider
agent402.tools
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Financial Analysis
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://agent402.tools/api/amortization
MIME type
application/json
First seen
2026-10-16T01:50:53.972Z
Last seen
Tags
Data, Finance, loan, mortgage, amortization

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.001 USDC
Atomic price: 1000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 2
0.001 USDC
Atomic price: 1000 · Network: eip155:137 · Asset: USDC · Scheme: exact
Payment option 3
0.001 USDC
Atomic price: 1000 · Network: eip155:42161 · Asset: USDC · Scheme: exact
Payment option 4
0.001 USDC
Atomic price: 1000 · Network: eip155:143 · Asset: USDC · Scheme: exact
Payment option 5
0.001 USDC
Atomic price: 1000 · Network: eip155:43114 · Asset: USDC · Scheme: exact
Payment option 6
1000 atomic units
Atomic price: 1000 · Network: eip155:1329 · Asset: 0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392 · Scheme: exact
Payment option 7
0.002 USDC
Atomic price: 2000 · Network: eip155:10 · Asset: USDC · Scheme: exact
Payment option 8
0.005 USDC
Atomic price: 5000 · Network: eip155:4663 · Asset: USDC · Scheme: exact
Payment option 9
1000 atomic units
Atomic price: 1000 · Network: eip155:42220 · Asset: 0xcebA9300f2b948710d2653dD7B07f33A8B32118C · Scheme: exact
Payment option 10
1000 atomic units
Atomic price: 1000 · Network: eip155:5042 · Asset: 0x3600000000000000000000000000000000000000 · Scheme: exact
Payment option 11
0.001 USDC
Atomic price: 1000 · Network: eip155:8453 · Asset: USDC · Scheme: upto
Payment option 12
0.001 USDC
Atomic price: 1000 · Network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: USDC · Scheme: exact
Payment option 13
10000 atomic units
Atomic price: 10000 · Network: stellar:pubnet · Asset: CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75 · Scheme: exact
Payment option 14
1000 atomic units
Atomic price: 1000 · Network: algorand:wGHE2Pwdvd7S12BL5FaOP20EGYesN73k · Asset: 31566704 · Scheme: exact
Payment option 15
0.001 USDC
Atomic price: 1000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 16
1000 atomic units
Atomic price: 1000 · Network: eip155:5042 · Asset: 0x3600000000000000000000000000000000000000 · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "1000",
    "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0"
  },
  {
    "scheme": "exact",
    "network": "eip155:137",
    "asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
    "amount": "1000",
    "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0"
  },
  {
    "scheme": "exact",
    "network": "eip155:42161",
    "asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
    "amount": "1000",
    "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0"
  },
  {
    "scheme": "exact",
    "network": "eip155:143",
    "asset": "0x754704Bc059F8C67012fEd69BC8A327a5aafb603",
    "amount": "1000",
    "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0"
  },
  {
    "scheme": "exact",
    "network": "eip155:43114",
    "asset": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",
    "amount": "1000",
    "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0"
  },
  {
    "scheme": "exact",
    "network": "eip155:1329",
    "asset": "0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392",
    "amount": "1000",
    "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0"
  },
  {
    "scheme": "exact",
    "network": "eip155:10",
    "asset": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
    "amount": "2000",
    "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0"
  },
  {
    "scheme": "exact",
    "network": "eip155:4663",
    "asset": "0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168",
    "amount": "5000",
    "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0"
  },
  {
    "scheme": "exact",
    "network": "eip155:42220",
    "asset": "0xcebA9300f2b948710d2653dD7B07f33A8B32118C",
    "amount": "1000",
    "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0"
  },
  {
    "scheme": "exact",
    "network": "eip155:5042",
    "asset": "0x3600000000000000000000000000000000000000",
    "amount": "1000",
    "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0"
  },
  {
    "scheme": "upto",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "1000",
    "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0"
  },
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "1000",
    "payTo": "J7aN3PLJnTCF5qpEnvJHJsnCjcGuqC2rYtEM8Gv3xwg"
  },
  {
    "scheme": "exact",
    "network": "stellar:pubnet",
    "asset": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75",
    "amount": "10000",
    "payTo": "GDNJXCKW7ZM7GEEVP674TWPU26YJNBQ2FI4ZIPRKTPTNUEJMDHFJWWRL"
  },
  {
    "scheme": "exact",
    "network": "algorand:wGHE2Pwdvd7S12BL5FaOP20EGYesN73k",
    "asset": "31566704",
    "amount": "1000",
    "payTo": "C7IIHG7SPLPZ5H7ZT6HW3UV2OQMQQE6Y2HBNGZXSLRJULE42BEE2OY2XIE"
  },
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "1000",
    "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0"
  },
  {
    "scheme": "exact",
    "network": "eip155:5042",
    "asset": "0x3600000000000000000000000000000000000000",
    "amount": "1000",
    "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0"
  }
]

Observed health

Status
Healthy
Latest latency
2852 ms
Average latency
1093 ms
HTTP status
204
Last checked
Reachability
100% over 6 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "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 schema

{
  "$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"
}