get_docs
Read the Agent API manual
The complete Agent API manual (markdown): auth, trading, limits, withdrawals, error catalog.
無需輸入參數。
com.vectorialdata由 vectorialdata.com 發布官方發布者v1.3.1更新於 Nov 7, 2026
Self-custodial Hyperliquid perps, Polymarket, staking and yield for AI agents, with a kill switch.
託管型券商 MCP 伺服器,讓 AI 助理交易 Hyperliquid 永續合約、Polymarket 預測市場與收益產品,可先使用免費模擬模式。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/com.vectorialdata%2Fterminal/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。把它新增到你客戶端的 mcpServers 設定中。
{
"mcpServers": {
"vectorial-data-terminal-hyperliquid-poly": {
"type": "http",
"url": "https://terminal.vectorialdata.com/api/mcp"
}
}
}Let Claude, ChatGPT, Cursor or your own bot trade Hyperliquid perps and Polymarket prediction markets, and earn yield (HYPE staking, HLP, USDC lending), from wallets your agent owns, inside limits our server enforces, with a kill switch.
https://terminal.vectorialdata.com/api/mcp (Streamable HTTP)https://terminal.vectorialdata.com/api/agent/v1 · OpenAPI/api/agent/v1/docscom.vectorialdata/terminalThis repository holds documentation and signing examples. The server itself is hosted by Vectorial Data; you don't run anything to use it.
Any MCP client:
No key yet? The public tools work without it: get_docs, list_markets, get_registration_challenge,
register_agent (returns your key), list_prediction_markets, get_prediction_book. See
examples/01-register-and-paper-trade.ts.
68 tools, each with described arguments and MCP annotations (read-only / destructive / idempotent).
kill_switch pauses everything new at once; exits and moving money home keep working.Live tools answer with steps to sign. Each step names its signer:
"signer": "owner" → decode payload_b64 (base64 of the exact JSON request to the wallet provider), check every
line in verify against your own records, then sign the bytes with your OWNER P-256 key (ECDSA over SHA-256,
DER, base64)."signer": "trading_key" → sign typed_data (EIP-712) with your trading key.Then submit the signatures in order. See examples/02-sign-operation.ts for a
complete signer that refuses anything it did not expect.
Never sign a payload you have not decoded and checked. A signer that signs blind is the one way a compromised server, network or prompt could make your agent pay someone else.
01-register-and-paper-trade.ts — create a wallet, register, place a
paper order, read positions and metrics.02-sign-operation.ts — sign and submit any live Earn / move operation (owner and
trading-key steps), checking each payload before signing.Requires Node 20+.
The operator of an agent (the person or entity that controls its keys and funds it) is responsible for being allowed to trade derivatives and prediction markets where they are. Requests from OFAC-sanctioned jurisdictions are refused. Polymarket does not allow trading from some countries, including the United States. Earn asks for a one-time eligibility certification by the operator.
Found something? Write to the contact in terminal.vectorialdata.com/.well-known/security.txt. Please don't open public issues for vulnerabilities.
The examples and documentation in this repository are MIT-licensed. The hosted service has its own terms.
來源:README.md,提交 978dda3
Read the Agent API manual
The complete Agent API manual (markdown): auth, trading, limits, withdrawals, error catalog.
無需輸入參數。
List perps markets
Tradeable markets with live prices and the precision metadata needed to size orders (size_decimals, min_size, price rules, $10 min notional).
無需輸入參數。
Get a registration challenge
Step 1 of creating an agent account: get a nonce+message to sign (EIP-191) with the agent's own EVM wallet.
address必填Register an agent account
Step 2: register with the signed challenge. Returns the api_key ONCE — store it and configure it as the Authorization header of this MCP server. New accounts start in paper mode.
label必填nonce必填address必填signature必填Get your account
Your agent account: status, mode (paper|live), scopes, live balances, deposit address, limits.
無需輸入參數。
Get open positions
Open positions (live: venue truth; paper: from your fills).
無需輸入參數。
List your orders
Your authoritative order ledger (cursor-paginated). Paper triggers appear as trigger_tp/trigger_sl rows.
limitbeforestatusGet your performance metrics
Your tear-sheet: win rate, net PnL, fees, drawdown, Sharpe, equity curve — computed server-side from the authoritative ledger.
modewindowPlace a perps order
Place an order. PAPER mode executes immediately (simulated fill against real prices — nothing to sign). LIVE mode trades from your trading wallet (create_trading_wallet + authorize_trading_key first) and returns typed_data to sign with your TRADING key, then submit_order. Fees: 0.25% per perps trade, the same everyone pays, settled automatically. Brackets: pass tp/sl. Sizing: explicit size, or risk-first via risk_usd+stop_price (size = risk / |entry−stop|). Min notional $10.
sltpside必填sizetype必填market必填risk_usdstop_pricelimit_pricereduce_onlyclient_order_idExecute a signed order
Execute a prepared LIVE order with your trading key's signatures (one per typed_data, in order).
order_id必填signatures必填Close a position
Close an open position (fully or size_pct). Paper executes immediately; live returns typed_data for signing.
market必填size_pctAdd take-profit / stop-loss
Attach post-hoc reduce-only TP/SL triggers to an open position. Paper executes immediately.
sltpmarket必填Cancel a resting order
Cancel a resting order by ledger id. Paper executes immediately.
order_id必填Execute a signed intent
Execute a prepared intent (cancel/protect/withdraw) with the wallet's signatures.
intent_id必填signatures必填Log a trading decision
Log WHY you traded (your audit trail and future public track record). Pass order_id to correlate.
modelorder_idreasoning必填Get your safety limits
Your bounded-autonomy rails (caps, allowlists, pending loosenings).
無需輸入參數。
Update your safety limits
Adjust rails. Tightening is instant; loosening waits 24h (see /limits/escalate in the docs for the wallet-signed immediate path).
asset_allowlistmax_daily_loss_usdmax_order_notional_usdmax_position_notional_usdSwitch paper / live
Flip paper ↔ live. Fund the wallet before going live (see get_account.deposit).
mode必填Pause all trading (kill switch)
Instant pause: every subsequent prepare/submit is rejected until resume_trading (which needs the wallet's signature).
無需輸入參數。
Resume trading (wallet-signed)
Reactivate after kill_switch. Needs the account WALLET's signature (the api key alone cannot undo a pause): call it with no arguments to get { nonce, message }, sign `message` with your agent wallet (EIP-191), then call it again with nonce + signature.
noncesignatureGet the withdrawal policy
Money-out policy: mode (disabled|autonomous|human_passkey), strict destinations, guardian link.
無需輸入參數。
List pending withdrawals
Your withdraw intents and their approval lifecycle (human_passkey). Approved intents include signable actions.
無需輸入參數。
Prepare a withdrawal
Prepare a withdrawal (USDC → Arbitrum). Requires withdraw scope + matured allowlist; returns typed_data to sign externally (or approval_state=pending under human_passkey). MCP alone can NEVER move funds — execution requires the wallet's signature via submit_intent.
amount_usd必填destination必填Get the human guardian status
Human guardian link state (human_passkey mode).
無需輸入參數。
Invite a human guardian
Mint a single-use invite (48h) for a human to become this agent's withdrawal guardian. Hand them the accept_url.
無需輸入參數。
List webhooks
Your webhook endpoints (max 5): url, subscribed event types, status, failure counters. Also returns the full event-type catalog.
無需輸入參數。
Create a webhook
Register a webhook endpoint (public https). Returns the HMAC signing secret ONCE (vd_whsec_…) — deliveries are signed `x-vd-signature: t=…,v1=hex(hmac_sha256(secret, t + '.' + body))`, at-least-once, dedupe by event id. Omit event_types to receive everything.
url必填event_typesGet a webhook
One webhook + its last 20 delivery attempts (status codes, retries, dead letters) — the delivery debugging surface.
webhook_id必填Delete a webhook
Remove a webhook endpoint (its queued deliveries are dropped).
webhook_id必填Send a test webhook event
Send a synchronous signed test event to a webhook and report the receiver's response — verify your endpoint + HMAC handling before relying on real events.
webhook_id必填List strategies you can copy
Strategies available to copy, with the SAME numbers a human sees, as a DAILY snapshot (UTC: the same object all day): time-weighted return net of fees (immune to the leader's deposits and withdrawals — never a return on capital), max drawdown, Sharpe, trade count and the leader's terms. Read max_drawdown_pct before ranking by return — the best return is often the one that hurt most.
無需輸入參數。
Get your copy-trading status
What this agent is copying, per leader. Live follows: your copy wallet is a Hyperliquid account you own — read its positions and every fee transfer directly from Hyperliquid (info: clearinghouseState and userNonFundingLedgerUpdates) with the address from GET /copy/wallet. get_positions reads your agent wallet, not the copy wallet. A retired paper follow shows only its status (result: null, retired.code = paper_copy_retired).
無需輸入參數。
Copy a leader with real funds
Start copying a leader with real funds: mode 'live' mirrors from your copy wallet — create and fund it first with create_copy_wallet. Mirrors begin at the leader's NEXT fill; past trades are never backfilled. Every mirror is sized on the copy wallet's FULL value (what you funded plus profits, minus losses), in proportion to the leader's equity — not on allocation_usd; to copy with less, fund less. Sizing includes the $10 minimum bump, so a small copy wallet gives a risk profile that does not match the leader's. mode 'paper' returns paper_copy_retired: a leader's operations are only visible to followers with real capital. Requires the 'copy' scope.
mode必填leader_id必填allocation_usd必填Stop copying a leader
Stop copying a leader. Live: 'stopping' while the engine closes your mirrored positions and settles fees. Requires the 'copy' scope.
leader_id必填Create your copy wallet
Create the copy wallet needed for LIVE copying. You generate a P-256 keypair and send only the PUBLIC key — you own the wallet and can withdraw with your owner key at any time, without us. Our signer is locked by policy to fee destinations, which is what makes all fees settle automatically and keeps your Hyperliquid trading agent from expiring on you. Requires the 'copy' scope. TWO CALLS: the first (owner_public_key only) returns a message naming your key's fingerprint; sign it (EIP-191) with your agent wallet and call again with owner_public_key + nonce + signature. An API key alone can never bind an owner key.
noncesignatureowner_public_key必填Get your trading wallet
Your trading wallet — the Hyperliquid account LIVE orders trade from: address and balances, trading key status (and when to renew it), how to fund it, fees (0.25% per perps trade, the same everyone pays, collected automatically) and custody terms.
無需輸入參數。
Create your trading wallet
Create your trading wallet (required for LIVE trading; your agent wallet must have nothing open). You generate a P-256 keypair and send only the PUBLIC key: it becomes the wallet's OWNER and never leaves your process. Our signer on it can only pay trading fees to our treasury and approve our builder fee — it cannot move your money anywhere else or authorize anyone to trade. TWO CALLS: the first (owner_public_key only) returns a message naming your key's fingerprint; sign it (EIP-191) with your agent wallet and call again with owner_public_key + nonce + signature.
noncesignatureowner_public_key必填Authorize a trading key
Authorize the key that signs your LIVE orders. Generate a NEW secp256k1 key (no Hyperliquid history — Hyperliquid refuses keys that already have an account). Call with no arguments to get the message that key must sign (EIP-191) as proof. Fund the trading wallet first. Then call with trading_key_address + trading_key_proof: you get payload_b64 (the exact Privy request as canonical JSON) and a `verify` list — decode it and check every field against YOUR records (your saved privy_wallet_id, your trading key) BEFORE signing it with your OWNER P-256 key (ECDSA P-256 over SHA-256, DER, base64). Call a third time adding time + owner_signature. Valid 180 days; repeat to renew or rotate.
timeowner_signaturetrading_key_prooftrading_key_addressSend trading funds to your agent wallet
Move USDC from your trading wallet back to your agent wallet, inside Hyperliquid (the destination is always your own agent wallet). Pending trading fees are collected first. TWO CALLS: the first returns one payload_b64 per rail with its `verify` list (destination = your agent wallet, amount = what you asked) — check it, then sign with your OWNER key; call again with time + owner_signatures {rail: signature}. Without an API key (e.g. a terminated account), call POST /api/agent/v1/trading/home directly with agent_wallet. To leave Hyperliquid, withdraw from your agent wallet as usual.
timeamount_usd必填owner_signaturesGet your copy wallet
Your copy wallet: address to fund, whether it is ready for live copying, and the custody terms.
無需輸入參數。
Get a scope challenge
Step 1 of gaining a new scope ('copy' to follow leaders, 'withdraw' to move funds). Returns a message to sign with your agent wallet. keys/rotate can only NARROW scopes — new authority always costs a wallet signature, and the challenge is bound to the intent so a signature given for one can never be replayed for the other.
intent必填Gain a new scope (wallet-signed)
Step 2: submit the signature from get_scope_challenge and receive a NEW api key carrying the scope. Store it and replace the Authorization header of this MCP server — the old key keeps working during a short grace window.
nonce必填intent必填signature必填Rotate your API key
Mint a fresh api key, optionally NARROWING its scopes. Cannot add authority — use get_scope_challenge + escalate_scope for that. Previous keys stay valid for a short grace window so a running bot does not lose access mid-flight.
scopesList prediction markets
Prediction markets you can trade now (Polymarket): events with their markets and, per outcome, the CLOB token_id you trade and its price (a probability 0–1 = USD per share; a winning share pays $1). Default: by 24h volume. Optional: query (search), event_slug (one event), tag (a Gamma tag slug, e.g. sports, politics, crypto), limit (≤50), offset.
taglimitqueryoffsetevent_slugGet a prediction order book
Live order book of one prediction outcome (best first): best bid/ask, mid, tick size and the top levels with sizes in shares.
token_id必填Get your predictions account
Your predictions account: your deposit wallet (a Polymarket smart wallet only your agent wallet controls), activation steps, cash (pUSD = USD), WHERE TO DEPOSIT (any supported chain; lands as pUSD in minutes), anything pending and the last relayer transaction.
無需輸入參數。
Activate prediction markets
Enable prediction markets (once, gasless). Predictions trade LIVE only (no paper simulation) and need 'polymarket' in venue_allowlist. TWO CALLS: the first (no arguments) deploys your deposit wallet and returns actions[] — sign each typed_data (EIP-712) with your AGENT wallet, in order (ClobAuth links your Polymarket CLOB account; the approvals batch lets your wallet buy, sell and collect). Then call again with activation_id + signatures within 10 minutes. Nothing here moves money.
signaturesactivation_idPrepare a prediction order
Buy or sell a prediction outcome with a fill-or-kill market order (fills entirely at a protected price or nothing happens). BUY: amount_usd (min $1; Polymarket's taker fee and our builder fee go on top — the same everyone pays; max_spend_usd caps the all-in spend). SELL: shares. Optional limit_price (BUY: max, SELL: min) — the house price guard still applies, the stricter wins. Returns typed_data: sign it with your AGENT wallet (EIP-712), then submit_prediction_order within 60s. Your caps (order size, account exposure, daily loss) count perps and predictions together; sells only reduce and skip them.
side必填sharestoken_id必填amount_usdlimit_pricemax_spend_usdclient_order_idExecute a signed prediction order
Execute a prepared prediction order with your agent wallet's signature over its typed_data. Returns the fill (shares, average price, USD) or why it didn't fill (nothing is charged on a miss).
order_id必填signature必填Get your prediction positions
Your open prediction positions (Polymarket's numbers): shares, average and current price, cost, value, P&L, and whether a resolved winner is waiting to be collected (collectable).
無需輸入參數。
Prepare sending predictions cash home
Move predictions cash back to YOUR agent wallet as native USDC (polygon, arbitrum or base; min $2) through Polymarket's bridge — the destination is always your own agent wallet. Returns a batch typed_data: sign it with your AGENT wallet, then submit_predictions_batch. Works while paused; without an API key call POST /api/agent/v1/predictions/home directly with agent_wallet.
allto_chainamount_usdPrepare collecting winnings
Collect resolved WINNING positions into your predictions cash (Polymarket usually does this automatically at resolution; use this if get_prediction_positions shows collectable: true). Optional condition_id. Returns a batch typed_data: sign it with your AGENT wallet, then submit_predictions_batch.
condition_idExecute a signed predictions batch
Execute a prepared send_predictions_home or collect_prediction_winnings batch with your agent wallet's signature (gasless, via Polymarket's relayer).
batch_id必填signature必填Get Earn products and positions
Earn for agents: HLP (Hyperliquid's market-making vault), HYPE staking and USDC lending — rates, fees, lockups and validators; whether you can enter (live, 'earn' in venue_allowlist, certification); your trading wallet's balances and Earn positions. Everything runs from your trading wallet (create_trading_wallet first).
無需輸入參數。
Certify Earn eligibility
One-time Earn eligibility certification (valid 1 year): the agent's OPERATOR certifies it is not in an excluded jurisdiction (read get_earn → certification_text first). If the request comes from an excluded country (agents often run in US data centers), call again with confirm_operator_location: true only if the operator is located elsewhere.
confirm_operator_locationPrepare an HLP deposit
Deposit USDC from your trading wallet into HLP. Entry fee 0.55% (collected after the deposit lands), min $5.03, 4-day lockup; counts toward your exposure cap. Returns operation_id + signatures_needed[]: sign EACH step with the signer it names — 'owner' = your OWNER P-256 key over payload_b64 (decode it and check every `verify` line against YOUR records first), 'trading_key' = your trading key over typed_data (EIP-712) — then submit_operation within 5 minutes.
amount_usd必填Prepare an HLP withdrawal
Withdraw from HLP back to your trading wallet (free; after the 4-day lockup). Works while paused. Returns operation_id + signatures_needed[]: sign EACH step with the signer it names — 'owner' = your OWNER P-256 key over payload_b64 (decode it and check every `verify` line against YOUR records first), 'trading_key' = your trading key over typed_data (EIP-712) — then submit_operation within 5 minutes.
allamount_usdPrepare a HYPE purchase
Buy HYPE with USDC in your trading wallet (spot, immediate-or-cancel at up to +1% from mid; fee 0.25% in USDC; Hyperliquid's minimum order is $10). The outcome says how much HYPE arrived — stake it with stake_hype. Returns operation_id + signatures_needed[]: sign EACH step with the signer it names — 'owner' = your OWNER P-256 key over payload_b64 (decode it and check every `verify` line against YOUR records first), 'trading_key' = your trading key over typed_data (EIP-712) — then submit_operation within 5 minutes.
amount_usd必填Prepare a HYPE sale
Sell spot HYPE for USDC in your trading wallet (immediate-or-cancel at no less than -1% from mid; the same spot sell fee everyone pays). Works while paused. Returns operation_id + signatures_needed[]: sign EACH step with the signer it names — 'owner' = your OWNER P-256 key over payload_b64 (decode it and check every `verify` line against YOUR records first), 'trading_key' = your trading key over typed_data (EIP-712) — then submit_operation within 5 minutes.
allamount_hypePrepare staking HYPE
Stake spot HYPE with a validator (get_earn → products.staking.validators, neutral order). Entry fee 0.25% in HYPE; rewards are paid daily on the delegation. Two owner steps: into the staking balance, then delegate. Returns operation_id + signatures_needed[]: sign EACH step with the signer it names — 'owner' = your OWNER P-256 key over payload_b64 (decode it and check every `verify` line against YOUR records first), 'trading_key' = your trading key over typed_data (EIP-712) — then submit_operation within 5 minutes.
validator必填amount_hype必填Prepare delegating HYPE
Delegate HYPE that is already in your staking balance (free): finishes a stake whose delegation didn't go through, or re-delegates after an undelegate. Returns operation_id + signatures_needed[]: sign EACH step with the signer it names — 'owner' = your OWNER P-256 key over payload_b64 (decode it and check every `verify` line against YOUR records first), 'trading_key' = your trading key over typed_data (EIP-712) — then submit_operation within 5 minutes.
validator必填amount_hype必填Prepare unstaking HYPE
Unstake HYPE (free): with validator, undelegate it first (a delegation is locked 1 day); then Hyperliquid's 7-day withdrawal to spot starts. Without validator, only the withdrawal of HYPE already undelegated. Works while paused. Returns operation_id + signatures_needed[]: sign EACH step with the signer it names — 'owner' = your OWNER P-256 key over payload_b64 (decode it and check every `verify` line against YOUR records first), 'trading_key' = your trading key over typed_data (EIP-712) — then submit_operation within 5 minutes.
validatoramount_hype必填Prepare lending USDC
Lend USDC on Base in our Earn USDC vault (Morpho, Gauntlet USDC Prime) from your trading wallet's address on Base — move USDC there first with move_funds perps → earn_usdc. No entry fee; the vault keeps 20% of the yield. Owner-signed Base transactions (gas ~1¢ in USDC): submit_operation needs owner_public_key. Returns operation_id + signatures_needed[]: sign EACH step with the signer it names — 'owner' = your OWNER P-256 key over payload_b64 (decode it and check every `verify` line against YOUR records first), 'trading_key' = your trading key over typed_data (EIP-712) — then submit_operation within 5 minutes.
allamount_usdPrepare withdrawing lent USDC
Withdraw from the Earn USDC vault to your USDC on Base (free; then move_funds earn_usdc → perps to trade with it). Works while paused. submit_operation needs owner_public_key. Returns operation_id + signatures_needed[]: sign EACH step with the signer it names — 'owner' = your OWNER P-256 key over payload_b64 (decode it and check every `verify` line against YOUR records first), 'trading_key' = your trading key over typed_data (EIP-712) — then submit_operation within 5 minutes.
allamount_usdPrepare a spot ↔ perps transfer
Move USDC between spot and perps inside your trading wallet (classic accounts only; free). Returns operation_id + signatures_needed[]: sign EACH step with the signer it names — 'owner' = your OWNER P-256 key over payload_b64 (decode it and check every `verify` line against YOUR records first), 'trading_key' = your trading key over typed_data (EIP-712) — then submit_operation within 5 minutes.
to必填amount_usd必填Prepare moving money between your accounts
Move money between YOUR accounts, in any direction: perps (trading wallet on Hyperliquid), predictions (your Polymarket deposit wallet) and earn_usdc (your trading wallet's USDC on Base). No fee of ours (Circle/Polymarket bridge fees shown in the summary). Moves from perps or earn_usdc return an operation for submit_operation (from earn_usdc: owner-signed Base transactions → pass owner_public_key); moves from predictions return a predictions batch: sign it with your AGENT wallet and call submit_predictions_batch.
to必填allfrom必填amount_usdExecute a signed Earn / move operation
Execute a prepared Earn / move operation with your signatures, one per step and in order (owner steps: base64 P-256 signature over payload_b64; trading_key steps: 0x… EIP-712 signature). All signatures are checked before the first step runs. Returns each step's result; status 'uncertain' means check get_earn before retrying. If this call times out, the operation may still be finishing: check list_operations ('executing' = still running; don't prepare it again until it ends).
signatures必填operation_id必填owner_public_keyList your Earn / move operations
Your last Earn / move operations: what each did, step by step, and how it ended.
limit已滿足適用檢查項的 100%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
claude mcp add --transport http vectorialdata https://terminal.vectorialdata.com/api/mcp \ --header "Authorization: Bearer vd_agt_…"{ "mcpServers": { "vectorialdata": { "type": "http", "url": "https://terminal.vectorialdata.com/api/mcp", "headers": { "Authorization": "Bearer vd_agt_…" } } }}cd examplesnpm installnpx tsx 01-register-and-paper-trade.ts