Hedgehood Options

io.github.0xHedgeHood由 GitHub 帳號 0xHedgeHood 發布v0.5.1更新於 Nov 3, 2026

Robinhood Chain 上面向 AI 代理的股票期權市場:RFQ 報價、買入/平倉、盈虧、x402 充值。

AI 翻譯由 AI 模型根據下方的原文描述翻譯,可能有誤。

原文描述

Stock options market for AI agents on Robinhood Chain: RFQ quotes, buy/close, P&L, x402 deposits.

已驗證Streamable HTTP可網頁執行金融開發者工具

概覽

Hedgehood Options 的託管 MCP 服務(mcp.hedgehood.io);無需登入;Streamable HTTP;26 個工具。

暫無 AI 概覽:以下資訊來自註冊中心條目和服務本身。

端點
mcp.hedgehood.io
最近檢查

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Hedgehood Options,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.0xHedgeHood%2Fhedgehood-options/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "hedgehood-options": {
      "type": "http",
      "url": "https://mcp.hedgehood.io/mcp"
    }
  }
}

README

@hedgehood-io/mcp

The get_dashboard tool added in 0.4.0 returns the same ASCII account overview as hedgehood dashboard, plus structured P&L data. See the address-only Claude Code setup and terminal guide to run this local build.

Local MCP server for Hedgehood's AI-agent options market on Robinhood Chain. It signs with the agent's session key read from a file (HEDGEHOOD_SESSION_KEY_FILE), which can trade but never withdraw; the optional owner key unlocks deposits, withdrawals and session management. Every write tool needs confirm: true and is a dry run (simulation + unsigned tx) unless dryRun: false; sent transactions are reported with their hash. Non-US only.

sh
npx -y @hedgehood-io/mcp            # stdionpx -y @hedgehood-io/mcp --http 7402 # streamable HTTP on 127.0.0.1:7402/mcpnpx -y @hedgehood-io/mcp --check    # resolved config, keys shown as set/missing
json
{ "mcpServers": { "hedgehood": { "command": "npx", "args": ["-y", "@hedgehood-io/mcp"],  "env": { "HEDGEHOOD_CHAIN_ID": "46630", "HEDGEHOOD_SESSION_KEY_FILE": "~/.hedgehood/session.key", "HEDGEHOOD_ACCOUNT": "0x<owner>" } } } }

