betteroff_analyze_spending
ChatGPTUse this when the user asks where money went or compares spending across periods. Read category or merchant spending for a period, optionally against an earlier one. Excludes transfers and loan payments; fees and interest count.
betteroff_detect_spending_patterns
ChatGPTUse this when the user asks about spending habits, trends, or unusual transactions. Detect spending patterns: frequent merchants, complete-month trends, and unusual transactions (monthly repeats such as rent excluded). Frequent merchants are habits, not bills; use betteroff_list_recurring for recurring charges.
betteroff_explain_net_worth_change
ChatGPTUse this when the user asks what caused net worth to change between two dates. Reconcile two stored net-worth valuations using asset and liability changes.
betteroff_get_account_flows
ChatGPTUse this when the user asks how much entered or left specific accounts. Gross inflows, gross outflows, and net flow for selected accounts over a date range, aggregated over ALL matches server-side, e.g. 'how much did I deposit into Schwab this year'. Prefer this over betteroff_search_transactions for deposit/withdrawal totals.
betteroff_get_cash_flow
ChatGPTUse this when the user asks about income, expenses, or cash flow. Get income vs expenses for a period with prior-period comparison and projections. Use for cash flow, earned vs spent, or saving questions.
betteroff_get_checklist
ChatGPTUse this when the user asks what to do next, how prepared the household is, or about insurance, estate documents, an emergency fund, retirement accounts, or credit freezes; for an explicit saved tax-review request, use includeTaxReviews to read current scoped results. Get the household's readiness checklist: 0-100 score, 30-day change, and each item's status, evidence, and points. Edits happen in BetterOff. Set includeTaxReviews only for an explicit request to read saved tax reviews; summaries use current saved facts.
betteroff_get_defi_positions
ChatGPTUse this when the user asks about DeFi, lending, staking, or LP positions, or protocol exposure. DeFi exposure by protocol across chains: total value, position count, per-asset breakdown.
betteroff_get_net_worth_history
ChatGPTUse this when the user asks how net worth changed over time. Read stored household valuations over time, paged by cursor. For a two-date explanation use betteroff_explain_net_worth_change.
betteroff_get_overview
ChatGPTUse this when the user asks for a household financial overview or data coverage. Get a compact household picture: latest stored valuation, account coverage, canonical ledger review counts, and the masked login and household name. No provider refresh.
betteroff_get_portfolio
ChatGPTUse this when the user asks about investment holdings, allocation, or concentration. Read portfolio positions, allocation, and concentration for the full filtered portfolio. includePositions false returns the allocation summary; true pages positions by cursor.
betteroff_get_setup_status
ChatGPTUse this when the user asks what is left to set up, whether billing is active, or which connections need reconnecting. Get this household's BetterOff setup status: billing state, connected-account coverage, and connections that need the user to reconnect. Access issues link to support, not checkout. The user manages connections in BetterOff while signed in; this tool cannot start checkout, connect accounts, or change agent access.
betteroff_get_vault_yields
ChatGPTUse this when the user asks for current APYs of the vaults Investing lists. List reported APYs for the yield vaults the user can deposit into from BetterOff Investing (Upshift, and Morpho or Ethena when switched on), with each protocol's source and date. Filter by venue or asset symbol. Returns at most 50 vaults in name order.
betteroff_list_accounts
ChatGPTUse this when the user asks which accounts are connected or wants account balances. Get the user's connected accounts with balances, types, and institutions.
betteroff_list_debts
ChatGPTUse this when the user asks what they owe or which debt terms are missing. Get the user's debts (cards and loans): names with last digits, balances with balanceAsOf, APRs, minimum payments, and totals. Use for debt, interest rate, or payoff-priority questions.
betteroff_list_observations
ChatGPTUse this when the user asks about recorded financial findings and their status. Read recorded household financial findings and their status. Excludes insurance checklist findings. Does not refresh or dismiss findings.
betteroff_list_recurring
ChatGPTUse this when the user asks about recurring bills, subscriptions, or income. Get Plaid-reported recurring streams (active, early, inactive). Not a payment history (use search_transactions) or proof of insurance coverage.
betteroff_search_activity
ChatGPTUse this when the user asks about recorded account changes or correction proposals. Read permitted record changes. For an account's correction proposals (pending or approved), set accountId (via betteroff_list_accounts), actorType=all, action=null; needs corrections:prepare. Omits security events and raw fields.
betteroff_search_markets
ChatGPTUse this when the user asks to find public FX reference rates, Hyperliquid spot or perpetual markets, or prediction outcomes. Search public FX reference rates (USD base), Hyperliquid spot/perpetual markets, and prediction markets. Filter by kind or source to narrow coverage. Returns at most 50 dated observations per page, busiest first by 24-hour USD volume where reported. For the next page, pass page.nextCursor as cursor with the same query, kind, source, and limit.
betteroff_search_transactions
ChatGPTUse this when the user asks to find transactions or total a filtered set of transactions. Search transactions by date, merchant, category, trait, type/class, account, or amount; a summary totals all matches. Brokerage deposits/withdrawals: transactionClass brokerage, transactionTypes transfer_in/transfer_out/deposit/withdrawal.
betteroff_simulate_debt_payoff
ChatGPTUse this when the user asks to compare debt payoff strategies. Simulate paying off debts by avalanche (highest APR first) or snowball (smallest balance first), with an optional extra monthly payment. Refuses with missingInputs when a balance, APR, minimum payment, or FX rate is missing; betteroff_propose_debt_details saves terms the user states. Read-only; never moves money.