{"uid":"cap_tiAuKg8GOLMKdpy5mCIpC","slug":"finmath-bond-duration-calculator-7c58470b","name":"finmath Bond Duration Calculator","description":"Deterministic finance and crypto math for AI agents: TradFi (NPV, IRR, XIRR, Black-Scholes + Greeks, bonds, VaR, Sharpe) and DeFi (impermanent loss, perp liquidation, funding, Uniswap v3, health factor, cost basis). Exact, model-free arithmetic that LLMs get wrong — priced per call in USDC.","url":"https://finmath.qzqh5rrbkz.workers.dev/v1/bond_duration","method":"POST","headers":{},"bodySchema":{"type":"object","required":["face","coupon_rate","annual_yield"],"properties":{"face":{"type":"number","description":"face"},"freq":{"type":"number","description":"freq"},"years":{"type":"number","description":"years"},"coupon_rate":{"type":"number","description":"coupon_rate"},"annual_yield":{"type":"number","description":"annual_yield"}}},"responseSchema":{"type":"object","required":["result","meta"],"properties":{"meta":{"type":"object"},"result":{}}},"example":{"request":{"face":1000,"freq":2,"years":10,"coupon_rate":0.05,"annual_yield":0.04},"response":{"meta":{"tool":"bond_duration","disclaimer":"Deterministic calculation utility. Not financial, investment, or trading advice.","deterministic":true},"result":{"price":1081.7571667229854,"modified":7.922486267785758,"macaulay_years":8.080935993141473}}},"exampleRequest":{"face":1000,"freq":2,"years":10,"coupon_rate":0.05,"annual_yield":0.04},"tags":["x402"],"displayCostAmount":"0.002","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"settled","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_S8lzGNhKqSI7NXKmUJmlX","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Computes the Macaulay or modified duration of a bond given its face value, coupon rate, yield, frequency, and maturity.","exampleAgentPrompt":"What's the duration of a $1000 face value bond with a 5% coupon rate, 4% annual yield, paying semi-annually, with 10 years to maturity?","exampleUseCases":null,"resultDescription":"Returns a result object containing the computed bond duration value (Macaulay or modified duration in years) and a meta object with calculation details. The duration quantifies the weighted average time to receive the bond's cash flows, useful for measuring interest rate sensitivity.","failureModes":["Missing required fields (face, coupon_rate, annual_yield) returns a 4xx validation error","Non-numeric or negative values for financial inputs may cause errors or nonsensical results","Zero or near-zero yield may produce division errors depending on implementation","Insufficient USDC balance or payment failure results in 402 Payment Required","Invalid frequency values (e.g. non-standard periods) may not be handled gracefully"],"whenToPreferThis":"Use this endpoint when you need exact, deterministic bond duration calculations that LLMs cannot reliably perform via mental arithmetic. Prefer this over general-purpose LLM math when working with fixed income instruments requiring precise Macaulay or modified duration for interest rate risk assessment, portfolio immunization, or duration-matched hedging strategies.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-16T00:47:29.230Z","isFirstParty":false}