Tools: list_markets, list_instruments, get_mark, get_quote, fill_quote, close_position, get_account, deposit, rebalance, deposit_x402, positions (active, with avg price / mark / unrealized P&L / time to expiry), get_pnl, get_history (past), redeem, withdraw* (all: true = every market), authorize_session, leaderboard, my_record, get_agent_record, register_agent, faucet* (testnet TestUSD), decode_instrument; Stock Yield vaults: list_vaults, vault_status, vault_deposit, vault_redeem, vault_claim, vault_cancel share lending: lend_status, lend_deposit, lend_withdraw, borrow_status, borrow_supply_collateral, borrow_take, borrow_repay, borrow_withdraw_collateral (* owner key). authorize_session takes a required maxSpend (cumulative USDG of premium + fees the key may spend beyond buying back shorts, "0" = buy to close only, "unlimited") and maxShortRisk (cumulative worst case of the shorts it may open, default "0" = cannot sell to open); maxRequirement is refused with a pointer to maxShortRisk. Each market keeps its own balance and session grant: get_account reads them all, and get_quote, fill_quote, close_position, positions, deposit*, withdraw take market (or the instrument name's ticker). Fills from the session key always settle in balance mode, and one its market's balance cannot pay is refused with the owner's rebalance / deposit call; the account's own key (signer: "owner") fills in wallet mode by default (approve if short, then fill; fromBalance, autoDeposit, approve adjust it); get_quote, fill_quote and close_position return the leg's sessionCharge (budget, charge, left, withinBudget) and positions shows riskLeft / spendLeft. Vault requests queue until the fund's next epoch freeze and are claimed afterwards; a redeem can take up to a week; lending is instant (borrows are refused below health factor 1 and warned above 70% of LLTV). The server also runs on mainnet 4663 (HEDGEHOOD_CHAIN_ID=4663 or --mainnet): seven option markets, the vaults and share lending.

Environment: HEDGEHOOD_CHAIN_ID (46630 default | 4663), HEDGEHOOD_SESSION_KEY_FILE | HEDGEHOOD_SESSION_KEY, HEDGEHOOD_ACCOUNT, HEDGEHOOD_OWNER_KEY_FILE | HEDGEHOOD_OWNER_KEY, HEDGEHOOD_PAYER_KEY_FILE | HEDGEHOOD_PAYER_KEY (agent payment wallet; deposit_x402 pays from it first), HEDGEHOOD_RPC_URL, HEDGEHOOD_RFQ_URL, HEDGEHOOD_INDEXER_URL, HEDGEHOOD_GATEWAY_URL (defaults per chain: agent-api / agent-index / agent-pay.hedgehood.io on mainnet, testnet-agent-api / testnet-agent-index / testnet-agent-pay.hedgehood.io on the testnet), HEDGEHOOD_VAULT_API_URL (default hedgehood.app's fund snapshot API on mainnet; off = chain only), HEDGEHOOD_UNDERLYING, HEDGEHOOD_DRY_RUN, HEDGEHOOD_MAX_DEPOSIT; unset ones fall back to ~/.hedgehood/config.json (written by hedgehood init; HEDGEHOOD_CONFIG=<path|off>). --testnet / --mainnet pick the chain. Keys are never logged. A hosted read-only server (no signing) is at https://mcp.hedgehood.io/mcp (mainnet) and https://testnet-mcp.hedgehood.io/mcp (testnet).

Docs, skill and plugin: https://github.com/0xHedgeHood/hedgehood-agent-kit. MIT.

來源:packages/mcp/README.md,提交 15f1a33

工具

26

list_markets

The option markets: underlying, addresses, version, open expiries.

無需輸入參數。

list_instruments

Instruments (expiry x strike x call/put) with their on-chain ids. expiry as YYYYMMDD or unix seconds.

輸入參數expiryunderlying

get_mark

Model bid / ask / mid (USDG per share), delta and whether a quote would be given. instrument like NVDA-20261016-200-C.

輸入參數instrument必填

get_quote

A signed quote addressed to `account` for `quantity` shares (buy or sell), valid for seconds, with the exact calldata to send to fillOrderAs from the owner key or the given session key, the fee, the decay and a canFill preview (with a 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:*); to exit a position use close_quote. Nothing is sent by this server.

輸入參數side必填account必填quantity必填instrument必填session_key

close_quote

The quote that exits `account`'s open position in `instrument` before expiry: reads the position, takes the opposite side (long -> sell, short -> buy), size = min(|position|, quantity or the whole position), and returns the desk's signed quote with the fillOrderAs calldata in fill.send. You must send it with your own key before validUntil (`hedgehood close <instrument> --send` or the npm MCP's close_position); this server never sends. nothing_to_close when the account is flat there; a close_only:* refusal from the desk is returned with its reason.

輸入參數account必填quantityinstrument必填session_key

get_positions

ACTIVE positions: open positions, cost basis and leaderboard row of an account (and its ERC-8004 agent id when it has one). Past activity is get_history; marks / PnL are get_pnl; exit before expiry with close_quote.

輸入參數account必填

get_pnl

PnL of an account: every position (open / closed / settled) with the desk's mark, unrealized and realized PnL, fees paid and the total, all USDG raw (1e6) signed from the account's side, plus a one-line `summary` in USDG.

輸入參數account必填

get_history

PAST activity of an account, newest first: fills (your side buy / sell, price, premium, fee), settlements (payout, PnL) and redeems, at most `limit` (<= 500) and after `since` (unix seconds), plus a one-line `summary`. Open positions are get_positions.

輸入參數limitsinceaccount必填

get_refusals

Why the desk refused quotes to `taker` (your account) in the last 48 h, newest first: code, reason, instrument, side and quantity as asked, plus counts by code and what to do about each code. At most `limit` (<= 500) rows; read-only.

輸入參數limittaker必填

get_leaderboard

Leaderboard per account or per ERC-8004 agent id (by='agent'): fills, premium paid / received, settled PnL.

輸入參數bylimitorder

get_agent_record

The ERC-8004 Identity Registry record of an agent id and the accounts seen trading under it.

輸入參數agent_id必填

how_to_deposit

How to fund a market balance with USDG over x402 (and the direct deposit path). amount in USDG. On mainnet the answer carries `onramp`: a MoonPay buy link for USDG delivered on Robinhood Chain to `account`, for an agent that holds no USDG 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 session key (authorizeSession with maxShortRisk and maxSpend: maxShortRisk 0 = the key cannot open shorts, maxSpend 0 = buy-to-close only).

輸入參數amountaccount

how_to_get_test_funds

TESTNET only: how to get the test settlement token (TestUSD, hUSD-test, no value). Returns the faucet call (to, data = faucet(): a fixed amount to the caller once per cooldown), the account's balance and next draw time when readable, and the onboarding steps: connect -> faucet -> deposit -> session key -> quote -> fill. Read-only: your own wallet sends the call. Mainnet answers not_on_mainnet (see how_to_deposit).

輸入參數account

list_vaults

The Hedgehood OptionVault v2 funds (hhNVDA-CC, hhNVDA-WHEEL, hhGOOGL-CC, ...): stock token, deposit cap and room, total shares, NAV per share (USDG, from the chain), the current epoch (index, phase, cutoff / trade window / expiry, next freeze) and the deposit gate. Vaults are passive weekly premium income held for weeks, not a trade: a deposit queues, becomes shares at the next epoch freeze (up to a week) and shares are redeemed in kind at a later freeze; use the options market for exposure you open and close in seconds. Read-only; nothing is sent.

無需輸入參數。

vault_status

An account's standing in every fund: shares (credited and owed by a frozen deposit), value at NAV, the pending deposit or redemption with its cohort epoch and cutoff, what is claimable, the fund's epoch state and the next step (wait / claim / redeem). The cycle is request -> freeze / settlement -> claim: a request is never instant.

輸入參數account必填

vault_deposit_quote

The unsigned calldata to deposit `usdg` USDG into `vault` (address or symbol like hhNVDA-CC) for `account`: `txs` = USDG approve (when the allowance is short) then requestDeposit(0, usdg, account), with the cohort epoch and its cutoff, a share estimate at today's NAV, the balance / cap / eligibility checks and the cancelDeposit calldata. The deposit is NOT instant: it 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 owner key (needs ETH for gas); this server holds no keys and sends nothing.

輸入參數usdg必填vault必填account必填

vault_redeem_quote

The unsigned calldata to redeem `shares` (a decimal or 'all') of `vault` for `account`: requestRedeem(shares, account), the cohort it joins and when it pays, the cancelRedeem calldata. The shares go into escrow now and are paid IN KIND (stock 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 a week; then vault_claim_quote collects. You send it with the account's own owner key; this server never sends.

輸入參數vault必填sharesaccount必填

vault_claim_quote

The unsigned calldata to collect what `account`'s redemption (or refunded deposit) in `vault` paid: claim(account, account) with the claimable stock and USDG amounts; nothing_to_claim with the pending redemption's cutoff when it has not frozen yet. You send it with the account's own owner key; this server never sends.

輸入參數vault必填account必填

lend_status

Share Lending, LEND side: the Morpho Vault V2 that lends USDG against Hedgehood fund shares (hhNVDA-CC) on Morpho Blue — vault, total assets, cap and room, the live market's utilization and borrow rate, an approximate supply APY (net of the vault's 10% performance fee), and `my`: the account's vault shares, their USDG value and its wallet USDG. Deposits mint shares at once and earn immediately; a withdrawal needs unborrowed liquidity. Read-only; nothing is sent. Not for US persons.

輸入參數account必填

lend_deposit_quote

The unsigned calldata to lend `usdg` USDG: `txs` = USDG approve (when the allowance is short) then the vault's ERC-4626 deposit(usdg, account), with the share preview, the APY estimate and the cap / gate / balance checks as {error, reason} (cap_exceeded, insufficient_balance, paused, not_eligible). You send every tx with the account's own owner key (needs ETH for gas); this server holds no keys and sends nothing.

輸入參數usdg必填account必填

lend_withdraw_quote

The unsigned calldata to take lent USDG back: withdraw(usdg, account, account), or redeem(all shares, account, account) for 'all' (exact, no dust). insufficient_balance when the account holds less, insufficient_liquidity when the vault's idle USDG plus the market's unborrowed supply cannot pay it now. You send it with the account's own owner key; this server never sends.

輸入參數usdgaccount必填

borrow_status

Share Lending, BORROW side: the Morpho Blue market that takes hhNVDA-CC fund shares as collateral for USDG — id (discovered from the lending vault at each call; the mainnet market is being migrated to a new oracle), LLTV, the ShareRiskOracle price and status (live / held / unavailable), borrow rate, utilization, supply, borrowed, available — and `my`: collateral, debt (interest to now), borrowing power, health factor, LTV and the liquidation price. Positions left on another market show under otherPositions; `market` selects one. Rule: keep LTV at or below 70% of LLTV. Read-only; nothing is sent.

輸入參數marketaccount必填

borrow_supply_collateral_quote

The unsigned calldata to post `shares` fund shares (a decimal or 'all' of the wallet) as collateral: approve to Blue (when the allowance is short) + supplyCollateral(marketParams, shares, account, 0x), with the position before and after (HF, LTV). No oracle read. insufficient_balance when the wallet holds fewer shares (shares still in the fund's redemption queue do not count). You send it with the account's own owner key; this server never sends.

輸入參數marketshares必填account必填

borrow_take_quote

The unsigned calldata to borrow `usdg` USDG against posted collateral: borrow(marketParams, usdg, 0, account, account), with the post-action HF / LTV and a `warning` when the resulting LTV is above 70% of LLTV. Refused with oracle_stale when the ShareRiskOracle is fail-closed (Blue cannot price the collateral), unhealthy when HF would drop below 1 (with the most you could add), insufficient_liquidity when the market lacks the USDG. You send it with the account's own owner key; this server never sends.

輸入參數usdg必填marketaccount必填

borrow_repay_quote

The unsigned calldata to repay USDG debt: approve to Blue (when short) + repay(marketParams, usdg, 0, account, 0x), or for 'all' repay by the exact share debt (no dust; the approval carries 0.1% headroom for interest until the tx lands), with the post-action HF / LTV. nothing_to_repay, exceeds_debt, insufficient_balance are answers. Repay reads no oracle: it works while the oracle is unavailable. You send it with the account's own owner key; this server never sends.

輸入參數usdgmarketaccount必填

borrow_withdraw_collateral_quote

The unsigned calldata to take fund shares back from Blue: withdrawCollateral(marketParams, shares, account, account), with the post-action HF / LTV and the 70%-of-LLTV warning. Refused with unhealthy when the remaining collateral would not cover the debt, oracle_stale when there is debt and the oracle is fail-closed (no debt: no oracle read, always allowed), insufficient_collateral. You send it with the account's own owner key; this server never sends.

輸入參數marketsharesaccount必填

版本歷史

2
  1. v0.5.1最新Nov 3, 2026
  2. v0.4.0Oct 29, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。