Vectorial Data Terminal: Hyperliquid, Polymarket & yield for AI agents
Self-custodial Hyperliquid perps, Polymarket, staking and yield for AI agents, with a kill switch.
Connect Remote server
claude mcp add --transport http terminal https://terminal.vectorialdata.com/api/mcp --header "Authorization: Bearer <YOUR_API_KEY>"
{
"mcpServers": {
"terminal": {
"url": "https://terminal.vectorialdata.com/api/mcp",
"headers": {
"Authorization": "Bearer <YOUR_API_KEY>"
}
}
}
}
{
"servers": {
"terminal": {
"type": "http",
"url": "https://terminal.vectorialdata.com/api/mcp",
"headers": {
"Authorization": "Bearer <YOUR_API_KEY>"
}
}
}
}
Settings > Connectors > Add custom connector
URL: https://terminal.vectorialdata.com/api/mcp
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools 73 found in our last check
get_docsThe complete Agent API manual (markdown): auth, trading, limits, withdrawals, error catalog.
list_marketsTradeable markets with live prices and the precision metadata needed to size orders (size_decimals, min_size, price rules, $10 min notional).
get_registration_challengeStep 1 of creating an agent account: get a nonce+message to sign (EIP-191) with the agent's own EVM wallet.
register_agentStep 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.
get_accountYour agent account: status, mode (paper|live), scopes, live balances, deposit address, limits.
get_positionsOpen positions (live: venue truth; paper: from your fills).
list_ordersYour authoritative order ledger (cursor-paginated). Paper triggers appear as trigger_tp/trigger_sl rows.
get_metricsYour tear-sheet: win rate, net PnL, fees, drawdown, Sharpe, equity curve — computed server-side from the authoritative ledger.
place_orderPlace 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:…
submit_orderExecute a prepared LIVE order with your trading key's signatures (one per typed_data, in order).
close_positionClose an open position (fully or size_pct). Paper executes immediately; live returns typed_data for signing.
protect_positionAttach post-hoc reduce-only TP/SL triggers to an open position. Paper executes immediately.
cancel_orderCancel a resting order by ledger id. Paper executes immediately.
submit_intentExecute a prepared intent (cancel/protect/withdraw) with the wallet's signatures.
log_decisionLog WHY you traded (your audit trail and future public track record). Pass order_id to correlate.
get_limitsYour bounded-autonomy rails (caps, allowlists, pending loosenings).
update_limitsAdjust rails. Tightening is instant; loosening waits 24h (see /limits/escalate in the docs for the wallet-signed immediate path).
set_modeFlip paper ↔ live. Fund the wallet before going live (see get_account.deposit).
kill_switchInstant pause: every subsequent prepare/submit is rejected until resume_trading (which needs the wallet's signature).
resume_tradingReactivate 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.
get_withdrawals_configMoney-out policy: mode (disabled|autonomous|human_passkey), strict destinations, guardian link.
list_pending_withdrawalsYour withdraw intents and their approval lifecycle (human_passkey). Approved intents include signable actions.
prepare_withdrawalPrepare 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.
guardian_statusHuman guardian link state (human_passkey mode).
invite_guardianMint a single-use invite (48h) for a human to become this agent's withdrawal guardian. Hand them the accept_url.
list_webhooksYour webhook endpoints (max 5): url, subscribed event types, status, failure counters. Also returns the full event-type catalog.
create_webhookRegister 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.
get_webhookOne webhook + its last 20 delivery attempts (status codes, retries, dead letters) — the delivery debugging surface.
delete_webhookRemove a webhook endpoint (its queued deliveries are dropped).
test_webhookSend a synchronous signed test event to a webhook and report the receiver's response — verify your endpoint + HMAC handling before relying on real events.
list_copy_leadersStrategies 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'…
get_copy_statusWhat 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_po…
follow_leaderStart 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…
unfollow_leaderStop copying a leader. Live: 'stopping' while the engine closes your mirrored positions and settles fees. Requires the 'copy' scope.
create_copy_walletCreate 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 au…
get_trading_walletYour 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_trading_walletCreate 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 an…
authorize_trading_keyAuthorize 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…
send_trading_funds_homeMove 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 wa…
get_copy_walletYour copy wallet: address to fund, whether it is ready for live copying, and the custody terms.
get_scope_challengeStep 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…
escalate_scopeStep 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.
rotate_keyMint 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.
list_prediction_marketsPrediction 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…
get_prediction_bookLive order book of one prediction outcome (best first): best bid/ask, mid, tick size and the top levels with sizes in shares.
get_predictions_accountYour 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_predictionsEnable 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, i…
place_prediction_orderBuy 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.…
submit_prediction_orderExecute 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).
get_prediction_positionsYour 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).
send_predictions_homeMove 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 whil…
collect_prediction_winningsCollect 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_…
submit_predictions_batchExecute a prepared send_predictions_home or collect_prediction_winnings batch with your agent wallet's signature (gasless, via Polymarket's relayer).
get_earnEarn 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 tra…
certify_earnOne-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_o…
earn_hlp_depositDeposit 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 ove…
earn_hlp_withdrawWithdraw 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 agains…
buy_hypeBuy 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…
sell_hypeSell 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…
stake_hypeStake 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…
delegate_hypeDelegate 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 paylo…
unstake_hypeUnstake 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 E…
earn_usdc_depositLend 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_o…
earn_usdc_withdrawWithdraw 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 OW…
transfer_spot_perpsMove 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…
move_fundsMove 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 ea…
submit_operationExecute 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 'u…
list_operationsYour last Earn / move operations: what each did, step by step, and how it ended.
get_live_accountConnected AI apps with the 'live' permission: the person's REAL Terminal account on Hyperliquid — balance, open positions (all markets, including HIP-3) and open orders with their order_id. Read-only.
propose_live_orderConnected AI apps with the 'live' permission: PROPOSE a real-money order on the person's Terminal account. Nothing is sent: the person gets a notification on their devices and approves it in the Terminal (approve_url, expires in 15 minutes), then it goes through the same path as…
get_live_proposalWhat happened to a live proposal: pending (waiting for the person), executed (with the fill or the resting order_id), failed, rejected, cancelled, expired or uncertain (no answer in time: check get_live_account).
list_live_proposalsYour last 20 live proposals and their status.
cancel_live_proposalWithdraw a live proposal that is still waiting for the person's approval.
Headers
| Name | Description |
|---|---|
AuthorizationOptional, secret | Bearer <your vd_agt_ API key>. Docs, markets and registration work without it; the register_agent tool returns the key. |
Details
| Endpoint | https://terminal.vectorialdata.com/api/mcp (Streamable HTTP) |
| First published | 6 Nov 2026 |
| Last updated | 6 Nov 2026 |
| Registry name | com.vectorialdata/terminal |
More ai and media servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
