{"x402Version":2,"name":"finmath","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.","lastUpdated":"2026-06-07T02:12:31.905Z","discoverable":true,"resources":[{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/npv","type":"http","method":"POST","description":"Net present value of a cashflow series at a periodic discount rate.","input":{"body":["rate","cashflows"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"1000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"1000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/irr","type":"http","method":"POST","description":"Internal rate of return of a cashflow series (bracketed solver).","input":{"body":["cashflows"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"1000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"1000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/xnpv","type":"http","method":"POST","description":"NPV for irregularly-dated cashflows (Actual/365).","input":{"body":["rate","cashflows","dates"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"2000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"2000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/xirr","type":"http","method":"POST","description":"IRR for irregularly-dated cashflows (Actual/365).","input":{"body":["cashflows","dates"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"2000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"2000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/cagr","type":"http","method":"POST","description":"Compound annual growth rate between two values over a period.","input":{"body":["begin_value","end_value","years"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"1000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"1000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/cagr_from_series","type":"http","method":"POST","description":"Annualized growth rate from a value series.","input":{"body":["values","periods_per_year"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"2000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"2000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/apr_to_apy","type":"http","method":"POST","description":"Convert APR to APY for a compounding frequency.","input":{"body":["apr","compounds_per_year"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"1000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"1000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/apy_to_apr","type":"http","method":"POST","description":"Convert APY back to APR for a compounding frequency.","input":{"body":["apy","compounds_per_year"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"1000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"1000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/present_value","type":"http","method":"POST","description":"Present value of a future amount.","input":{"body":["amount","rate_per_period","periods"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"1000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"1000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/future_value","type":"http","method":"POST","description":"Future value of a present amount.","input":{"body":["amount","rate_per_period","periods"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"1000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"1000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/pv_annuity","type":"http","method":"POST","description":"Present value of an annuity (ordinary or due).","input":{"body":["payment","rate_per_period","n_periods","due"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"1000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"1000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/fv_annuity","type":"http","method":"POST","description":"Future value of an annuity (ordinary or due).","input":{"body":["payment","rate_per_period","n_periods","due"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"1000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"1000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/loan_amortization","type":"http","method":"POST","description":"Monthly payment + full amortization schedule for a fixed loan.","input":{"body":["principal","annual_rate","n_months"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"3000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"3000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"3000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/black_scholes_option","type":"http","method":"POST","description":"Black-Scholes European option price plus full Greeks.","input":{"body":["spot","strike","time_years","rate","volatility","kind"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"3000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"3000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"3000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/implied_volatility","type":"http","method":"POST","description":"Implied volatility from an option price (BS inversion).","input":{"body":["price","spot","strike","time_years","rate","kind"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"3000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"3000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"3000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/bond_price","type":"http","method":"POST","description":"Price of a coupon bond from yield.","input":{"body":["face","coupon_rate","annual_yield","years","freq"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"2000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"2000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/bond_ytm","type":"http","method":"POST","description":"Yield to maturity from a bond price.","input":{"body":["price","face","coupon_rate","years","freq"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"2000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"2000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/bond_duration","type":"http","method":"POST","description":"Macaulay + modified duration of a bond.","input":{"body":["face","coupon_rate","annual_yield","years","freq"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"2000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"2000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/bond_convexity","type":"http","method":"POST","description":"Convexity of a coupon bond.","input":{"body":["face","coupon_rate","annual_yield","years","freq"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"2000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"2000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/sharpe_ratio","type":"http","method":"POST","description":"Annualized Sharpe ratio of a return series.","input":{"body":["returns","risk_free","periods_per_year"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"2000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"2000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/sortino_ratio","type":"http","method":"POST","description":"Annualized Sortino ratio (downside risk).","input":{"body":["returns","target","periods_per_year"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"2000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"2000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/volatility","type":"http","method":"POST","description":"Annualized volatility (stdev) of returns.","input":{"body":["returns","periods_per_year"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"2000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"2000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/max_drawdown","type":"http","method":"POST","description":"Maximum peak-to-trough drawdown of a value series.","input":{"body":["values"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"2000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"2000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/beta","type":"http","method":"POST","description":"Beta of an asset vs a benchmark.","input":{"body":["asset_returns","benchmark_returns"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"2000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"2000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/correlation","type":"http","method":"POST","description":"Pearson correlation of two series.","input":{"body":["x","y"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"2000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"2000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/value_at_risk","type":"http","method":"POST","description":"Value at Risk (historical or parametric).","input":{"body":["returns","confidence","method"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"2000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"2000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/kelly_criterion","type":"http","method":"POST","description":"Kelly optimal bet fraction (+ half-Kelly).","input":{"body":["win_prob","win_loss_ratio"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"1000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"1000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/impermanent_loss","type":"http","method":"POST","description":"Impermanent loss for a 50/50 AMM at a price ratio.","input":{"body":["price_ratio"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"1000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"1000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/lp_value_vs_hodl","type":"http","method":"POST","description":"LP value vs HODL given a price move.","input":{"body":["price_ratio","initial_value"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"2000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"2000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/perp_liquidation_price","type":"http","method":"POST","description":"Liquidation price for a leveraged perp position.","input":{"body":["entry_price","leverage","side","maintenance_margin_rate"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"2000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"2000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/position_size","type":"http","method":"POST","description":"Position size from risk-per-trade and stop distance.","input":{"body":["account_equity","risk_fraction","entry_price","stop_price"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"2000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"2000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/funding_payment","type":"http","method":"POST","description":"Perp funding payment for an interval.","input":{"body":["position_notional","funding_rate","side"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"1000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"1000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/funding_apr","type":"http","method":"POST","description":"Annualize a perp funding rate.","input":{"body":["funding_rate","intervals_per_day"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"1000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"1000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/staking_yield","type":"http","method":"POST","description":"Compounded staking/yield over time.","input":{"body":["principal","apr","compounds_per_year","years"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"1000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"1000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/uniswap_v3_amounts","type":"http","method":"POST","description":"Token amounts for a Uniswap v3 concentrated position.","input":{"body":["price","lower_price","upper_price","liquidity"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"2000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"2000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/health_factor","type":"http","method":"POST","description":"Lending health factor + liquidatable flag.","input":{"body":["collateral_value","liquidation_threshold","debt_value"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"1000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"1000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/basis_annualized","type":"http","method":"POST","description":"Annualized basis (futures vs spot).","input":{"body":["spot","futures","days_to_expiry"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"1000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"1000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/dca_backtest","type":"http","method":"POST","description":"Dollar-cost-averaging backtest over a price series.","input":{"body":["prices","contribution"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"2000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"2000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://finmath.qzqh5rrbkz.workers.dev/v1/cost_basis","type":"http","method":"POST","description":"Cost basis of a sale (FIFO/LIFO/HIFO).","input":{"body":["lots","sell_qty","method"]},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:137","amount":"2000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:43114","amount":"2000","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x38724Ec63A3686930b1156cD2e8F244445B86cD0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]}]}