WakeTrades

API for AI Agents

Use WakeTrades Through MCP

Connect an MCP client to WakeTrades at https://waketrades.com/mcp. 33 tools cover the whole flow — sign-in, traders and exposure level, webhook, trading key, payment and controls — with signatures made by the agent's own wallet, or with a code the wallet owner gives from their Profile.

WakeTrades runs a remote Model Context Protocol server. Any MCP client can call it: the same flow as the API, as tools.

  • Address: https://waketrades.com/mcp (Streamable HTTP, JSON responses, no login to connect)
  • Signatures: the server never sees a private key. Tools that need a signature return the exact EIP-191 message or EIP-712 typedData to sign; the agent signs with its own wallet and sends the signature back. Check before you sign: Only sign data that comes from https://waketrades.com (API https://waketrades.com/api/v1, MCP server https://waketrades.com/mcp); refuse any other host or MCP server that claims to be WakeTrades. Check the typedData you sign, not only action. Trading key: primaryType is HyperliquidTransaction:ApproveAgent. Payment: primaryType is HyperliquidTransaction:UsdSend or HyperliquidTransaction:SendAsset, message.destination is the receiver and message.amount is your plan's price, both read from GET https://waketrades.com/api/v1/subscription. WakeTrades never asks you to sign a Withdraw or any other type. If anything differs, do not sign and tell your owner.
  • Helping a person who keeps their wallet: they connect you from Profile › AI Agent on waketrades.com and give you a code. Put it in your MCP client's headers as Authorization: Bearer <code> and skip the sign-in tools; the trading key and payments stay with them on the website (Connect Your AI Agent). A View only code can only read: write tools answer view_only.
  • Rules: the same as the API — limits, restricted jurisdictions (no location filter today; requests may be refused with geo_blocked at any time, see Rules), the Terms of use.

Connect

Add the server to your client's MCP configuration, for example:

{ "mcpServers": { "waketrades": { "type": "http", "url": "https://waketrades.com/mcp" } } }

After finish_sign_in, put the session_token in the Authorization header of the server. Tools don't take it as an argument: it would end up in transcripts and logs.

{ "mcpServers": { "waketrades": { "type": "http", "url": "https://waketrades.com/mcp", "headers": { "Authorization": "Bearer <session_token>" } } } }

Tools

Tool What it does
hello Start here: what WakeTrades is, three quick-start steps, the network, whether copying is on, and the links (Hello)
get_started The whole flow, the rules and the links
get_offer, get_leader, get_levels Prices; a Hyperliquid trader's card; the four exposure levels and their rules, with recommendedLevel for a balance (equity, or the signed-in account's with session_token)
get_leader_positions A trader's open positions now (PnL, size, age): check it before choosing, report figures are month-end
backtest_leader What copying a trader would have done over the last 30 or 90 days at a level and balance: return, worst drop, trades copied and skipped, fees. 5 per 24 hours on the free trial, 20 with a paid plan (Backtest a Trader)
start_sign_in, finish_sign_in Message to sign (EIP-191), then session_token (valid until your plan or free trial ends, 6 months at most, and 7 days before the trial starts)
get_account Account, copy status, positions, balance, and copiesOnHold (held, reasons, coins): why new copies would not open now
set_copy_settings Exposure level (prudent, equilibre, risque, advanced) and traders (up to 3, or 5 at advanced). During sign-up, call it with the level alone first, then with traders
suggest_leader One trader of our latest Monthly Report for the level (one suggestion per level; you can follow up to 3 leaders, 5 at advanced): the most active of #3 to #5, never #1 or #2, skipping any trader already suggested for a more prudent level (rule), with win rate, profit factor, trades per month, median holding time and liveCheck; pass the address to set_copy_settings. If no edition is published yet: no_suggestion, choose a trader by address
set_order_mode limit (default: post-only at the leader's price, market after 1 minute, limit_missed if the leader exits first) or market (Order Mode)
set_advanced Settings of the Advanced level (every plan, free trial included): size, exposure cap, open positions, alerts, automatic stop, adds, take profit and stop loss; markets, minimum market leverage, leverage cap, sides, stop per copy, daily loss limit (all off by default, see Advanced Settings)
link_webhook, unlink_webhook Alert channel for agents (Webhooks)
prepare_trading_key, submit_trading_key, confirm_trading_key approveAgent typedData to sign, relay it, accept the Terms and start copying
switch_to_unified_account Switch the Hyperliquid account to a Unified Account with the trading key, no signature: call it right after confirm_trading_key (why)
prepare_payment, submit_payment The payment to sign for a plan (usdSend from perps, or sendAsset from spot USDC), then pay
get_positions, get_orders, get_journal Copied positions (prices and PnL up to 30 seconds old, longer during a Hyperliquid outage or heavy load), copy orders and skipped trades, events
get_report The monthly report: up to 5 traders per exposure level (names and addresses with a paid plan)
pause_copying, resume_copying, close_position, close_losing, close_all, emergency_stop Controls (closing tools are marked destructive)
revoke_all_sessions Signs out every session of the wallet, this one included (browsers, agents, Telegram links); copying is not affected

Every tool except the public ones needs the session: send it as the header Authorization: Bearer <session_token>. A session_token argument is refused (token_in_arguments); without the header, the tool answers session_required. Results come as JSON (structuredContent); errors have isError: true and the same codes as the API, with fix (what to do next) and docs (Errors). set_copy_settings and submit_payment take dry_run: true to rehearse with no effect (Dry Run); submit_payment, submit_trading_key, switch_to_unified_account and the controls except close_losing take an optional idempotency_key (Idempotency).

Example: Sign the Trading Key

  1. prepare_trading_key returns action and typedData.
  2. Sign typedData with the wallet (eth_signTypedData_v4) and split the signature into r, s, v.
  3. submit_trading_key { action, signature } relays it to Hyperliquid.
  4. confirm_trading_key { accept_terms: true } — with a webhook (or Telegram) linked, copying and the 14-day free trial start.
  5. switch_to_unified_account — new copies at Prudent, Balanced and Risky need a Unified Account.

Last updated October 28, 2026