Server definition
- Hash
- sha256:02dd1561b6faa70356afa77503f0adbe326da8e30c945c749b319fcf3a32e483
- What it is
- What a remote MCP server returned when asked what it offers: 22 tools
The blob, as servednamed by its sha256
{
"instructions": "Use only for public BetterOff information and educational calculators. This server cannot access customer data, accounts, billing, or authenticated actions.",
"tools": [
{
"description": "Read-only educational calculator. Calculates compound interest from principal, monthly contributions, annual return, years, and annual, monthly, weekly, or daily compounding. Returns a result from caller-supplied public inputs without changing page or account state, accessing BetterOff customer data, or providing personalized financial advice.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"annualFeePct": {
"default": 0,
"description": "Annual fees (%): Deducted from the assumed annual return.",
"maximum": 20,
"minimum": 0,
"type": "number"
},
"annualRatePct": {
"default": 7,
"description": "Annual return (%): Nominal, before inflation.",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"compoundingFrequency": {
"anyOf": [
{
"const": 1,
"type": "number"
},
{
"const": 2,
"type": "number"
},
{
"const": 4,
"type": "number"
},
{
"const": 12,
"type": "number"
},
{
"const": 52,
"type": "number"
},
{
"const": 365,
"type": "number"
}
],
"default": 12,
"description": "Compounding frequency"
},
"contributionTiming": {
"default": "end",
"description": "Contribution timing: Whether each monthly contribution is added before or after that month's growth.",
"enum": [
"beginning",
"end"
],
"type": "string"
},
"monthlyContribution": {
"default": 500,
"description": "Monthly contribution",
"maximum": 1000000,
"minimum": 0,
"type": "number"
},
"principal": {
"default": 10000,
"description": "Initial principal",
"maximum": 1000000000,
"minimum": 0,
"type": "number"
},
"years": {
"default": 20,
"description": "Time horizon (years)",
"maximum": 100,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "calc_compound_interest",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"definitions": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"items": {
"$ref": "#/definitions/__schema0"
},
"type": "array"
},
{
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"propertyNames": {
"type": "string"
},
"type": "object"
}
]
}
},
"properties": {},
"type": "object"
}
},
{
"description": "Read-only educational calculator. Compares dollar-cost averaging versus lump-sum investing across market scenarios with configurable cadence and horizon. Returns a result from caller-supplied public inputs without changing page or account state, accessing BetterOff customer data, or providing personalized financial advice.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"cadence": {
"default": "monthly",
"description": "Contribution cadence: How often the calculator makes an equal DCA purchase.",
"enum": [
"weekly",
"biweekly",
"monthly",
"quarterly"
],
"type": "string"
},
"cashYieldPct": {
"default": 0,
"description": "Annual yield on uninvested cash: Yield earned while cash waits for later DCA purchases.",
"maximum": 30,
"minimum": 0,
"type": "number"
},
"endPrice": {
"default": 140,
"description": "End price: The price used to value both strategies at the end.",
"maximum": 1000000,
"minimum": 0.01,
"type": "number"
},
"feePerPurchase": {
"default": 0,
"description": "Fee per purchase: A flat trading fee deducted from every scheduled purchase.",
"maximum": 10000,
"minimum": 0,
"type": "number"
},
"horizonYears": {
"default": 5,
"description": "Horizon (years): How long DCA takes to invest the full amount.",
"maximum": 40,
"minimum": 0.25,
"type": "number"
},
"scenario": {
"default": "bull",
"description": "Market scenario: A simplified price path for comparison, not a market forecast.",
"enum": [
"bull",
"bear",
"sideways",
"volatile",
"custom"
],
"type": "string"
},
"startPrice": {
"default": 100,
"description": "Start price: The price used for the lump-sum purchase and the first DCA purchase.",
"maximum": 1000000,
"minimum": 0.01,
"type": "number"
},
"totalInvestment": {
"default": 12000,
"description": "Total investment: The same total is invested all at once or divided across the DCA schedule.",
"maximum": 1000000000,
"minimum": 1,
"type": "number"
},
"volatilityPct": {
"default": 20,
"description": "Illustrative path swing (%): Controls a deterministic sine-shaped price swing. It is not statistical volatility or a forecast.",
"maximum": 100,
"minimum": 0,
"type": "number"
}
},
"type": "object"
},
"name": "calc_dca",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"definitions": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"items": {
"$ref": "#/definitions/__schema0"
},
"type": "array"
},
{
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"propertyNames": {
"type": "string"
},
"type": "object"
}
]
}
},
"properties": {},
"type": "object"
}
},
{
"description": "Read-only educational calculator. Runs debt payoff projections across multiple debts using avalanche or snowball strategy and extra monthly payment. Returns a result from caller-supplied public inputs without changing page or account state, accessing BetterOff customer data, or providing personalized financial advice.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"debts": {
"default": [
{
"annualRatePct": 22,
"balance": 15000,
"minimumPayment": 300,
"name": "Credit Card"
},
{
"annualRatePct": 7,
"balance": 12000,
"minimumPayment": 250,
"name": "Car Loan"
}
],
"description": "Debts",
"items": {
"additionalProperties": {},
"properties": {
"annualRatePct": {
"default": 0,
"maximum": 100,
"minimum": 0,
"type": "number"
},
"balance": {
"default": 0,
"maximum": 1000000000,
"minimum": 0,
"type": "number"
},
"minimumPayment": {
"default": 0,
"maximum": 1000000,
"minimum": 0,
"type": "number"
},
"name": {
"default": "Debt",
"maxLength": 64,
"minLength": 1,
"type": "string"
},
"promoMonths": {
"default": 0,
"maximum": 120,
"minimum": 0,
"type": "integer"
},
"promoRatePct": {
"default": 0,
"maximum": 100,
"minimum": 0,
"type": "number"
}
},
"type": "object"
},
"maxItems": 12,
"minItems": 1,
"type": "array"
},
"extraPayment": {
"default": 250,
"description": "Extra monthly payment",
"maximum": 1000000,
"minimum": 0,
"type": "number"
},
"strategy": {
"default": "avalanche",
"description": "Strategy",
"enum": [
"avalanche",
"snowball"
],
"type": "string"
}
},
"type": "object"
},
"name": "calc_debt_payoff",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"definitions": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"items": {
"$ref": "#/definitions/__schema0"
},
"type": "array"
},
{
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"propertyNames": {
"type": "string"
},
"type": "object"
}
]
}
},
"properties": {},
"type": "object"
}
},
{
"description": "Read-only educational calculator. Calculates emergency fund target from monthly expenses and coverage months, tracks progress, and estimates time-to-goal. Returns a result from caller-supplied public inputs without changing page or account state, accessing BetterOff customer data, or providing personalized financial advice.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"currentSavings": {
"default": 5000,
"description": "Current emergency savings",
"maximum": 1000000000,
"minimum": 0,
"type": "number"
},
"insuranceDeductibleReserve": {
"default": 0,
"description": "Insurance deductible reserve: Optional reserve for the largest likely health, home, or auto deductible not already in monthly expenses.",
"maximum": 1000000000,
"minimum": 0,
"type": "number"
},
"monthlyExpenses": {
"default": 4000,
"description": "Monthly essential expenses: Housing, food, utilities, insurance, debt minimums.",
"maximum": 1000000,
"minimum": 0,
"type": "number"
},
"monthlySavingsRate": {
"default": 500,
"description": "Monthly savings rate: Amount directed toward this goal each month.",
"maximum": 1000000,
"minimum": 0,
"type": "number"
},
"monthsCoverage": {
"anyOf": [
{
"const": 3,
"type": "number"
},
{
"const": 6,
"type": "number"
},
{
"const": 9,
"type": "number"
},
{
"const": 12,
"type": "number"
}
],
"default": 6,
"description": "Months of coverage"
},
"variableIncomeBufferMonths": {
"default": 0,
"description": "Extra variable-income buffer (months): Optional additional coverage for commissions, contract work, seasonal income, or a single-income household.",
"maximum": 12,
"minimum": 0,
"type": "number"
}
},
"type": "object"
},
"name": "calc_emergency_fund",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"definitions": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"items": {
"$ref": "#/definitions/__schema0"
},
"type": "array"
},
{
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"propertyNames": {
"type": "string"
},
"type": "object"
}
]
}
},
"properties": {},
"type": "object"
}
},
{
"description": "Read-only educational calculator. Estimates financial independence target from annual expenses, withdrawal rate, current savings, monthly investment, and return assumptions. Returns a result from caller-supplied public inputs without changing page or account state, accessing BetterOff customer data, or providing personalized financial advice.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"annualContributionGrowthPct": {
"default": 0,
"description": "Annual investment growth (%): Annual increase in the monthly investment amount.",
"maximum": 20,
"minimum": 0,
"type": "number"
},
"annualExpenses": {
"default": 60000,
"description": "Annual expenses: Yearly spending to sustain after retirement.",
"maximum": 2000000,
"minimum": 0,
"type": "number"
},
"annualFeePct": {
"default": 0,
"description": "Annual investment fees (%): Deducted from the assumed return.",
"maximum": 10,
"minimum": 0,
"type": "number"
},
"annualReturnPct": {
"default": 7,
"description": "Expected annual return (%): Pre-inflation return on invested assets.",
"maximum": 30,
"minimum": -20,
"type": "number"
},
"currentSavings": {
"default": 200000,
"description": "Current invested assets",
"maximum": 10000000000,
"minimum": 0,
"type": "number"
},
"inflationRatePct": {
"default": 2.5,
"description": "Inflation rate (%)",
"maximum": 20,
"minimum": 0,
"type": "number"
},
"monthlyInvestment": {
"default": 2000,
"description": "Monthly investment",
"maximum": 1000000,
"minimum": 0,
"type": "number"
},
"otherAnnualIncome": {
"default": 0,
"description": "Other annual retirement income: Pension, Social Security, or work income that reduces expenses funded by the portfolio.",
"maximum": 2000000,
"minimum": 0,
"type": "number"
},
"projectionMode": {
"default": "nominal",
"description": "Projection mode",
"enum": [
"nominal",
"inflation-adjusted"
],
"type": "string"
},
"withdrawalRatePct": {
"default": 4,
"description": "Safe withdrawal rate (%): Percentage of portfolio withdrawn annually in retirement.",
"maximum": 10,
"minimum": 2,
"type": "number"
}
},
"type": "object"
},
"name": "calc_fire",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"definitions": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"items": {
"$ref": "#/definitions/__schema0"
},
"type": "array"
},
{
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"propertyNames": {
"type": "string"
},
"type": "object"
}
]
}
},
"properties": {},
"type": "object"
}
},
{
"description": "Read-only educational calculator. Estimates impermanent loss from initial investment and token price multipliers in a 50/50 constant-product AMM. Returns a result from caller-supplied public inputs without changing page or account state, accessing BetterOff customer data, or providing personalized financial advice.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"initialInvestment": {
"default": 10000,
"description": "Initial capital",
"maximum": 1000000000,
"minimum": 0,
"type": "number"
},
"priceChangeA": {
"default": 1.5,
"description": "Token A price multiplier: 1.0 = unchanged, 2.0 = doubled, 0.5 = halved.",
"exclusiveMinimum": 0,
"maximum": 100,
"type": "number"
},
"priceChangeB": {
"default": 1,
"description": "Token B price multiplier: 1.0 = unchanged, 2.0 = doubled, 0.5 = halved.",
"exclusiveMinimum": 0,
"maximum": 100,
"type": "number"
}
},
"type": "object"
},
"name": "calc_impermanent_loss",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"definitions": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"items": {
"$ref": "#/definitions/__schema0"
},
"type": "array"
},
{
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"propertyNames": {
"type": "string"
},
"type": "object"
}
]
}
},
"properties": {},
"type": "object"
}
},
{
"description": "Read-only educational calculator. Projects purchasing power erosion from a present amount, year horizon, and annual inflation rate percent. Returns a result from caller-supplied public inputs without changing page or account state, accessing BetterOff customer data, or providing personalized financial advice.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"amount": {
"default": 100000,
"description": "Current amount",
"maximum": 1000000000,
"minimum": 0,
"type": "number"
},
"categoryRates": {
"default": [],
"description": "Optional category assumptions: Weighted household categories override the single general rate when supplied.",
"items": {
"additionalProperties": {},
"properties": {
"inflationRatePct": {
"maximum": 200,
"minimum": 0,
"type": "number"
},
"name": {
"maxLength": 64,
"minLength": 1,
"type": "string"
},
"sharePct": {
"exclusiveMinimum": 0,
"maximum": 100,
"type": "number"
}
},
"required": [
"name",
"sharePct",
"inflationRatePct"
],
"type": "object"
},
"maxItems": 12,
"type": "array"
},
"inflationRatePct": {
"default": 3,
"description": "Annual inflation rate (%): This calculator assumes the same rate every year.",
"maximum": 50,
"minimum": 0,
"type": "number"
},
"years": {
"default": 10,
"description": "Time horizon (years)",
"maximum": 40,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "calc_inflation",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"definitions": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"items": {
"$ref": "#/definitions/__schema0"
},
"type": "array"
},
{
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"propertyNames": {
"type": "string"
},
"type": "object"
}
]
}
},
"properties": {},
"type": "object"
}
},
{
"description": "Read-only educational calculator. Calculates total return, annualized return (CAGR), and dollar gain from initial investment, final value, years, and dividends. Returns a result from caller-supplied public inputs without changing page or account state, accessing BetterOff customer data, or providing personalized financial advice.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"dividendsReceived": {
"default": 0,
"description": "Dividends received: Cumulative cash dividends over the holding period.",
"maximum": 1000000000,
"minimum": 0,
"type": "number"
},
"feesPaid": {
"default": 0,
"description": "Fees paid: Cumulative fees not already reflected in the ending value.",
"maximum": 1000000000,
"minimum": 0,
"type": "number"
},
"finalValue": {
"default": 15000,
"description": "Final value: Market value at the end of the holding period.",
"maximum": 1000000000,
"minimum": 0,
"type": "number"
},
"initialInvestment": {
"default": 10000,
"description": "Initial investment",
"maximum": 1000000000,
"minimum": 0.01,
"type": "number"
},
"years": {
"default": 5,
"description": "Holding period (years)",
"maximum": 100,
"minimum": 0.01,
"type": "number"
}
},
"type": "object"
},
"name": "calc_investment_return",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"definitions": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"items": {
"$ref": "#/definitions/__schema0"
},
"type": "array"
},
{
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"propertyNames": {
"type": "string"
},
"type": "object"
}
]
}
},
"properties": {},
"type": "object"
}
},
{
"description": "Read-only educational calculator. Calculates monthly PITI mortgage payment, total interest, total cost, and builds amortization schedule from home price, down payment, rate, and term. Returns a result from caller-supplied public inputs without changing page or account state, accessing BetterOff customer data, or providing personalized financial advice.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"annualInsurance": {
"default": 1200,
"description": "Annual insurance",
"maximum": 200000,
"minimum": 0,
"type": "number"
},
"annualPmiRatePct": {
"default": 0.8,
"description": "Annual PMI rate (%): Applies when the down payment is under 20%; use the rate from a loan estimate when available.",
"maximum": 5,
"minimum": 0,
"type": "number"
},
"annualRatePct": {
"default": 6.5,
"description": "Interest rate (%): Fixed annual note rate before fees.",
"maximum": 25,
"minimum": 0,
"type": "number"
},
"annualTax": {
"default": 4800,
"description": "Annual property tax",
"maximum": 500000,
"minimum": 0,
"type": "number"
},
"closingCosts": {
"default": 0,
"description": "Closing costs: Upfront lender and transaction costs, excluding the down payment.",
"maximum": 1000000,
"minimum": 0,
"type": "number"
},
"downPaymentPct": {
"default": 20,
"description": "Down payment (%): Percentage of home price paid upfront as equity.",
"maximum": 95,
"minimum": 0,
"type": "number"
},
"extraPrincipalMonthly": {
"default": 0,
"description": "Extra principal each month: Additional principal payment used to shorten payoff and reduce interest.",
"maximum": 1000000,
"minimum": 0,
"type": "number"
},
"homePrice": {
"default": 400000,
"description": "Home price",
"maximum": 10000000,
"type": "number"
},
"loanTermYears": {
"default": 30,
"description": "Loan term (years)",
"maximum": 50,
"minimum": 5,
"type": "integer"
},
"monthlyHOA": {
"default": 0,
"description": "Monthly HOA: Monthly homeowners association fee, if applicable.",
"maximum": 10000,
"minimum": 0,
"type": "number"
},
"monthlyMaintenance": {
"default": 0,
"description": "Monthly maintenance reserve: Optional owner-paid maintenance budget; not part of PITI.",
"maximum": 100000,
"minimum": 0,
"type": "number"
}
},
"type": "object"
},
"name": "calc_mortgage",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"definitions": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"items": {
"$ref": "#/definitions/__schema0"
},
"type": "array"
},
{
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"propertyNames": {
"type": "string"
},
"type": "object"
}
]
}
},
"properties": {},
"type": "object"
}
},
{
"description": "Read-only educational calculator. Calculates net worth from asset and debt entries, plus liquid net worth and debt percentage of assets. Returns a result from caller-supplied public inputs without changing page or account state, accessing BetterOff customer data, or providing personalized financial advice.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"asOfDate": {
"description": "Snapshot date: Date the overall snapshot represents. Add source and valuation date to each item where available.",
"maxLength": 32,
"type": "string"
},
"assets": {
"default": [],
"description": "Asset categories",
"items": {
"additionalProperties": {},
"properties": {
"category": {
"default": "custom",
"maxLength": 32,
"type": "string"
},
"id": {
"maxLength": 96,
"type": "string"
},
"name": {
"default": "Other asset",
"maxLength": 64,
"minLength": 1,
"type": "string"
},
"source": {
"maxLength": 120,
"type": "string"
},
"valuationDate": {
"maxLength": 32,
"type": "string"
},
"value": {
"default": 0,
"maximum": 1000000000,
"minimum": 0,
"type": "number"
}
},
"type": "object"
},
"maxItems": 20,
"minItems": 0,
"type": "array"
},
"debts": {
"default": [],
"description": "Debt categories",
"items": {
"additionalProperties": {},
"properties": {
"category": {
"default": "custom",
"maxLength": 32,
"type": "string"
},
"id": {
"maxLength": 96,
"type": "string"
},
"name": {
"default": "Other debt",
"maxLength": 64,
"minLength": 1,
"type": "string"
},
"source": {
"maxLength": 120,
"type": "string"
},
"valuationDate": {
"maxLength": 32,
"type": "string"
},
"value": {
"default": 0,
"maximum": 1000000000,
"minimum": 0,
"type": "number"
}
},
"type": "object"
},
"maxItems": 20,
"minItems": 0,
"type": "array"
}
},
"type": "object"
},
"name": "calc_net_worth",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"definitions": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"items": {
"$ref": "#/definitions/__schema0"
},
"type": "array"
},
{
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"propertyNames": {
"type": "string"
},
"type": "object"
}
]
}
},
"properties": {},
"type": "object"
}
},
{
"description": "Read-only educational calculator. Estimates 2026 take-home pay from salary or hourly wages, pay frequency, filing status, state, W-4 settings, FICA, and pre-tax deductions. Returns a result from caller-supplied public inputs without changing page or account state, accessing BetterOff customer data, or providing personalized financial advice.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"dependentsCreditAnnual": {
"default": 0,
"description": "W-4 Step 3 credits",
"maximum": 1000000,
"minimum": 0,
"type": "number"
},
"extraWithholdingPerPaycheck": {
"default": 0,
"description": "Extra withholding per paycheck",
"maximum": 1000000,
"minimum": 0,
"type": "number"
},
"filingStatus": {
"default": "single",
"description": "Filing status",
"enum": [
"single",
"married",
"headOfHousehold"
],
"type": "string"
},
"grossAnnual": {
"default": 75000,
"description": "Annual salary",
"maximum": 1000000000,
"minimum": 0,
"type": "number"
},
"healthPremiumPerPaycheck": {
"default": 0,
"description": "Health premiums per paycheck",
"maximum": 1000000,
"minimum": 0,
"type": "number"
},
"hourlyRate": {
"default": 30,
"description": "Hourly rate",
"maximum": 1000000,
"minimum": 0,
"type": "number"
},
"hoursPerWeek": {
"default": 40,
"description": "Hours per week",
"maximum": 168,
"minimum": 0,
"type": "number"
},
"hsaPerPaycheck": {
"default": 0,
"description": "HSA or other pre-tax benefits",
"maximum": 1000000,
"minimum": 0,
"type": "number"
},
"incomeMode": {
"default": "salary",
"description": "Pay type",
"enum": [
"salary",
"hourly"
],
"type": "string"
},
"multipleJobs": {
"default": false,
"description": "W-4 multiple-jobs checkbox",
"type": "boolean"
},
"payFrequency": {
"default": "biweekly",
"description": "Pay frequency",
"enum": [
"weekly",
"biweekly",
"semimonthly",
"monthly"
],
"type": "string"
},
"retirement401kPct": {
"default": 6,
"description": "401(k) contribution: Traditional pre-tax contribution as a percentage of gross pay.",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"stateCode": {
"default": "CA",
"description": "State",
"enum": [
"AL",
"AK",
"AZ",
"AR",
"CA",
"CO",
"CT",
"DC",
"DE",
"FL",
"GA",
"HI",
"ID",
"IL",
"IN",
"IA",
"KS",
"KY",
"LA",
"ME",
"MD",
"MA",
"MI",
"MN",
"MS",
"MO",
"MT",
"NE",
"NV",
"NH",
"NJ",
"NM",
"NY",
"NC",
"ND",
"OH",
"OK",
"OR",
"PA",
"RI",
"SC",
"SD",
"TN",
"TX",
"UT",
"VT",
"VA",
"WA",
"WV",
"WI",
"WY",
"custom"
],
"type": "string"
},
"stateRatePct": {
"default": 5,
"description": "Estimated state rate: Used for states without a dated calculator profile.",
"maximum": 20,
"minimum": 0,
"type": "number"
}
},
"type": "object"
},
"name": "calc_paycheck",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"definitions": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"items": {
"$ref": "#/definitions/__schema0"
},
"type": "array"
},
{
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"propertyNames": {
"type": "string"
},
"type": "object"
}
]
}
},
"properties": {},
"type": "object"
}
},
{
"description": "Read-only educational calculator. Calculates an illustrative portfolio allocation across U.S. stocks, international stocks, bonds, and cash based on years to retirement and risk tolerance. Returns a result from caller-supplied public inputs without changing page or account state, accessing BetterOff customer data, or providing personalized financial advice.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"currentAge": {
"default": 35,
"description": "Current age",
"maximum": 80,
"minimum": 18,
"type": "integer"
},
"portfolioValue": {
"default": 100000,
"description": "Portfolio value: Your current invested assets.",
"maximum": 100000000,
"minimum": 0,
"type": "number"
},
"retirementAge": {
"default": 65,
"description": "Retirement age",
"maximum": 90,
"minimum": 40,
"type": "integer"
},
"riskCapacity": {
"default": "moderate",
"description": "Capacity to absorb losses: Financial ability to tolerate losses, separate from willingness to take risk. The more conservative of the two governs the illustration.",
"enum": [
"conservative",
"moderate",
"aggressive"
],
"type": "string"
},
"riskTolerance": {
"default": "moderate",
"description": "Risk tolerance",
"enum": [
"conservative",
"moderate",
"aggressive"
],
"type": "string"
}
},
"type": "object"
},
"name": "calc_portfolio_allocation",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"definitions": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"items": {
"$ref": "#/definitions/__schema0"
},
"type": "array"
},
{
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"propertyNames": {
"type": "string"
},
"type": "object"
}
]
}
},
"properties": {},
"type": "object"
}
},
{
"description": "Read-only educational calculator. Projects retirement savings from age, contributions, return assumptions, and income target, returns the year-by-year balance at each age, then estimates the gap using a 4% withdrawal assumption. Returns a result from caller-supplied public inputs without changing page or account state, accessing BetterOff customer data, or providing personalized financial advice.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"annualContributionGrowthPct": {
"default": 0,
"description": "Annual contribution growth (%): Increase applied to monthly contributions after each projection year.",
"maximum": 20,
"minimum": 0,
"type": "number"
},
"annualFeePct": {
"default": 0,
"description": "Annual investment fees (%): Deducted from the assumed annual return.",
"maximum": 10,
"minimum": 0,
"type": "number"
},
"annualReturnPct": {
"default": 7,
"description": "Expected annual return (%): Nominal annual return before inflation.",
"maximum": 30,
"minimum": -20,
"type": "number"
},
"currentAge": {
"default": 35,
"description": "Current age",
"maximum": 80,
"minimum": 18,
"type": "integer"
},
"currentSavings": {
"default": 150000,
"description": "Current retirement savings",
"maximum": 50000000,
"minimum": 0,
"type": "number"
},
"desiredMonthlyIncome": {
"default": 6000,
"description": "Desired retirement income: Monthly income target in retirement.",
"maximum": 100000,
"minimum": 0,
"type": "number"
},
"displayMode": {
"default": "nominal",
"description": "Projection mode",
"enum": [
"nominal",
"inflation_adjusted"
],
"type": "string"
},
"inflationRatePct": {
"default": 2.5,
"description": "Inflation rate (%)",
"maximum": 20,
"minimum": 0,
"type": "number"
},
"monthlyContribution": {
"default": 1500,
"description": "Monthly contribution",
"maximum": 1000000,
"minimum": 0,
"type": "number"
},
"otherMonthlyIncome": {
"default": 0,
"description": "Other monthly retirement income: Expected Social Security, pension, or other income that reduces the amount the portfolio must provide.",
"maximum": 100000,
"minimum": 0,
"type": "number"
},
"retirementAge": {
"default": 65,
"description": "Retirement age",
"maximum": 90,
"minimum": 30,
"type": "integer"
},
"withdrawalRatePct": {
"default": 4,
"description": "Withdrawal-rate assumption (%): Planning assumption only; it is not guaranteed to be safe.",
"maximum": 10,
"minimum": 1,
"type": "number"
}
},
"type": "object"
},
"name": "calc_retirement",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"definitions": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"items": {
"$ref": "#/definitions/__schema0"
},
"type": "array"
},
{
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"propertyNames": {
"type": "string"
},
"type": "object"
}
]
}
},
"properties": {},
"type": "object"
}
},
{
"description": "Read-only educational calculator. Calculates a savings-goal timeline, required monthly savings, and weekly equivalent from a target, current balance, return, and deadline. Returns a result from caller-supplied public inputs without changing page or account state, accessing BetterOff customer data, or providing personalized financial advice.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"annualFeePct": {
"default": 0,
"description": "Annual fees (%): Deducted from the assumed annual return.",
"maximum": 20,
"minimum": 0,
"type": "number"
},
"annualReturnPct": {
"default": 5,
"description": "Annual return (%): Nominal pre-inflation return.",
"maximum": 20,
"minimum": 0,
"type": "number"
},
"currentSavings": {
"default": 3000,
"description": "Current savings",
"maximum": 1000000000,
"minimum": 0,
"type": "number"
},
"goalAmount": {
"default": 25000,
"description": "Goal amount",
"maximum": 1000000000,
"minimum": 1,
"type": "number"
},
"mode": {
"default": "time_to_goal",
"enum": [
"time_to_goal",
"required_monthly"
],
"type": "string"
},
"monthlyContribution": {
"default": 500,
"description": "Monthly contribution",
"maximum": 1000000,
"minimum": 0,
"type": "number"
},
"targetMonths": {
"default": 24,
"description": "Target timeline (months): Used to calculate required monthly contribution.",
"maximum": 1200,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "calc_savings_goal",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"definitions": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"items": {
"$ref": "#/definitions/__schema0"
},
"type": "array"
},
{
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"propertyNames": {
"type": "string"
},
"type": "object"
}
]
}
},
"properties": {},
"type": "object"
}
},
{
"description": "Read-only educational calculator. Normalizes mixed-interval subscriptions into monthly-equivalent costs, ranks by impact, and computes triage savings, category totals, and future-price scenarios. Returns a result from caller-supplied public inputs without changing page or account state, accessing BetterOff customer data, or providing personalized financial advice.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"opportunityHorizonYears": {
"default": 10,
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"opportunityReturnPct": {
"default": 7,
"maximum": 30,
"minimum": 0,
"type": "number"
},
"subscriptions": {
"default": [],
"description": "Subscriptions",
"items": {
"additionalProperties": {},
"properties": {
"billingAmount": {
"maximum": 1000000000,
"minimum": 0,
"type": "number"
},
"billingInterval": {
"default": "monthly",
"enum": [
"weekly",
"monthly",
"quarterly",
"annual"
],
"type": "string"
},
"category": {
"default": "boxes-other",
"enum": [
"streaming-video",
"music-audio",
"cloud-storage",
"fitness",
"news-reading",
"software-apps",
"gaming",
"delivery-memberships",
"boxes-other"
],
"type": "string"
},
"futureBillingAmount": {
"maximum": 1000000000,
"minimum": 0,
"type": "number"
},
"id": {
"maxLength": 96,
"minLength": 1,
"type": "string"
},
"lastUsed": {
"enum": [
"this-week",
"this-month",
"cant-remember"
],
"type": "string"
},
"name": {
"maxLength": 64,
"minLength": 1,
"type": "string"
},
"priceChangeNote": {
"default": "",
"maxLength": 120,
"type": "string"
},
"shareCount": {
"default": 1,
"maximum": 12,
"minimum": 1,
"type": "integer"
},
"source": {
"default": "custom",
"enum": [
"picker",
"custom"
],
"type": "string"
},
"verdict": {
"enum": [
"keep",
"unsure",
"cancel"
],
"type": "string"
}
},
"required": [
"name",
"billingAmount"
],
"type": "object"
},
"maxItems": 40,
"type": "array"
}
},
"type": "object"
},
"name": "calc_subscription_cost",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"definitions": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"items": {
"$ref": "#/definitions/__schema0"
},
"type": "array"
},
{
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"propertyNames": {
"type": "string"
},
"type": "object"
}
]
}
},
"properties": {},
"type": "object"
}
},
{
"description": "Use this when an agent needs to run two inputs through the same free public calculator. Returns both results without ranking or personalized advice.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"calculator": {
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"firstInputJson": {
"maxLength": 16384,
"minLength": 2,
"type": "string"
},
"secondInputJson": {
"maxLength": 16384,
"minLength": 2,
"type": "string"
}
},
"required": [
"calculator",
"firstInputJson",
"secondInputJson"
],
"type": "object"
},
"name": "compare_public_scenarios",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"definitions": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"items": {
"$ref": "#/definitions/__schema0"
},
"type": "array"
},
{
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"propertyNames": {
"type": "string"
},
"type": "object"
}
]
}
},
"properties": {},
"type": "object"
}
},
{
"description": "Use this when an agent needs public details about one BetterOff feature from the allow-listed corpus. Do not use it for authenticated product state.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"feature": {
"maxLength": 160,
"minLength": 1,
"type": "string"
}
},
"required": [
"feature"
],
"type": "object"
},
"name": "get_feature_details",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"definitions": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"items": {
"$ref": "#/definitions/__schema0"
},
"type": "array"
},
{
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"propertyNames": {
"type": "string"
},
"type": "object"
}
]
}
},
"properties": {},
"type": "object"
}
},
{
"description": "Use this when an agent needs BetterOff's canonical public pricing facts and assumptions. Do not use it for customer billing or account data.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "get_pricing",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"definitions": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"items": {
"$ref": "#/definitions/__schema0"
},
"type": "array"
},
{
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"propertyNames": {
"type": "string"
},
"type": "object"
}
]
}
},
"properties": {},
"type": "object"
}
},
{
"description": "Use this before running a calculator to retrieve its exact bounded input schema, output schema, methodology, assumptions, and canonical source.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"calculator": {
"maxLength": 80,
"minLength": 1,
"type": "string"
}
},
"required": [
"calculator"
],
"type": "object"
},
"name": "get_public_calculator_contract",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"definitions": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"items": {
"$ref": "#/definitions/__schema0"
},
"type": "array"
},
{
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"propertyNames": {
"type": "string"
},
"type": "object"
}
]
}
},
"properties": {},
"type": "object"
}
},
{
"description": "Use this to discover BetterOff's free public calculators before choosing one. Results contain canonical URLs and never access customer data.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"category": {
"enum": [
"personal-finance",
"investing",
"crypto",
"real-estate",
"business",
"utility"
],
"type": "string"
},
"limit": {
"default": 15,
"maximum": 25,
"minimum": 1,
"type": "integer"
},
"query": {
"maxLength": 160,
"minLength": 1,
"type": "string"
}
},
"type": "object"
},
"name": "list_public_calculators",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"definitions": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"items": {
"$ref": "#/definitions/__schema0"
},
"type": "array"
},
{
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"propertyNames": {
"type": "string"
},
"type": "object"
}
]
}
},
"properties": {},
"type": "object"
}
},
{
"description": "Use this when an agent needs to run one free public BetterOff calculator with bounded JSON input. Results are educational calculations, not personalized financial advice.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"calculator": {
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"inputJson": {
"maxLength": 16384,
"minLength": 2,
"type": "string"
}
},
"required": [
"calculator",
"inputJson"
],
"type": "object"
},
"name": "run_public_calculator",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"definitions": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"items": {
"$ref": "#/definitions/__schema0"
},
"type": "array"
},
{
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"propertyNames": {
"type": "string"
},
"type": "object"
}
]
}
},
"properties": {},
"type": "object"
}
},
{
"description": "Use this when an agent needs to search BetterOff public product, pricing, trust, or calculator documents. Do not use it for customer, household, account, or personalized financial data.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"query": {
"maxLength": 512,
"minLength": 1,
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search_public_docs",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"definitions": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"items": {
"$ref": "#/definitions/__schema0"
},
"type": "array"
},
{
"additionalProperties": {
"$ref": "#/definitions/__schema0"
},
"propertyNames": {
"type": "string"
},
"type": "object"
}
]
}
},
"properties": {},
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:02dd1561b6faa70356afa77503f0adbe326da8e30c945c749b319fcf3a32e483 | sha256sum