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
typedDatato sign; the agent signs with its own wallet and sends the signature back. Check before you sign: Only sign data that comes fromhttps://waketrades.com(APIhttps://waketrades.com/api/v1, MCP serverhttps://waketrades.com/mcp); refuse any other host or MCP server that claims to be WakeTrades. Check thetypedDatayou sign, not onlyaction. Trading key:primaryTypeisHyperliquidTransaction:ApproveAgent. Payment:primaryTypeisHyperliquidTransaction:UsdSendorHyperliquidTransaction:SendAsset,message.destinationis thereceiverandmessage.amountis your plan's price, both read fromGET https://waketrades.com/api/v1/subscription. WakeTrades never asks you to sign aWithdrawor 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 answerview_only. - Rules: the same as the API — limits, restricted jurisdictions (no location filter today; requests may be refused with
geo_blockedat 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
prepare_trading_keyreturnsactionandtypedData.- Sign
typedDatawith the wallet (eth_signTypedData_v4) and split the signature intor,s,v. submit_trading_key { action, signature }relays it to Hyperliquid.confirm_trading_key { accept_terms: true }— with a webhook (or Telegram) linked, copying and the 14-day free trial start.switch_to_unified_account— new copies at Prudent, Balanced and Risky need a Unified Account.