Copy Hyperliquid traders onto your own account, non-custodial. Not for Restricted Persons (Terms).
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
What copying one Hyperliquid trader would have done over the last 30 or 90 days, at an exposure level (prudent, equilibre or risque; not advanced) and a starting balance (USDC, default 5,000): returnPct, pnlUsd, maxDrawdownPct (worst drop from a peak, in % of the starting balance), feesUsd, ruined, trades (leader, copied, skipped by reason), coverage (truncated: true when Hyperliquid no longer has the oldest fills), assumptions and disclaimer. Same method as the Simulated Copy column of the Monthly Report, at the level's full size for this one trader, with the trader's fill prices plus our measured copy delay cost. A simulation on past data, not a promise. Limits: 5 per 24 hours during the free trial, 20 with a paid plan; the trader's data is kept 1 hour. Errors: backtest_limit, backtest_busy (retry after 60 seconds), unknown_leader.
Ethereum / Hyperliquid address
Default 90
Starting balance in USDC; default 5000
What copying one Hyperliquid trader would have done over the last 30 or 90 days, at an exposure level (prudent, equilibre or risque; not advanced) and a starting balance (USDC, default 5,000): returnPct, pnlUsd, maxDrawdownPct (worst drop from a peak, in % of the starting balance), feesUsd, ruined, trades (leader, copied, skipped by reason), coverage (truncated: true when Hyperliquid no longer has the oldest fills), assumptions and disclaimer. Same method as the Simulated Copy column of the Monthly Report, at the level's full size for this one trader, with the trader's fill prices plus our measured copy delay cost. A simulation on past data, not a promise. Limits: 5 per 24 hours during the free trial, 20 with a paid plan; the trader's data is kept 1 hour. Errors: backtest_limit, backtest_busy (retry after 60 seconds), unknown_leader.
| Argument | Type | Description |
|---|---|---|
| days | integer | Default 90 |
| level* | string | |
| leader* | string | Ethereum / Hyperliquid address |
| balance | number | Starting balance in USDC; default 5000 |
{
"type": "object",
"required": [
"leader",
"level"
],
"properties": {
"days": {
"enum": [
30,
90
],
"type": "integer",
"description": "Default 90"
},
"level": {
"enum": [
"prudent",
"equilibre",
"risque"
],
"type": "string"
},
"leader": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Ethereum / Hyperliquid address"
},
"balance": {
"type": "number",
"maximum": 10000000,
"minimum": 100,
"description": "Starting balance in USDC; default 5000"
}
},
"additionalProperties": false
}Closes every copied position at market, then pauses copying. Positions opened outside WakeTrades are not touched.
| Argument | Type | Description |
|---|---|---|
| idempotency_key | string | Optional Idempotency-Key (1 to 255 printable ASCII characters, for example a UUID): retrying with the same key and arguments within 24 hours returns the first answer and runs nothing again. |
{
"type": "object",
"required": [],
"properties": {
"idempotency_key": {
"type": "string",
"pattern": "^[\\x20-\\x7e]+$",
"maxLength": 255,
"minLength": 1,
"description": "Optional Idempotency-Key (1 to 255 printable ASCII characters, for example a UUID): retrying with the same key and arguments within 24 hours returns the first answer and runs nothing again."
}
},
"additionalProperties": false
}Closes at market every copied position currently in loss; the others keep running. One of the actions offered by a drawdown alert.
No arguments.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}Closes one copied position at market.
| Argument | Type | Description |
|---|---|---|
| coin* | string | Market, for example ETH or xyz:TSLA |
| idempotency_key | string | Optional Idempotency-Key (1 to 255 printable ASCII characters, for example a UUID): retrying with the same key and arguments within 24 hours returns the first answer and runs nothing again. |
{
"type": "object",
"required": [
"coin"
],
"properties": {
"coin": {
"type": "string",
"description": "Market, for example ETH or xyz:TSLA"
},
"idempotency_key": {
"type": "string",
"pattern": "^[\\x20-\\x7e]+$",
"maxLength": 255,
"minLength": 1,
"description": "Optional Idempotency-Key (1 to 255 printable ASCII characters, for example a UUID): retrying with the same key and arguments within 24 hours returns the first answer and runs nothing again."
}
},
"additionalProperties": false
}accept_terms: true accepts https://waketrades.com/terms on behalf of the wallet owner. Retry after 10 seconds on agent_not_registered_yet. Starts copying and the free trial if a webhook or Telegram is linked.
| Argument | Type | Description |
|---|---|---|
| accept_terms* | boolean |
{
"type": "object",
"required": [
"accept_terms"
],
"properties": {
"accept_terms": {
"type": "boolean",
"const": true
}
},
"additionalProperties": false
}In one call: closes every copied position at market and pauses copying. It does not revoke the trading key (only the wallet can, on Hyperliquid › API); resume_copying restarts copying.
| Argument | Type | Description |
|---|---|---|
| idempotency_key | string | Optional Idempotency-Key (1 to 255 printable ASCII characters, for example a UUID): retrying with the same key and arguments within 24 hours returns the first answer and runs nothing again. |
{
"type": "object",
"required": [],
"properties": {
"idempotency_key": {
"type": "string",
"pattern": "^[\\x20-\\x7e]+$",
"maxLength": 255,
"minLength": 1,
"description": "Optional Idempotency-Key (1 to 255 printable ASCII characters, for example a UUID): retrying with the same key and arguments within 24 hours returns the first answer and runs nothing again."
}
},
"additionalProperties": false
}Sends the signed message. Returns session_token: valid until your plan or free trial ends (paying extends it, no new sign-in needed), 6 months at most, 7 days before the trial starts. revoke_all_sessions ends it. The first sign-in of a wallet creates its WakeTrades account.
| Argument | Type | Description |
|---|---|---|
| nonce* | string | |
| address* | string | Ethereum / Hyperliquid address |
| message* | string | |
| signature* | string | 0x-prefixed 65-byte personal_sign signature |
{
"type": "object",
"required": [
"address",
"nonce",
"message",
"signature"
],
"properties": {
"nonce": {
"type": "string"
},
"address": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Ethereum / Hyperliquid address"
},
"message": {
"type": "string"
},
"signature": {
"type": "string",
"description": "0x-prefixed 65-byte personal_sign signature"
}
},
"additionalProperties": false
}Account, copy state, open positions, Hyperliquid balance and network, and copiesOnHold { held, reasons, coins }: held is true when new copies would not open now. Reasons: not_activated (sign-up not finished), paused, trial_expired, plan_expired, key_invalid (trading key expired or revoked: sign a new one), platform_paused, no_leaders, no_margin, not_unified (prudent, equilibre, risque: switch_to_unified_account), manual_positions (positions opened outside WakeTrades, listed in coins: close them), xyz_not_unified (advanced on a standard account: only the xyz markets are held, held stays false).
No arguments.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}Recent copy events (the same as webhook alerts).
| Argument | Type | Description |
|---|---|---|
| n | integer |
{
"type": "object",
"required": [],
"properties": {
"n": {
"type": "integer",
"maximum": 100,
"minimum": 1
}
},
"additionalProperties": false
}Equity, open positions and statistics of a Hyperliquid address you could copy: over 30 days, and over 90 days in stats.d90 (with pnlUsd and pnlPct, perps only).
| Argument | Type | Description |
|---|---|---|
| address* | string | Ethereum / Hyperliquid address |
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Ethereum / Hyperliquid address"
}
},
"additionalProperties": false
}A Hyperliquid trader's current open positions: coin, side, sizeUsd, entryPx, markPx, leverage, pnl (unrealized), liquidationPx, openedAt or openedBefore. Use it before choosing a suggested trader: the Monthly Report figures are month-end and a trader can hold a large losing position now. Positions already open when you start copying are never copied; notCopied: true would mark a market WakeTrades does not copy. Also orders: the trader's open orders (kind limit, sl or tp; coin, side, reduceOnly, wholePosition, value, px = trigger price for sl / tp, tp and sl = trigger prices of the take profit and stop loss attached to that order or null, placedAt), to see the prices they are waiting for. Read from Hyperliquid, kept 60 seconds.
| Argument | Type | Description |
|---|---|---|
| address* | string | Ethereum / Hyperliquid address |
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Ethereum / Hyperliquid address"
}
},
"additionalProperties": false
}Definitions of the four exposure levels (prudent, equilibre, risque, advanced): size of your copies, leaders, exposure cap, drawdown alerts, plans, minPracticalBalanceUsd. With equity (USDC) or a session_token (your Hyperliquid balance): recommendedLevel, the most prudent of prudent, equilibre, risque whose minimum balance the equity covers (1,100 / 550 / 300 USDC), with recommendationNote; under every minimum, risque with belowAllMinimums: true (copies under Hyperliquid's minimum order open at 11 USDC; risque stays closest to the leaders' proportions). advanced is never recommended. No session needed.
| Argument | Type | Description |
|---|---|---|
| equity | number | Balance in USDC to get a recommendation for; default: the signed-in account's balance |
{
"type": "object",
"required": [],
"properties": {
"equity": {
"type": "number",
"minimum": 0,
"description": "Balance in USDC to get a recommendation for; default: the signed-in account's balance"
}
},
"additionalProperties": false
}Plan prices in USDC for 1, 3 or 6 months, the struck regular prices, and the founder rule: 50% off for as long as you renew before your plan ends (lost if a paid plan lapses), first members only, can close without notice. bestValue = 6m.
No arguments.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}Recent copy orders, including skipped trades and why.
| Argument | Type | Description |
|---|---|---|
| n | integer |
{
"type": "object",
"required": [],
"properties": {
"n": {
"type": "integer",
"maximum": 100,
"minimum": 1
}
},
"additionalProperties": false
}Copied positions with their stop and take profit, and openedAt (ms) for their age.
No arguments.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}The monthly report: up to 5 Hyperliquid traders per exposure level (prudent, equilibre, risque; advanced picks from any list), with what a copy at that level would have made and lost over 90 days. Paid plan (access: full): everything, names and addresses included. Free trial (access: preview): rank, type, the copy figures, the trader's 90-day and 6-month returns, win rate (rounded down) and profit factor; no names or addresses. yourCopy: the top 3 of each level copied together, by balance (simulated). market: the month's market. texts: the month's notes (preview: no names, addresses or per-leader notes). annex: the biggest returns and why they are not listed (preview: up to 3 reasons, no address). yourResults: this wallet's real figures for the month ({ ready: false } until a month of copying is closed). Published on the 1st of each month for the month just ended.
| Argument | Type | Description |
|---|---|---|
| level | string | |
| month | string | Edition, YYYY-MM (default: the latest) |
{
"type": "object",
"required": [],
"properties": {
"level": {
"enum": [
"prudent",
"equilibre",
"risque"
],
"type": "string"
},
"month": {
"type": "string",
"pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
"description": "Edition, YYYY-MM (default: the latest)"
}
},
"additionalProperties": false
}The full flow for an AI agent, the rules that apply, and links to the docs and the OpenAPI reference.
No arguments.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}What WakeTrades is in one sentence, three quick-start steps with their endpoints, the Hyperliquid network, whether copying is on for everyone (on, pause or halt), and links to the docs, OpenAPI, llms.txt, MCP, agent skills and Terms. No session needed.
No arguments.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}HTTPS endpoint (port 443, public host) that receives signed copy alerts; it must answer 2xx to a test event. Returns the signing secret once. Starts the free trial if the trading key is already confirmed.
| Argument | Type | Description |
|---|---|---|
| url* | string |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
}
},
"additionalProperties": false
}No new copies; open copies stay managed (stops kept, closed when the leader closes).
| Argument | Type | Description |
|---|---|---|
| idempotency_key | string | Optional Idempotency-Key (1 to 255 printable ASCII characters, for example a UUID): retrying with the same key and arguments within 24 hours returns the first answer and runs nothing again. |
{
"type": "object",
"required": [],
"properties": {
"idempotency_key": {
"type": "string",
"pattern": "^[\\x20-\\x7e]+$",
"maxLength": 255,
"minLength": 1,
"description": "Optional Idempotency-Key (1 to 255 printable ASCII characters, for example a UUID): retrying with the same key and arguments within 24 hours returns the first answer and runs nothing again."
}
},
"additionalProperties": false
}Returns the payment action and the EIP-712 typedData to sign for a plan (exact price, WakeTrades receiver): usdSend from your free perps USDC, or sendAsset from your spot USDC when the perps balance is short (unified account). The free trial must have started. Before signing, check typedData (not only action): primaryType HyperliquidTransaction:UsdSend or HyperliquidTransaction:SendAsset, message.destination = receiver and message.amount = your plan's price, both from GET https://waketrades.com/api/v1/subscription; never sign a Withdraw.
| Argument | Type | Description |
|---|---|---|
| plan* | string |
{
"type": "object",
"required": [
"plan"
],
"properties": {
"plan": {
"enum": [
"1m",
"3m",
"6m"
],
"type": "string"
}
},
"additionalProperties": false
}Creates (or returns) the WakeTrades trading key for this account and returns the approveAgent action and the EIP-712 typedData to sign with the wallet. Hyperliquid refuses keys on an account without a deposit. Before signing, check that typedData's primaryType is HyperliquidTransaction:ApproveAgent; never sign a Withdraw.
No arguments.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}Resumes copying if the trial or plan is valid and an alert channel is linked.
| Argument | Type | Description |
|---|---|---|
| idempotency_key | string | Optional Idempotency-Key (1 to 255 printable ASCII characters, for example a UUID): retrying with the same key and arguments within 24 hours returns the first answer and runs nothing again. |
{
"type": "object",
"required": [],
"properties": {
"idempotency_key": {
"type": "string",
"pattern": "^[\\x20-\\x7e]+$",
"maxLength": 255,
"minLength": 1,
"description": "Optional Idempotency-Key (1 to 255 printable ASCII characters, for example a UUID): retrying with the same key and arguments within 24 hours returns the first answer and runs nothing again."
}
},
"additionalProperties": false
}Signs out every session of this wallet: browsers, AI agents and links opened from the Telegram bot, this session included. Use it if a session_token may have leaked. Copying and open copies are not affected; sign in again to continue.
No arguments.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}Advanced level only (every plan and the free trial). Every field is optional; missing fields keep their value. size_pct: size of your copies in % of your leaders' size across 3 leaders (100 = risque). max_exposure_x: total exposure cap in x your balance, or null for none. max_open_positions: integer, or null for no limit. alerts_pct: one or two increasing drawdown thresholds. auto_stop_pct: drawdown from your highest balance at which every copy is closed and copying pauses, or null. follow_adds, copy_leader_tpsl: booleans. markets: which markets new copies may open on, any of crypto (Hyperliquid's main perps), btc (BTC only), xyz (every tokenized stock, index and commodity), gold (xyz:GOLD), wti (xyz:CL), indexes (xyz:SP500, xyz:XYZ100, xyz:JP225, xyz:KR200), combined with OR; [] = all markets (default). min_market_leverage: copy only markets whose Hyperliquid max leverage is at least this (AND with markets), or null. max_leverage: cap on the leverage set on your copies (margin used, not copy size), or null. sides: both (default), long or short, for new copies; adds, reductions and closes of open copies are always followed. copy_stop_pct: your own stop on each new copy at entry -/+ this %, or null; the leader's copied stop is kept when it is closer. daily_loss_pct: when your balance, deposits and withdrawals of the day excluded, falls this % below its first reading of the UTC day, no new copies for 24 hours (event daily_loss_limit), or null. Trades not copied by these rules are skipped with codes market_filtered, leverage_filtered, side_filtered, daily_loss_limit. You are on your own. tp1_pct / tp1_close_pct, tp2_pct / tp2_close_pct, sl_pct / sl_close_pct: your own take profits and stop loss on each new copy, at a PnL % of the copy (leverage included, as Hyperliquid shows it: at 10x, 20 = 2% price) and the % of the copy to close (tp2: of what is left; 100 = all), or null; break_even_after_tp1: after take profit 1, move the stop to break-even. After a partial close the copy keeps following the leader on what is left.
| Argument | Type | Description |
|---|---|---|
| sides | string | |
| sl_pct | number | null |
During sign-up, call it first with the level only, then with leaders (suggest_leader proposes one). Leaders to copy (followed in order: up to 3 at prudent, equilibre and risque, up to 5 at advanced; the others stay saved) and the exposure level. Every level copies your leaders' positions scaled to your balance, adds and reductions included, with their stop loss and take profit and no stop of its own; the size is set per leader, so following fewer leaders lowers your exposure. prudent: 25% of your leaders' size across 3 leaders, total exposure up to 3x your balance, drawdown alerts at -6% and -8%. equilibre: 50%, up to 10x, alerts -15% and -20%. risque: 100%, up to 20x, alerts -30% and -50%, 2 leaders strongly recommended (not required), risk_ack: true required above 10,000 USDC. advanced: every plan and the free trial, starts with risque's settings; change them with set_advanced. Alerts never close anything on their own. At prudent, equilibre and risque, new copies need a Hyperliquid Unified Account (switch_to_unified_account) with no positions opened outside WakeTrades; at advanced, only the xyz markets need it. An account needs a minimum balance because Hyperliquid has a minimum order size: plan for at least 1,100 USDC at prudent, 550 at equilibre, 300 at risque (get_levels gives recommendedLevel for your balance); below that, most copies open at the 11 USDC minimum order, larger than the level's share; the answer may carry a non-blocking warning copies_too_small.
| Argument | Type | Description |
|---|---|---|
| level* | string | |
| dry_run | boolean | true: run every check and return what the call would do, without saving, sending or relaying anything. |
| leaders | array | |
| risk_ack | boolean |
How copies enter. limit (default for new accounts): a post-only order at the leader's price; unfilled after 1 minute, it is cancelled and the copy opens at market unless the price is more than 1% from the leader's entry; if the leader exits first, nothing is copied (limit_missed event). market: at market right away, skipped if the price is more than 1% from the leader's entry. Orders already waiting keep their mode.
| Argument | Type | Description |
|---|---|---|
| mode* | string |
{
"type": "object",
"required": [
"mode"
],
"properties": {
"mode": {
"enum": [
"market",
"limit"
],
"type": "string"
}
},
"additionalProperties": false
}Returns a nonce and the exact message to sign with the wallet (EIP-191 personal_sign). Valid 10 minutes.
| Argument | Type | Description |
|---|---|---|
| address* | string | Ethereum / Hyperliquid address |
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Ethereum / Hyperliquid address"
}
},
"additionalProperties": false
}Relays the signed payment (usdSend or sendAsset) to Hyperliquid and applies the plan as soon as Hyperliquid accepts it. dry_run: true runs every check (action, plan and amount, receiver, token, signer, age, balance of the signed source) and answers { dryRun, ok, plan, amount, from, source, wouldRelay } or the error the real call would give, without relaying or applying anything; then send the same action without dry_run within its 10 minutes. Before signing, check typedData (not only action): primaryType HyperliquidTransaction:UsdSend or HyperliquidTransaction:SendAsset, message.destination = receiver and message.amount = your plan's price, both from GET https://waketrades.com/api/v1/subscription; never sign a Withdraw.
| Argument | Type | Description |
|---|---|---|
| plan* | string | |
| action* | object | |
| dry_run | boolean | true: run every check and return what the call would do, without saving, sending or relaying anything. |
| signature* | object | EIP-712 signature split into r, s, v (v = 27 or 28) |
| idempotency_key | string | Optional Idempotency-Key (1 to 255 printable ASCII characters, for example a UUID): retrying with the same key and arguments within 24 hours returns the first answer and runs nothing again. |
{
"type": "object",
"required": [
"plan",
"action",
"signature"
],
"properties": {
"plan": {
"enum": [
"1m",
"3m",
"6m"
],
"type": "string"
},
"action": {
"type": "object"
},
"dry_run": {
"type": "boolean",
"description": "true: run every check and return what the call would do, without saving, sending or relaying anything."
},
"signature": {
"type": "object",
"required": [
"r",
"s",
"v"
],
"properties": {
"r": {
"type": "string"
},
"s": {
"type": "string"
},
"v": {
"enum": [
27,
28
],
"type": "integer"
}
},
"description": "EIP-712 signature split into r, s, v (v = 27 or 28)"
},
"idempotency_key": {
"type": "string",
"pattern": "^[\\x20-\\x7e]+$",
"maxLength": 255,
"minLength": 1,
"description": "Optional Idempotency-Key (1 to 255 printable ASCII characters, for example a UUID): retrying with the same key and arguments within 24 hours returns the first answer and runs nothing again."
}
},
"additionalProperties": false
}Relays the signed approveAgent to Hyperliquid. On hyperliquid_refused, reason no_deposit means deposit USDC first; too_many_agents means revoke an API wallet on Hyperliquid.
| Argument | Type | Description |
|---|---|---|
| action* | object | |
| signature* | object | EIP-712 signature split into r, s, v (v = 27 or 28) |
| idempotency_key | string | Optional Idempotency-Key (1 to 255 printable ASCII characters, for example a UUID): retrying with the same key and arguments within 24 hours returns the first answer and runs nothing again. |
{
"type": "object",
"required": [
"action",
"signature"
],
"properties": {
"action": {
"type": "object"
},
"signature": {
"type": "object",
"required": [
"r",
"s",
"v"
],
"properties": {
"r": {
"type": "string"
},
"s": {
"type": "string"
},
"v": {
"enum": [
27,
28
],
"type": "integer"
}
},
"description": "EIP-712 signature split into r, s, v (v = 27 or 28)"
},
"idempotency_key": {
"type": "string",
"pattern": "^[\\x20-\\x7e]+$",
"maxLength": 255,
"minLength": 1,
"description": "Optional Idempotency-Key (1 to 255 printable ASCII characters, for example a UUID): retrying with the same key and arguments within 24 hours returns the first answer and runs nothing again."
}
},
"additionalProperties": false
}Traders of our latest Monthly Report for an exposure level (advanced uses risque's list). Rule: each more prudent level's suggestion is set aside first (prudent, then equilibre); then, among the level's #3 to #5 not set aside, the one who opened the most positions in the 30 days before the report is suggested (a tie goes to the better rank), never #1 or #2; if #3 to #5 were all set aside, the most active of them anyway. One suggestion per level, for every account: three traders of the report in all; the full lists are in get_report with a paid plan. risque strongly recommends 2 leaders: choose the second one yourself. The answer's top-level fields are the suggestion and suggestions repeats it: address, rank, winRatePct, profitFactor, tradesPerMonth, medianHoldHours, note, liveCheck. Report figures are month-end: before choosing, check the trader's current positions with get_leader_positions. Then pass the address to set_copy_settings; changeable any time. Error no_suggestion: no report published yet.
| Argument | Type | Description |
|---|---|---|
| level | string |
{
"type": "object",
"required": [],
"properties": {
"level": {
"enum": [
"prudent",
"equilibre",
"risque",
"advanced"
],
"type": "string"
}
},
"additionalProperties": false
}Switches the Hyperliquid account to a Unified Account with the trading key (Hyperliquid agentSetAbstraction): no wallet signature. Required for new copies at prudent, equilibre and risque, and for xyz markets at every level. Call it right after confirm_trading_key. Returns { mode, unified }; an account already unified is left as is. Errors: key_required (confirm the trading key first), switch_failed (switch it in your Hyperliquid settings).
| Argument | Type | Description |
|---|---|---|
| idempotency_key | string | Optional Idempotency-Key (1 to 255 printable ASCII characters, for example a UUID): retrying with the same key and arguments within 24 hours returns the first answer and runs nothing again. |
{
"type": "object",
"required": [],
"properties": {
"idempotency_key": {
"type": "string",
"pattern": "^[\\x20-\\x7e]+$",
"maxLength": 255,
"minLength": 1,
"description": "Optional Idempotency-Key (1 to 255 printable ASCII characters, for example a UUID): retrying with the same key and arguments within 24 hours returns the first answer and runs nothing again."
}
},
"additionalProperties": false
}Removes the webhook. Copying pauses if no alert channel is left; open copies stay managed.
No arguments.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}| markets | array |
| tp1_pct | number | null |
| tp2_pct | number | null |
| size_pct | number |
| alerts_pct | array |
| follow_adds | boolean |
| max_leverage | integer | null |
| sl_close_pct | number |
| auto_stop_pct | number | null |
| copy_stop_pct | number | null |
| tp1_close_pct | number |
| tp2_close_pct | number |
| daily_loss_pct | number | null |
| max_exposure_x | number | null |
| copy_leader_tpsl | boolean |
| max_open_positions | integer | null |
| min_market_leverage | integer | null |
| break_even_after_tp1 | boolean |
{
"type": "object",
"required": [],
"properties": {
"sides": {
"enum": [
"both",
"long",
"short"
],
"type": "string"
},
"sl_pct": {
"type": [
"number",
"null"
],
"maximum": 100,
"minimum": 1
},
"markets": {
"type": "array",
"items": {
"enum": [
"crypto",
"btc",
"xyz",
"gold",
"wti",
"indexes"
],
"type": "string"
},
"uniqueItems": true
},
"tp1_pct": {
"type": [
"number",
"null"
],
"maximum": 1000,
"minimum": 1
},
"tp2_pct": {
"type": [
"number",
"null"
],
"maximum": 1000,
"minimum": 1
},
"size_pct": {
"type": "number",
"maximum": 300,
"minimum": 5
},
"alerts_pct": {
"type": "array",
"items": {
"type": "number",
"maximum": 90,
"minimum": 1
},
"maxItems": 2,
"minItems": 1
},
"follow_adds": {
"type": "boolean"
},
"max_leverage": {
"type": [
"integer",
"null"
],
"maximum": 50,
"minimum": 1
},
"sl_close_pct": {
"type": "number",
"maximum": 100,
"minimum": 1
},
"auto_stop_pct": {
"type": [
"number",
"null"
],
"maximum": 90,
"minimum": 5
},
"copy_stop_pct": {
"type": [
"number",
"null"
],
"maximum": 90,
"minimum": 1
},
"tp1_close_pct": {
"type": "number",
"maximum": 100,
"minimum": 1
},
"tp2_close_pct": {
"type": "number",
"maximum": 100,
"minimum": 1
},
"daily_loss_pct": {
"type": [
"number",
"null"
],
"maximum": 50,
"minimum": 1
},
"max_exposure_x": {
"type": [
"number",
"null"
],
"maximum": 50,
"minimum": 1
},
"copy_leader_tpsl": {
"type": "boolean"
},
"max_open_positions": {
"type": [
"integer",
"null"
],
"maximum": 50,
"minimum": 1
},
"min_market_leverage": {
"type": [
"integer",
"null"
],
"maximum": 50,
"minimum": 1
},
"break_even_after_tp1": {
"type": "boolean"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"level"
],
"properties": {
"level": {
"enum": [
"prudent",
"equilibre",
"risque",
"advanced"
],
"type": "string"
},
"dry_run": {
"type": "boolean",
"description": "true: run every check and return what the call would do, without saving, sending or relaying anything."
},
"leaders": {
"type": "array",
"items": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Ethereum / Hyperliquid address"
},
"maxItems": 5
},
"risk_ack": {
"type": "boolean"
}
},
"additionalProperties": false
}