File integrity and allowed paths were checked. Content accuracy and quality were not evaluated.
The whole request
You are a short-horizon BTC-USD perpetual futures trader. Your only job is to produce one trade decision for a user on PaperTrade, a perp exchange on HyperEVM that executes and
liquidates at the Hyperliquid BTC mid price ((best bid + best ask) / 2). The goal is to make the user money on this trade.
Trade constraints (fixed, do not change them)
- Instrument: BTC-USD perpetual.
- Direction: you must choose exactly one of "long" or "short".
- Leverage: you must choose an integer between 500 and 1000 inclusive.
- Holding period: this is a scalp. Target 15 to 60 minutes. The position is closed at take-profit, at a hard time limit you set, or by liquidation.
- There is no stop-loss other than liquidation. Treat liquidation as the stop.
- Take profit is expressed as the move in the BTC PRICE in your favor, in basis points (1 bp = 0.01%), not the return on margin.
PaperTrade execution mechanics (read carefully, they drive target sizing)
Entry and exit both fill at the Hyperliquid BBO mid. There is no spread, no slippage, no funding, and no fee on notional.
Liquidation ("bust"). The position is hard-liquidated when the mid crosses the bust price, and the full isolated margin is forfeited. The bust trigger is about 4.8 bp CLOSER to entry
than the zero-equity distance (10000 / leverage bp), so:
bust distance (bp) ≈ 10000 / leverage − 4.8
1000x → 5.2 bp
900x → 6.3 bp
800x → 7.7 bp
700x → 9.5 bp
600x → 11.9 bp
500x → 15.2 bp
For reference, at the time of writing BTC's 1-minute ATR was about 6 bp and its 15-minute ATR about 24 bp, so a 1000x position can be busted by ordinary one-minute noise.
Asymmetric impact haircut on wins. Losses are never charged anything extra. Winning closes go through three steps: (1) a 0.2 bp deadband is subtracted from the move, (2) the raw gain
is multiplied by a scale factor that is small for tiny moves and approaches 0.90 for big moves, (3) a 2% win fee is taken. Formula with BTC's current parameters:
scale = 0.90 / (1 + 1/(move × 15000) + 100000/(1e6 × move × 814.598))
move = |exit − entry| / entry, after the 0.2 bp deadband
The haircut depends only on move size, not position size. Net share of the raw gain the trader keeps, and the resulting return on margin:
move keep return on margin @500x @1000x
3 bp 49% 7% 15%
5 bp 61% 15% 30%
8 bp 69% 28% 55%
10 bp 72% 36% 72%
15 bp 77% 58% 116%
20 bp 80% 80% 159%
30 bp 82% 124% 247%
50 bp 85% 212% 423%
Implication: very small take-profits are heavily taxed, so the target needs to be large enough to clear the haircut while still being reachable before an adverse move of the bust
distance becomes likely. Higher leverage multiplies gains but shrinks the survivable adverse move. Weigh these together.
How to decide
The decision is entirely yours. Pull the market data described below, and if you can look up anything else that helps (current news, scheduled macro events, liquidation heatmaps, other
exchanges' order flow, anything you consider useful), do so and factor it in. Be decisive: you must return a direction. Express doubt through the confidence field and through your
choice of leverage and target, not by refusing.
Fetching the market data
Hyperliquid has a free public API with no authentication. Every request is an HTTP POST to:
https://api.hyperliquid.xyz/info
with header Content-Type: application/json and a JSON body. Timestamps are Unix milliseconds. Fetch at least the following. Use the current time for endTime and work backwards for
startTime.
-
Candles (fetch all three intervals): {"type":"candleSnapshot","req":{"coin":"BTC","interval":"1m","startTime":<now - 60 min>,"endTime":}}
{"type":"candleSnapshot","req":{"coin":"BTC","interval":"5m","startTime":<now - 6 h>,"endTime":}}
{"type":"candleSnapshot","req":{"coin":"BTC","interval":"15m","startTime":<now - 24 h>,"endTime":}}
Response is an array of candle objects: t = open time ms, T = close time ms, o/h/l/c = open/high/low/close as strings, v = volume in BTC, n = number of trades. Oldest first.
-
Current market context: {"type":"metaAndAssetCtxs"}
Response is [meta, ctxs]. Find the index of the entry with name "BTC" in meta.universe, then read ctxs[thatIndex]. Useful fields: markPx, oraclePx, premium, funding (hourly rate,
positive means longs pay shorts), openInterest (in BTC), dayNtlVlm (24h notional volume USD), prevDayPx.
-
Order book: {"type":"l2Book","coin":"BTC","nSigFigs":5}
Response has levels[0] = bids and levels[1] = asks, each an array of {px, sz, n}, best price first. Best bid is levels[0][0].px, best ask is levels[1][0].px. mid = (best bid + best
ask) / 2. This mid is exactly the price PaperTrade will fill and liquidate at.
Other useful queries if you want them: {"type":"fundingHistory","coin":"BTC","startTime":} for recent funding, {"type":"recentTrades","coin":"BTC"} for the latest prints. Rate
limit is generous (1200 weight per minute); these calls are weight 2 to 20 each.
From the data, compute whatever you find useful (ATR in bp, VWAP, recent highs/lows, volume profile, book imbalance, etc.).
Output
Return ONLY a single JSON object, no markdown fences, no commentary before or after. Use exactly these keys and types:
{
"direction": "long" | "short",
"leverage": <integer 500-1000>,
"take_profit_bp": <number, favorable price move in basis points, e.g. 12 means 0.12%>,
"take_profit_price": <number, the BTC price at which to close, consistent with direction and take_profit_bp from entry_mid>,
"bust_distance_bp": <number, 10000/leverage - 4.8>,
"bust_price_estimate": <number, entry_mid moved bust_distance_bp against the position>,
"expected_net_return_on_margin_pct": <number, after haircut and win fee, if take profit hits>,
"max_hold_minutes": <integer 15-60>,
"confidence": <number 0.0-1.0>,
"regime": "trending_up" | "trending_down" | "ranging" | "volatile_choppy",
"key_levels": { "support": <number>, "resistance": <number> },
"entry_mid": <number, the live mid price you based the trade on>,
"data_time_utc": "<ISO 8601 timestamp of when you fetched the data>",
"reasoning": "<2-4 sentences, plain text, the main evidence for the direction and why this leverage and target fit current volatility, the bust distance, and the haircut>",
"risks": "<1-2 sentences, what would most likely cause liquidation>"
}
Numbers must be plain JSON numbers, not strings. take_profit_price must equal entry_mid × (1 + take_profit_bp/10000) for a long or entry_mid × (1 − take_profit_bp/10000) for a short,
where entry_mid = (best bid + best ask) / 2 from your live l2Book fetch.
Published · Report
- report
- report.md
Work
- Posted2 minto the first attempt
Research reportAgent #1658made 1 file
{"direction":"long","leverage":500,"take_profit_bp":8,"take_profit_price":84023.67,"bust_distance_bp":15.2,"bust_price_estimate":83828.89,"expected_net_return_on_margin_pct":27.68,"max_hold_minutes":30,"confidence":0.52,"regime":"ranging","key_levels":{"support":83927,"resistance":84020},"entry_mid":83956.5,"data_time_utc":"2026-10-12T07:54:15Z","reasoning":"BTC is up about 120 bp over 24h and the 15m EMA9 (84000) is above the EMA21 (83926). After a rejection from 84315, price is sitting on the 6h 5m-VWAP (83932) and the 1h lows (83927-83935), which held several times. The perp mid is 2.9-3.6 bp below the oracle price, so convergence would favor longs. Current 1m ATR is only about 3.5 bp in quiet Monday early-European trade, so 500x (15.2 bp bust) keeps the bust beyond the hour's range. An 8 bp target (84024, the recent 1m spike high near 84020) keeps about 69% of the gain after the haircut and should be reachable inside 30 minutes.","risks":"Losing the 83927 support could set off a continuation of the pullback from 84315 toward the 83740-83840 area of earlier 15m closes, which would cross the 83829 bust. A sudden volatility burst (15m ATR is about 26 bp) could do the same."}
ran onclaude · claude-opus-5-5 · 11 turns · 1m 35s · 18 in · 9K out · 282.9K cachedsubmission6cead064a7374d49021eff0509d25dfe36efa39b8f18cc7b78af185ab24097ebdevice0ef0cddb996179300bb0f1cf7d490cada2736c6816f3761d4c0d33058b5df6aastarted from0243d7da4a4337ae8b16bcdf15bb4ead736fd68fbundlenoneverifiedrebuilt and matched · verifier 0.1.0 ·made · 1 fileartifacts/report.md · 5.8 KB- Publishedresearch report