{"id":1002291,"recorded_at":"2026-10-29T06:36:51.417676Z","observed_at":"2026-10-29T06:36:51.417630Z","subject_kind":"endpoint","subject":"fcc9479e-a631-4b19-8a70-85ed9772b709","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":26,"tools":[{"description":"The unsigned calldata to repay USDG debt: approve to Blue (when short) + repay(marketParams, usdg, 0, account, 0x), or for 'all'\n        repay by the exact share debt (no dust; the approval carries 0.1% headroom for interest until the tx lands), with the post-action\n        HF / LTV. nothing_to_repay, exceeds_debt, insufficient_balance are answers. Repay reads no oracle: it works while the oracle is\n        unavailable. You send it with the account's own owner key; this server never sends.","inputSchema":{"properties":{"account":{"title":"Account","type":"string"},"market":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Market"},"usdg":{"default":"all","title":"Usdg","type":"string"}},"required":["account"],"title":"borrow_repay_quoteArguments","type":"object"},"name":"borrow_repay_quote"},{"description":"Share Lending, BORROW side: the Morpho Blue market that takes hhNVDA-CC fund shares as collateral for USDG — id (discovered from\n        the lending vault at each call; the mainnet market is being migrated to a new oracle), LLTV, the ShareRiskOracle price and status\n        (live / held / unavailable), borrow rate, utilization, supply, borrowed, available — and `my`: collateral, debt (interest to now),\n        borrowing power, health factor, LTV and the liquidation price. Positions left on another market show under otherPositions;\n        `market` selects one. Rule: keep LTV at or below 70% of LLTV. Read-only; nothing is sent.","inputSchema":{"properties":{"account":{"title":"Account","type":"string"},"market":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Market"}},"required":["account"],"title":"borrow_statusArguments","type":"object"},"name":"borrow_status"},{"description":"The unsigned calldata to post `shares` fund shares (a decimal or 'all' of the wallet) as collateral: approve to Blue (when the\n        allowance is short) + supplyCollateral(marketParams, shares, account, 0x), with the position before and after (HF, LTV). No\n        oracle read. insufficient_balance when the wallet holds fewer shares (shares still in the fund's redemption queue do not count).\n        You send it with the account's own owner key; this server never sends.","inputSchema":{"properties":{"account":{"title":"Account","type":"string"},"market":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Market"},"shares":{"title":"Shares","type":"string"}},"required":["account","shares"],"title":"borrow_supply_collateral_quoteArguments","type":"object"},"name":"borrow_supply_collateral_quote"},{"description":"The unsigned calldata to borrow `usdg` USDG against posted collateral: borrow(marketParams, usdg, 0, account, account), with the\n        post-action HF / LTV and a `warning` when the resulting LTV is above 70% of LLTV. Refused with oracle_stale when the ShareRiskOracle\n        is fail-closed (Blue cannot price the collateral), unhealthy when HF would drop below 1 (with the most you could add),\n        insufficient_liquidity when the market lacks the USDG. You send it with the account's own owner key; this server never sends.","inputSchema":{"properties":{"account":{"title":"Account","type":"string"},"market":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Market"},"usdg":{"title":"Usdg","type":"string"}},"required":["account","usdg"],"title":"borrow_take_quoteArguments","type":"object"},"name":"borrow_take_quote"},{"description":"The unsigned calldata to take fund shares back from Blue: withdrawCollateral(marketParams, shares, account, account), with the\n        post-action HF / LTV and the 70%-of-LLTV warning. Refused with unhealthy when the remaining collateral would not cover the debt,\n        oracle_stale when there is debt and the oracle is fail-closed (no debt: no oracle read, always allowed), insufficient_collateral.\n        You send it with the account's own owner key; this server never sends.","inputSchema":{"properties":{"account":{"title":"Account","type":"string"},"market":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Market"},"shares":{"default":"all","title":"Shares","type":"string"}},"required":["account"],"title":"borrow_withdraw_collateral_quoteArguments","type":"object"},"name":"borrow_withdraw_collateral_quote"},{"description":"The quote that exits `account`'s open position in `instrument` before expiry: reads the position, takes the opposite\n        side (long -> sell, short -> buy), size = min(|position|, quantity or the whole position), and returns the desk's signed\n        quote with the fillOrderAs calldata in fill.send. You must send it with your own key before validUntil\n        (`hedgehood close <instrument> --send` or the npm MCP's close_position); this server never sends. nothing_to_close\n        when the account is flat there; a close_only:* refusal from the desk is returned with its reason.","inputSchema":{"properties":{"account":{"title":"Account","type":"string"},"instrument":{"title":"Instrument","type":"string"},"quantity":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Quantity"},"session_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Session Key"}},"required":["account","instrument"],"title":"close_quoteArguments","type":"object"},"name":"close_quote"},{"description":"The ERC-8004 Identity Registry record of an agent id and the accounts seen trading under it.","inputSchema":{"properties":{"agent_id":{"title":"Agent Id","type":"integer"}},"required":["agent_id"],"title":"get_agent_recordArguments","type":"object"},"name":"get_agent_record"},{"description":"PAST activity of an account, newest first: fills (your side buy / sell, price, premium, fee), settlements (payout, PnL)\n        and redeems, at most `limit` (<= 500) and after `since` (unix seconds), plus a one-line `summary`. Open positions are\n        get_positions.","inputSchema":{"properties":{"account":{"title":"Account","type":"string"},"limit":{"default":50,"title":"Limit","type":"integer"},"since":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Since"}},"required":["account"],"title":"get_historyArguments","type":"object"},"name":"get_history"},{"description":"Leaderboard per account or per ERC-8004 agent id (by='agent'): fills, premium paid / received, settled PnL.","inputSchema":{"properties":{"by":{"default":"account","title":"By","type":"string"},"limit":{"default":25,"title":"Limit","type":"integer"},"order":{"default":"settledPnlRaw","title":"Order","type":"string"}},"title":"get_leaderboardArguments","type":"object"},"name":"get_leaderboard"},{"description":"Model bid / ask / mid (USDG per share), delta and whether a quote would be given. instrument like NVDA-20261016-200-C.","inputSchema":{"properties":{"instrument":{"title":"Instrument","type":"string"}},"required":["instrument"],"title":"get_markArguments","type":"object"},"name":"get_mark"},{"description":"PnL of an account: every position (open / closed / settled) with the desk's mark, unrealized and realized PnL, fees paid\n        and the total, all USDG raw (1e6) signed from the account's side, plus a one-line `summary` in USDG.","inputSchema":{"properties":{"account":{"title":"Account","type":"string"}},"required":["account"],"title":"get_pnlArguments","type":"object"},"name":"get_pnl"},{"description":"ACTIVE positions: open positions, cost basis and leaderboard row of an account (and its ERC-8004 agent id when it has\n        one). Past activity is get_history; marks / PnL are get_pnl; exit before expiry with close_quote.","inputSchema":{"properties":{"account":{"title":"Account","type":"string"}},"required":["account"],"title":"get_positionsArguments","type":"object"},"name":"get_positions"},{"description":"A signed quote addressed to `account` for `quantity` shares (buy or sell), valid for seconds, with the exact calldata\n        to send to fillOrderAs from the owner key or the given session key, the fee, the decay and a canFill preview (with a\n        session_key it also checks the key's live TRADE session, its spend budget spendLeft and its short-risk budget riskLeft). Sells are close-only: side=sell is quoted only against a long `account` holds in that instrument (else close_only:*);\n        to exit a position use close_quote. Nothing is sent by this server.","inputSchema":{"properties":{"account":{"title":"Account","type":"string"},"instrument":{"title":"Instrument","type":"string"},"quantity":{"title":"Quantity","type":"string"},"session_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Session Key"},"side":{"title":"Side","type":"string"}},"required":["instrument","side","quantity","account"],"title":"get_quoteArguments","type":"object"},"name":"get_quote"},{"description":"Why the desk refused quotes to `taker` (your account) in the last 48 h, newest first: code, reason, instrument, side and\n        quantity as asked, plus counts by code and what to do about each code. At most `limit` (<= 500) rows; read-only.","inputSchema":{"properties":{"limit":{"default":50,"title":"Limit","type":"integer"},"taker":{"title":"Taker","type":"string"}},"required":["taker"],"title":"get_refusalsArguments","type":"object"},"name":"get_refusals"},{"description":"How to fund a market balance with USDG over x402 (and the direct deposit path). amount in USDG. On mainnet the answer\n        carries `onramp`: a MoonPay buy link for USDG delivered on Robinhood Chain to `account`, for an agent that holds no USDG\n        yet (a human completes KYC and payment; not in New York or Canada); on the testnet it names the faucet / wallet path. Also: how the owner authorises a\n        session key (authorizeSession with maxShortRisk and maxSpend: maxShortRisk 0 = the key cannot open shorts, maxSpend 0 = buy-to-close only).","inputSchema":{"properties":{"account":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Account"},"amount":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Amount"}},"title":"how_to_depositArguments","type":"object"},"name":"how_to_deposit"},{"description":"TESTNET only: how to get the test settlement token (TestUSD, hUSD-test, no value). Returns the faucet call (to, data =\n        faucet(): a fixed amount to the caller once per cooldown), the account's balance and next draw time when readable, and the\n        onboarding steps: connect -> faucet -> deposit -> session key -> quote -> fill. Read-only: your own wallet sends the call.\n        Mainnet answers not_on_mainnet (see how_to_deposit).","inputSchema":{"properties":{"account":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Account"}},"title":"how_to_get_test_fundsArguments","type":"object"},"name":"how_to_get_test_funds"},{"description":"The unsigned calldata to lend `usdg` USDG: `txs` = USDG approve (when the allowance is short) then the vault's ERC-4626\n        deposit(usdg, account), with the share preview, the APY estimate and the cap / gate / balance checks as {error, reason}\n        (cap_exceeded, insufficient_balance, paused, not_eligible). You send every tx with the account's own owner key (needs ETH for\n        gas); this server holds no keys and sends nothing.","inputSchema":{"properties":{"account":{"title":"Account","type":"string"},"usdg":{"title":"Usdg","type":"string"}},"required":["account","usdg"],"title":"lend_deposit_quoteArguments","type":"object"},"name":"lend_deposit_quote"},{"description":"Share Lending, LEND side: the Morpho Vault V2 that lends USDG against Hedgehood fund shares (hhNVDA-CC) on Morpho Blue — vault,\n        total assets, cap and room, the live market's utilization and borrow rate, an approximate supply APY (net of the vault's 10%\n        performance fee), and `my`: the account's vault shares, their USDG value and its wallet USDG. Deposits mint shares at once and\n        earn immediately; a withdrawal needs unborrowed liquidity. Read-only; nothing is sent. Not for US persons.","inputSchema":{"properties":{"account":{"title":"Account","type":"string"}},"required":["account"],"title":"lend_statusArguments","type":"object"},"name":"lend_status"},{"description":"The unsigned calldata to take lent USDG back: withdraw(usdg, account, account), or redeem(all shares, account, account) for\n        'all' (exact, no dust). insufficient_balance when the account holds less, insufficient_liquidity when the vault's idle USDG plus\n        the market's unborrowed supply cannot pay it now. You send it with the account's own owner key; this server never sends.","inputSchema":{"properties":{"account":{"title":"Account","type":"string"},"usdg":{"default":"all","title":"Usdg","type":"string"}},"required":["account"],"title":"lend_withdraw_quoteArguments","type":"object"},"name":"lend_withdraw_quote"},{"description":"Instruments (expiry x strike x call/put) with their on-chain ids. expiry as YYYYMMDD or unix seconds.","inputSchema":{"properties":{"expiry":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Expiry"},"underlying":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Underlying"}},"title":"list_instrumentsArguments","type":"object"},"name":"list_instruments"},{"description":"The option markets: underlying, addresses, version, open expiries.","inputSchema":{"properties":{},"title":"list_marketsArguments","type":"object"},"name":"list_markets"},{"description":"The Hedgehood OptionVault v2 funds (hhNVDA-CC, hhNVDA-WHEEL, hhGOOGL-CC, ...): stock token, deposit cap and room, total\n        shares, NAV per share (USDG, from the chain), the current epoch (index, phase, cutoff / trade window / expiry, next freeze)\n        and the deposit gate. Vaults are passive weekly premium income held for weeks, not a trade: a deposit queues, becomes shares\n        at the next epoch freeze (up to a week) and shares are redeemed in kind at a later freeze; use the options market for\n        exposure you open and close in seconds. Read-only; nothing is sent.","inputSchema":{"properties":{},"title":"list_vaultsArguments","type":"object"},"name":"list_vaults"},{"description":"The unsigned calldata to collect what `account`'s redemption (or refunded deposit) in `vault` paid: claim(account, account)\n        with the claimable stock and USDG amounts; nothing_to_claim with the pending redemption's cutoff when it has not frozen yet.\n        You send it with the account's own owner key; this server never sends.","inputSchema":{"properties":{"account":{"title":"Account","type":"string"},"vault":{"title":"Vault","type":"string"}},"required":["account","vault"],"title":"vault_claim_quoteArguments","type":"object"},"name":"vault_claim_quote"},{"description":"The unsigned calldata to deposit `usdg` USDG into `vault` (address or symbol like hhNVDA-CC) for `account`: `txs` = USDG\n        approve (when the allowance is short) then requestDeposit(0, usdg, account), with the cohort epoch and its cutoff, a share\n        estimate at today's NAV, the balance / cap / eligibility checks and the cancelDeposit calldata. The deposit is NOT instant: it\n        is priced and becomes shares when the cohort freezes at the cutoff (up to a week). You send every tx with the account's own\n        owner key (needs ETH for gas); this server holds no keys and sends nothing.","inputSchema":{"properties":{"account":{"title":"Account","type":"string"},"usdg":{"title":"Usdg","type":"string"},"vault":{"title":"Vault","type":"string"}},"required":["account","vault","usdg"],"title":"vault_deposit_quoteArguments","type":"object"},"name":"vault_deposit_quote"},{"description":"The unsigned calldata to redeem `shares` (a decimal or 'all') of `vault` for `account`: requestRedeem(shares, account),\n        the cohort it joins and when it pays, the cancelRedeem calldata. The shares go into escrow now and are paid IN KIND (stock\n        and/or USDG at that freeze's NAV) when the cohort freezes: in a locked epoch that is after the current option expires, up to\n        a week; then vault_claim_quote collects. You send it with the account's own owner key; this server never sends.","inputSchema":{"properties":{"account":{"title":"Account","type":"string"},"shares":{"default":"all","title":"Shares","type":"string"},"vault":{"title":"Vault","type":"string"}},"required":["account","vault"],"title":"vault_redeem_quoteArguments","type":"object"},"name":"vault_redeem_quote"},{"description":"An account's standing in every fund: shares (credited and owed by a frozen deposit), value at NAV, the pending deposit or\n        redemption with its cohort epoch and cutoff, what is claimable, the fund's epoch state and the next step (wait / claim /\n        redeem). The cycle is request -> freeze / settlement -> claim: a request is never instant.","inputSchema":{"properties":{"account":{"title":"Account","type":"string"}},"required":["account"],"title":"vault_statusArguments","type":"object"},"name":"vault_status"}]},"body_sha256":"047482fbd024bf807a4ce68f42d03cbf06057c0650cabd7a470520e19df4c3cb","prev_id":null,"leaf":"0xfacd3599a30543b8d659ae17b762213b002003b7f416c3cd70a67f8638af9f9a","leaf_text":"{\"body\":\"047482fbd024bf807a4ce68f42d03cbf06057c0650cabd7a470520e19df4c3cb\",\"id\":1002291,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793255811417630,\"prev\":null,\"subject\":\"fcc9479e-a631-4b19-8a70-85ed9772b709\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-10-29","leaves":242798,"root":"0xc050555c6b023f2aefb6536efb9f0760b92c30a0d06c572b7daf63db259ea17c","chained":"0x4cde8bae2042512e1bec11650628f0293556311cc4ea74d99ffddf02b671a7d6","anchor_chain":"eip155:5042002","anchor_tx":"0x9e85c340732f416e431b111fae72f7624870125f7f379af2732eb6c2ba8cf6a1","anchor_block":69753317},"proof":["0xfacd928908bf2e7700362b295a28cdca674cfe357e09d529ffd680fd8488530c","0x091506d160682d5db5d02ad20fc26f6b291031e753af5cdc3496a9ab94637679","0xa9a68f6ccb0bf9890f68a2df20ff5fdbaa9014b83f409a17b1b9da5405d5f075","0xe6b01e19db35eed71058450d9489dcf17b2eb9bcaabae9cd6e252e2c509e0822","0xb7e9d42246efa66f0298d869d0c0caa7cac76de2385b63278e75300ebdb68f5f","0xfcefd37a1d1b8197c4b6750858a3a4e766f01dd8759583d74c9fc4020d2e24f0","0x3f572fe58aa98efdbbf55c28aa465d8f762e37cc95eb0dd7286b6da4cd858746","0x153afc5b7c0b854360f8bf9c2bcde669e23dbfc5c79582371dc4cc713da81b26","0x696523148c0d2a44ca5efb6cf2cb0e50b5ba7aea3aa50ba14e32c484a18ddb5f","0xaf5e27d9706b6ece7828a6e5458afa3cbfeeec4816d5b5672ce301303e1aa2b7","0xdca3b929b35564c7c25ce2498f3699b9960f89efad0619e20b8b80127972242e","0xdb76702465d9dcc18228c424b986c0d068605e407bc0698ac73f564044fa8c39","0x53bd5c3baafe91745ebff65c20addef2a0eec44e95ed2b7e15d2e7abd391cbca","0xf708469bc3aba85a4a4875a16834cb1ef22f7d55f1823cedb60f00dfa15f77df","0x1dd763930a8023065a24b676469b4f26d92a89cfe71226ced9df379f43ec0f0a","0x1597ec94933260048e5e583aff1ad0fd44cc49efcd0a994091ed5db4924d7b02","0xe01539ac4c9f9cdf265a9e5c6d99c8da11e70ff0c7175fb23e402d33b9d79785"]}