{"name":"treasury.md","version":"1.1","description":"A skill file for agents that hold, move, borrow or lend money: cash, stablecoins, tokenized funds and other tokenized real-world assets, crypto, loans and credit, described generically. Your policy (runway, buffers, limits by class, issuer, venue and network, borrowing and lending limits, approvals, signing and the daily cap) is written in as rules, and read-only calculators check holdings, moves and loans against it over HTTP and MCP. Every number comes from your request.","skill":{"url":"https://treasury.md/treasury.md","with_settings":"https://treasury.md/treasury.md?preset=starting_point"},"settings":"https://treasury.md/api/v1/settings","usage":"GET /api/v1/<tool> with query parameters (arrays and objects as URL-encoded JSON), or POST /api/v1/<tool> with a JSON body (64 KB at most). No key. CORS open. Nothing is stored.","tools":[{"name":"allocation_check","title":"Check holdings against your treasury policy","description":"Takes your positions (asset class, your own issuer, venue and network labels, amount, days to turn into cash, and an optional rate you enter) and your monthly spending, and checks them against your policy: caps by asset class, issuer, venue or custodian and network, the total lent or staked, minimum runway, same-day and next-day buffers, targets with a rebalance band, and the allowlist, leverage, lending and new-venue rules. Returns breaches with the amount to move, runway, buffer coverage, what needs a yes and what it couldn't check. Arithmetic on your numbers only: no market data, no ratings, no advice, and a clean result is not an approval.","get":"https://treasury.md/api/v1/allocation_check","post":"https://treasury.md/api/v1/allocation_check","example_body":{"positions":[{"label":"Operating account","class":"bank_cash","issuer":"Bank A","venue":"Bank A","amount":250000,"liquidity_days":0,"allowlisted":true},{"label":"Reserve account","class":"bank_cash","issuer":"Bank B","venue":"Bank B","amount":150000,"liquidity_days":0,"allowlisted":true},{"label":"Payments wallet","class":"stablecoin","issuer":"Issuer C","venue":"Custodian D","network":"Network 1","amount":300000,"liquidity_days":1,"allowlisted":true},{"label":"Fund shares","class":"tokenized_fund","issuer":"Manager E","venue":"Custodian D","network":"Network 1","amount":200000,"liquidity_days":2,"allowlisted":true},{"label":"Lending pool","class":"stablecoin","issuer":"Issuer F","venue":"Venue G","network":"Network 2","amount":100000,"liquidity_days":7,"lent_or_staked":true,"new_venue":true,"allowlisted":true}],"monthly_burn":60000,"min_runway_months":12,"buffer_same_day_months":1,"buffer_next_day_months":3,"max_redemption_days":3,"max_pct_stablecoins":50,"max_pct_tokenized_funds":50,"max_pct_other_crypto":0,"max_issuer_pct":25,"max_venue_pct":35,"max_network_pct":50,"allowlist_only":"only","leverage":"never","lending_staking":"ask","new_venues":"ask"},"input":{"type":"object","properties":{"positions":{"type":"array","description":"Holdings: [{ label, class, issuer, venue, network, amount, liquidity_days, rate_pct, allowlisted, lent_or_staked, leveraged, new_venue }]. class is one of bank_cash, stablecoin, tokenized_fund, tokenized_rwa, large_cap_crypto, other_crypto. issuer, venue and network are your own short labels (for example \"Issuer A\"). liquidity_days is how many days it takes to turn the holding into cash under normal conditions; leave it out if you don't know. Amounts in one currency.","items":{"type":"object","properties":{"label":{"type":"string","maxLength":80},"class":{"type":"string","enum":["bank_cash","stablecoin","tokenized_fund","tokenized_rwa","large_cap_crypto","other_crypto"]},"issuer":{"type":"string","maxLength":60},"venue":{"type":"string","maxLength":60},"network":{"type":"string","maxLength":60},"amount":{"type":"number","minimum":0},"liquidity_days":{"type":"number","minimum":0},"rate_pct":{"type":"number","description":"Your own annual rate for this holding, if any. Used only for a weighted average."},"allowlisted":{"type":"boolean"},"lent_or_staked":{"type":"boolean"},"leveraged":{"type":"boolean"},"new_venue":{"type":"boolean"}},"required":["class","amount"]},"minItems":1,"maxItems":100},"monthly_burn":{"type":"number","minimum":0,"maximum":10000000000000,"description":"What the treasury spends per month, net of reliable inflows, in the same currency."},"min_runway_months":{"type":"number","minimum":0,"maximum":120,"description":"Minimum months of spending the liquid tier must cover. Optional."},"buffer_same_day_months":{"type":"number","minimum":0,"maximum":120,"description":"Months of spending that must be reachable the same day (liquidity_days 0). Optional."},"buffer_next_day_months":{"type":"number","minimum":0,"maximum":120,"description":"Months of spending that must be reachable by the next day (liquidity_days 0 or 1), same-day money included. Optional."},"max_redemption_days":{"type":"number","minimum":0,"maximum":365,"description":"The liquid tier: holdings you can turn into cash within this many days. Default 7."},"max_pct_bank_cash":{"type":"number","minimum":0,"maximum":100,"description":"Most of the total allowed in bank cash, in %. Optional; not checked when missing."},"max_pct_stablecoins":{"type":"number","minimum":0,"maximum":100,"description":"Most of the total allowed in stablecoins, in %. Optional; not checked when missing."},"max_pct_tokenized_funds":{"type":"number","minimum":0,"maximum":100,"description":"Most of the total allowed in tokenized money-market or treasury funds, in %. Optional; not checked when missing."},"max_pct_tokenized_rwa":{"type":"number","minimum":0,"maximum":100,"description":"Most of the total allowed in other tokenized real-world assets, in %. Optional; not checked when missing."},"max_pct_large_cap_crypto":{"type":"number","minimum":0,"maximum":100,"description":"Most of the total allowed in large-cap crypto, in %. Optional; not checked when missing."},"max_pct_other_crypto":{"type":"number","minimum":0,"maximum":100,"description":"Most of the total allowed in other crypto, in %. Optional; not checked when missing."},"max_issuer_pct":{"type":"number","minimum":0,"maximum":100,"description":"Most of the total allowed in any one issuer, in %. Optional; not checked when missing."},"max_venue_pct":{"type":"number","minimum":0,"maximum":100,"description":"Most of the total allowed in any one venue or custodian, in %. Optional; not checked when missing."},"max_network_pct":{"type":"number","minimum":0,"maximum":100,"description":"Most of the total allowed in any one network, in %. Optional; not checked when missing."},"targets":{"type":"object","description":"Optional target share per class in %, for example { \"bank_cash\": 40, \"stablecoin\": 30 }. Used with rebalance_band_pct."},"rebalance_band_pct":{"type":"number","minimum":0,"maximum":100,"description":"Flag a class whose share is more than this many percentage points from its target. Optional."},"allowlist_only":{"type":"string","enum":["only","ask"],"description":"only: holdings with allowlisted false are outside policy; ask: they need a yes. Optional."},"leverage":{"type":"string","enum":["never","ask","allowed"],"description":"never: leveraged holdings are outside policy; ask: they need a yes; allowed: not flagged. Default never."},"lending_staking":{"type":"string","enum":["never","ask","allowed"],"description":"Rule for holdings that are lent or staked. Default ask."},"max_lent_pct":{"type":"number","minimum":0,"maximum":100,"description":"Most of the total allowed in holdings lent or staked, in total, in %. Optional; not checked when missing."},"new_venues":{"type":"string","enum":["never","ask"],"description":"Rule for holdings at a new contract, venue or custodian. Default ask."}},"required":["positions","monthly_burn"]}},{"name":"transfer_check","title":"Check one move against your rules","description":"Before money moves: checks one transfer against your daily cap, approval and multi-party signing thresholds, the allowlist, and your rules for new venues, lending or staking, and borrowing or leverage. Returns what your rules call for (within policy, a yes, more than one signer, or outside policy) and the room left under the daily cap. It approves nothing and sends nothing.","get":"https://treasury.md/api/v1/transfer_check","post":"https://treasury.md/api/v1/transfer_check","example_get":"https://treasury.md/api/v1/transfer_check?amount=30000&sent_today=5000&daily_cap_usd=50000&approval_usd=10000&multisig_usd=25000&kind=payment&counterparty_allowlisted=true&allowlist_only=only&new_venue=false","example_body":{"amount":30000,"sent_today":5000,"daily_cap_usd":50000,"approval_usd":10000,"multisig_usd":25000,"kind":"payment","counterparty_allowlisted":true,"allowlist_only":"only","new_venue":false},"input":{"type":"object","properties":{"amount":{"type":"number","minimum":0,"maximum":10000000000000,"description":"The amount of this move."},"sent_today":{"type":"number","minimum":0,"maximum":10000000000000,"default":0,"description":"What has already moved today, from your own records. Default 0."},"daily_cap_usd":{"type":"number","minimum":0,"maximum":10000000000000,"description":"Your daily transfer cap. Optional."},"approval_usd":{"type":"number","minimum":0,"maximum":10000000000000,"description":"Moves above this need a yes. Optional."},"multisig_usd":{"type":"number","minimum":0,"maximum":10000000000000,"description":"Moves above this need more than one signer. Optional."},"kind":{"type":"string","enum":["payment","internal","deposit","lending_or_staking","borrowing_or_leverage"],"default":"payment","description":"What the move is. Default payment."},"counterparty_allowlisted":{"type":"boolean","description":"Whether the receiving address or account is on your allowlist. Optional."},"allowlist_only":{"type":"string","enum":["only","ask"],"description":"Your allowlist rule. Optional."},"new_venue":{"type":"boolean","default":false,"description":"True if the move goes to a contract, venue or custodian not used before."},"new_venues":{"type":"string","enum":["never","ask"],"default":"ask","description":"Your rule for new venues. Default ask."},"lending_staking":{"type":"string","enum":["never","ask","allowed"],"default":"ask","description":"Your rule for lending or staking. Default ask."},"leverage":{"type":"string","enum":["never","ask","allowed"],"default":"never","description":"Your rule for borrowing or leverage. Default never."}},"required":["amount"]}},{"name":"loan_check","title":"Check a loan or credit against your rules","description":"Before borrowing, drawing on a credit line, lending or letting someone pay later: checks one loan against your loans and credit rules (whether the agent may, total borrowed or lent as a share of the treasury, any one borrower, loan-to-value, room before a forced sale of the collateral, the rate, the term, collateral and the approval threshold). Returns the loan-to-value, how far the collateral can fall before the lender may sell it, simple interest over the term, what your rules call for and what it couldn't check. Uses only the loan terms and numbers you send: it shows no market rates or prices, judges no borrower or lender, and approves nothing.","get":"https://treasury.md/api/v1/loan_check","post":"https://treasury.md/api/v1/loan_check","example_get":"https://treasury.md/api/v1/loan_check?side=borrow&amount=50000&treasury_total=1000000&collateral_value=150000&liquidation_ltv_pct=80&apr_pct=9&term_months=6&leverage=allowed&max_debt_pct=10&max_ltv_pct=40&min_liquidation_buffer_pct=50&max_borrow_apr_pct=8&max_loan_term_months=12","example_body":{"side":"borrow","amount":50000,"treasury_total":1000000,"collateral_value":150000,"liquidation_ltv_pct":80,"apr_pct":9,"term_months":6,"leverage":"allowed","max_debt_pct":10,"max_ltv_pct":40,"min_liquidation_buffer_pct":50,"max_borrow_apr_pct":8,"max_loan_term_months":12},"input":{"type":"object","properties":{"side":{"type":"string","enum":["borrow","lend"],"description":"borrow: the treasury borrows or draws on a credit line. lend: the treasury lends, or lets someone pay later."},"amount":{"type":"number","minimum":0,"maximum":10000000000000,"description":"The loan amount (principal), in the treasury's currency."},"treasury_total":{"type":"number","minimum":0,"maximum":10000000000000,"description":"The whole treasury's value before this loan, from your own records. Needed for the share limits. Optional."},"already_borrowed":{"type":"number","minimum":0,"maximum":10000000000000,"default":0,"description":"What the treasury already owes, credit lines drawn included. For side borrow. Default 0."},"already_lent":{"type":"number","minimum":0,"maximum":10000000000000,"default":0,"description":"What the treasury already has lent or staked. For side lend. Default 0."},"already_lent_to_borrower":{"type":"number","minimum":0,"maximum":10000000000000,"default":0,"description":"What the treasury already has lent to this borrower or pool. For side lend. Default 0."},"collateral_value":{"type":"number","minimum":0,"maximum":10000000000000,"description":"Today's value of the collateral behind the loan, from your own records: what the treasury pledges (borrow) or what the borrower pledges (lend). Leave out when there is none."},"liquidation_ltv_pct":{"type":"number","minimum":1,"maximum":100,"description":"From the loan's terms: the loan-to-value, in %, at which the lender may sell the collateral. Optional."},"apr_pct":{"type":"number","minimum":0,"maximum":1000,"description":"From the loan's terms: what the loan costs or pays a year, in %, fees included. Optional."},"term_months":{"type":"number","minimum":0,"maximum":600,"description":"From the loan's terms: how long the loan runs, in months. Leave out when it has no end date."},"pay_later":{"type":"boolean","default":false,"description":"For side lend: true when this is credit or payment terms offered to someone (they pay later), not a loan of money. It then follows your extend_credit rule instead of the lending and collateral rules."},"approval_usd":{"type":"number","minimum":0,"maximum":10000000000000,"description":"Loans above this amount need a yes. Optional."},"leverage":{"type":"string","enum":["never","ask","allowed"],"default":"never","description":"Your rule for borrowing or leverage. Default never."},"max_debt_pct":{"type":"number","minimum":0,"maximum":100,"description":"Most of the treasury that may be borrowed in total, credit lines included, in %. Optional."},"max_ltv_pct":{"type":"number","minimum":0,"maximum":100,"description":"Most the treasury may borrow against collateral, as loan-to-value in %. Optional."},"min_liquidation_buffer_pct":{"type":"number","minimum":0,"maximum":95,"description":"How far, in %, the collateral must be able to fall before a forced sale. Optional."},"max_borrow_apr_pct":{"type":"number","minimum":0,"maximum":1000,"description":"Borrowing that costs more than this a year, in %, needs a yes. Optional."},"lending_staking":{"type":"string","enum":["never","ask","allowed"],"default":"ask","description":"Your rule for lending or staking. Default ask."},"max_lent_pct":{"type":"number","minimum":0,"maximum":100,"description":"Most of the treasury that may be lent or staked in total, in %. Optional."},"max_per_borrower_pct":{"type":"number","minimum":0,"maximum":100,"description":"Most of the treasury that may be lent to any one borrower or pool, in %. Optional."},"unsecured_lending":{"type":"string","enum":["never","ask"],"default":"ask","description":"Your rule for lending without collateral worth more than the loan. Default ask."},"max_loan_term_months":{"type":"number","minimum":0,"maximum":600,"description":"The longest loan allowed, borrowed or lent, in months. Optional."},"extend_credit":{"type":"string","enum":["never","ask"],"default":"ask","description":"Your rule for letting others pay later. Default ask."}},"required":["side","amount"]}},{"name":"runway","title":"Months of runway","description":"How many months your cash covers: cash less a reserve you keep untouched, against monthly spending and inflows, with optional monthly growth in either. Returns simple and projected runway, the month-by-month path, and what it would take to reach a minimum. Arithmetic on your numbers; inflows you enter are your own estimate.","get":"https://treasury.md/api/v1/runway","post":"https://treasury.md/api/v1/runway","example_get":"https://treasury.md/api/v1/runway?cash=900000&monthly_burn=60000&monthly_inflow=10000&burn_change_pct=1&min_runway_months=12","example_body":{"cash":900000,"monthly_burn":60000,"monthly_inflow":10000,"burn_change_pct":1,"min_runway_months":12},"input":{"type":"object","properties":{"cash":{"type":"number","minimum":0,"maximum":10000000000000,"description":"Cash and holdings you count toward runway, in one currency."},"monthly_burn":{"type":"number","minimum":0,"maximum":10000000000000,"description":"Spending per month."},"monthly_inflow":{"type":"number","minimum":0,"maximum":10000000000000,"default":0,"description":"Inflows per month you can rely on. Default 0."},"burn_change_pct":{"type":"number","minimum":-50,"maximum":50,"default":0,"description":"Monthly change in spending, in %. Default 0."},"inflow_change_pct":{"type":"number","minimum":-50,"maximum":50,"default":0,"description":"Monthly change in inflows, in %. Default 0."},"reserve":{"type":"number","minimum":0,"maximum":10000000000000,"default":0,"description":"An amount you never spend. Runway ends when cash reaches it. Default 0."},"min_runway_months":{"type":"number","minimum":0,"maximum":120,"description":"Your minimum runway, to compare against. Optional."},"schedule_months":{"type":"integer","minimum":0,"maximum":60,"default":12,"description":"How many months of the path to return. Default 12."}},"required":["cash","monthly_burn"]}},{"name":"liquidity_ladder","title":"Liquidity ladder","description":"Sorts holdings by days to turn into cash, applies a haircut you choose to each, and shows how much is reachable by each rung (same day, next day, a week, a month...) against spending. Flags a gap where money would arrive after spending needs it. Arithmetic on your numbers and haircuts; it doesn't know real redemption terms.","get":"https://treasury.md/api/v1/liquidity_ladder","post":"https://treasury.md/api/v1/liquidity_ladder","example_body":{"positions":[{"label":"Bank cash","amount":400000,"days_to_cash":0},{"label":"Stablecoins","amount":300000,"days_to_cash":1,"haircut_pct":2},{"label":"Tokenized fund","amount":200000,"days_to_cash":2},{"label":"Lending pool","amount":100000,"days_to_cash":7,"haircut_pct":10},{"label":"Other tokenized asset","amount":150000,"days_to_cash":90,"haircut_pct":15}],"monthly_burn":60000,"buffer_same_day_months":1,"buffer_next_day_months":3},"input":{"type":"object","properties":{"positions":{"type":"array","description":"Holdings: [{ label, amount, days_to_cash, haircut_pct }]. days_to_cash is your own estimate under normal conditions; haircut_pct is a discount you choose for redemption or price risk (default 0).","items":{"type":"object","properties":{"label":{"type":"string","maxLength":80},"amount":{"type":"number","minimum":0},"days_to_cash":{"type":"number","minimum":0},"haircut_pct":{"type":"number","minimum":0,"maximum":100}},"required":["amount","days_to_cash"]},"minItems":1,"maxItems":100},"monthly_burn":{"type":"number","minimum":0,"maximum":10000000000000,"description":"Spending per month, in the same currency."},"rungs":{"type":"array","items":{"type":"number","minimum":0},"maxItems":12,"description":"Rungs in days. Default 0, 1, 7, 30, 90, 365."},"buffer_same_day_months":{"type":"number","minimum":0,"maximum":120,"description":"Months of spending required on the same day. Optional."},"buffer_next_day_months":{"type":"number","minimum":0,"maximum":120,"description":"Months of spending required by the next day. Optional."}},"required":["positions","monthly_burn"]}},{"name":"rate_math","title":"Rate math: APR, APY, fees and break-even","description":"Converts a rate you enter between APR and APY for a compounding frequency, takes off your own fees (a yearly fee on the balance and a fee on earnings), and shows simple and compound earnings on an amount over a term, the real rate after an inflation figure you enter, and the days needed to earn back a one-time cost. Uses only the rate and fees you send; it shows no market rates and says nothing about risk.","get":"https://treasury.md/api/v1/rate_math","post":"https://treasury.md/api/v1/rate_math","example_get":"https://treasury.md/api/v1/rate_math?rate_pct=5&rate_type=apr&compounding=daily&fee_on_balance_pct=0.25&fee_on_earnings_pct=10&principal=100000&days=90&one_time_cost=150","example_body":{"rate_pct":5,"rate_type":"apr","compounding":"daily","fee_on_balance_pct":0.25,"fee_on_earnings_pct":10,"principal":100000,"days":90,"one_time_cost":150},"input":{"type":"object","properties":{"rate_pct":{"type":"number","minimum":-99,"maximum":1000,"description":"The annual rate you were quoted or assume, in %."},"rate_type":{"type":"string","enum":["apr","apy"],"default":"apr","description":"apr: a nominal annual rate; apy: an annual rate that already includes compounding. Default apr."},"compounding":{"type":"string","enum":["daily","weekly","monthly","quarterly","semiannual","annual","continuous"],"default":"daily","description":"How often earnings compound. Default daily."},"fee_on_balance_pct":{"type":"number","minimum":0,"maximum":100,"default":0,"description":"A yearly fee charged on the balance, in %, accrued like the rate. Default 0."},"fee_on_earnings_pct":{"type":"number","minimum":0,"maximum":100,"default":0,"description":"A fee taken from positive earnings, in %. Default 0."},"principal":{"type":"number","minimum":0,"maximum":10000000000000,"description":"An amount to show earnings on. Optional."},"days":{"type":"number","minimum":0,"maximum":36500,"default":365,"description":"Term in days for the earnings figures. Default 365."},"day_count":{"type":"integer","minimum":360,"maximum":366,"default":365,"description":"Days per year for the term: 360, 365 or 366. Default 365."},"inflation_pct":{"type":"number","minimum":-50,"maximum":1000,"description":"An inflation figure you choose, in %, for a real rate. Optional."},"one_time_cost":{"type":"number","minimum":0,"maximum":10000000000000,"description":"A one-time cost to move money in and out, in currency. Needs principal. Optional."}},"required":["rate_pct"]}},{"name":"build_settings","title":"Write your settings into the skill","description":"Turns a preset and settings into the sections written at the top of TREASURY.md. Every setting is a number or a fixed choice; the catalog is at https://treasury.md/api/v1/settings. Returns the sections as Markdown, the settings as JSON, a link to the skill with them written in and a one-line install. Out-of-range numbers are clamped with a note. Nothing is stored. Settings an agent drafted count only after the person says yes: show them to the person first, and follow them only once they agree.","get":"https://treasury.md/api/v1/build_settings","post":"https://treasury.md/api/v1/build_settings","example_get":"https://treasury.md/api/v1/build_settings?preset=starting_point","example_body":{"preset":"starting_point"},"input":{"type":"object","properties":{"preset":{"type":"string","enum":["core","starting_point","cash_first","operating_wallet"],"description":"Starting point: core, starting_point, cash_first, operating_wallet. Applied first; each setting overrides it."},"min_runway_months":{"type":"number","minimum":0,"maximum":60,"description":"Minimum runway (months). Default 12. Out-of-range values are clamped."},"buffer_same_day_months":{"type":"number","minimum":0,"maximum":24,"description":"Same-day buffer (months). Default 1. Out-of-range values are clamped."},"buffer_next_day_months":{"type":"number","minimum":0,"maximum":36,"description":"Next-day buffer (months). Default 3. Out-of-range values are clamped."},"max_redemption_days":{"type":"integer","minimum":0,"maximum":90,"description":"Liquid tier: cash within (days). Optional; unset clears it. Out-of-range values are clamped."},"max_pct_bank_cash":{"type":"number","minimum":0,"maximum":100,"description":"Bank cash (%). Optional; unset clears it. Out-of-range values are clamped."},"max_pct_stablecoins":{"type":"number","minimum":0,"maximum":100,"description":"Stablecoins (%). Optional; unset clears it. Out-of-range values are clamped."},"max_pct_tokenized_funds":{"type":"number","minimum":0,"maximum":100,"description":"Tokenized money-market or treasury funds (%). Optional; unset clears it. Out-of-range values are clamped."},"max_pct_tokenized_rwa":{"type":"number","minimum":0,"maximum":100,"description":"Other tokenized real-world assets (%). Optional; unset clears it. Out-of-range values are clamped."},"max_pct_large_cap_crypto":{"type":"number","minimum":0,"maximum":100,"description":"Large-cap crypto (%). Optional; unset clears it. Out-of-range values are clamped."},"max_pct_other_crypto":{"type":"number","minimum":0,"maximum":100,"description":"Other crypto (%). Optional; unset clears it. Out-of-range values are clamped."},"max_issuer_pct":{"type":"number","minimum":0,"maximum":100,"description":"Any one issuer (%). Optional; unset clears it. Out-of-range values are clamped."},"max_venue_pct":{"type":"number","minimum":0,"maximum":100,"description":"Any one venue or custodian (%). Optional; unset clears it. Out-of-range values are clamped."},"max_network_pct":{"type":"number","minimum":0,"maximum":100,"description":"Any one network (%). Optional; unset clears it. Out-of-range values are clamped."},"rebalance_band_pct":{"type":"number","minimum":0,"maximum":50,"description":"Rebalance band (points). Optional; unset clears it. Out-of-range values are clamped."},"daily_cap_usd":{"type":"number","minimum":0,"maximum":1000000000,"description":"Daily transfer cap ($). Default 10000. Out-of-range values are clamped."},"approval_usd":{"type":"number","minimum":0,"maximum":1000000000,"description":"Ask before any move over ($). Default 1000. Capped at daily_cap_usd. Out-of-range values are clamped."},"multisig_usd":{"type":"number","minimum":0,"maximum":1000000000,"description":"More than one signer above ($). Optional; unset clears it. Out-of-range values are clamped."},"allowlist_only":{"type":"string","enum":["only","ask","unset"],"description":"Counterparties: only (Allowlisted only), ask (Ask before a new one). Optional; unset clears it."},"new_venues":{"type":"string","enum":["never","ask","unset"],"description":"New contracts or venues: never (Never), ask (Ask every time). Optional; unset clears it."},"leverage":{"type":"string","enum":["never","ask","allowed"],"description":"Borrowing or leverage: never (Never), ask (Ask every time), allowed (Allowed within the limits). Default never."},"max_debt_pct":{"type":"number","minimum":0,"maximum":100,"description":"Total borrowed, at most (%). Optional; unset clears it. Out-of-range values are clamped."},"max_ltv_pct":{"type":"number","minimum":0,"maximum":100,"description":"Loan-to-value, at most (%). Optional; unset clears it. Out-of-range values are clamped."},"min_liquidation_buffer_pct":{"type":"number","minimum":0,"maximum":95,"description":"Room before a forced sale (%). Optional; unset clears it. Out-of-range values are clamped."},"max_borrow_apr_pct":{"type":"number","minimum":0,"maximum":100,"description":"Ask before borrowing above (% a year). Optional; unset clears it. Out-of-range values are clamped."},"lending_staking":{"type":"string","enum":["never","ask","allowed","unset"],"description":"Lending or staking: never (Never), ask (Ask every time), allowed (Allowed within the limits). Optional; unset clears it."},"max_lent_pct":{"type":"number","minimum":0,"maximum":100,"description":"Total lent or staked, at most (%). Optional; unset clears it. Out-of-range values are clamped."},"max_per_borrower_pct":{"type":"number","minimum":0,"maximum":100,"description":"Any one borrower or pool (%). Optional; unset clears it. Out-of-range values are clamped."},"unsecured_lending":{"type":"string","enum":["never","ask","unset"],"description":"Lending without collateral: never (Never), ask (Ask every time). Optional; unset clears it."},"max_loan_term_months":{"type":"integer","minimum":0,"maximum":120,"description":"Longest loan (months). Optional; unset clears it. Out-of-range values are clamped."},"extend_credit":{"type":"string","enum":["never","ask","unset"],"description":"Letting others pay later: never (Never), ask (Ask every time). Optional; unset clears it."},"format":{"type":"string","enum":["section","skill"],"description":"section (default): the settings sections only; skill: the whole skill file too."}}}}],"mcp":{"url":"https://treasury.md/mcp","transport":"streamable-http, stateless, JSON responses, no auth","add":"claude mcp add --transport http treasury https://treasury.md/mcp","tools":["allocation_check","transfer_check","loan_check","runway","liquidity_ladder","rate_math","build_settings"],"prompts":["treasury"],"resources":["https://treasury.md/treasury.md","https://treasury.md/api/v1/settings"]},"openapi":"https://treasury.md/openapi.json","llms_txt":"https://treasury.md/llms.txt","manifest":"https://treasury.md/.well-known/treasury.json","rule":"Settings an agent drafted count only after the person says yes: show them to the person first, and follow them only once they agree.","never":["fetches or shows third-party data, prices or rates","stores what you send","approves, enforces or certifies anything","never moves money, holds keys, places orders, or lends, borrows or arranges credit"],"disclaimer":"Use at your own risk. treasury.md is provided as is, without warranty. Information here may be inaccurate, incomplete or not current, and is not verified; figures are estimates from the numbers you send and the formulas stated. Nothing here is financial, investment, credit, legal, tax or accounting advice, an offer of credit, or a recommendation to buy, sell, hold, borrow, lend or stake anything. treasury.md never moves money, holds keys, places orders, or lends, borrows or arranges credit. Check everything yourself before you act on it.","terms":"https://treasury.md/terms","contact":"proofmdorg [ at ] gmail.com"}