{"assessments":[],"deployments":[],"fuzz":[],"identity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"interpretation":"Records acceptance and evidence. Neither completion nor an AI assessment establishes correctness, safety, or independent review.","jobId":"24d08c45-8848-4608-bff9-b88d94971271","kind":"skill:research-report","nodes":[{"acceptedSubmissionHash":"836afbe84e195049ce58a40e04d3ccf094659b8bd7089c18cd3d34a33a843e4c","dependsOn":[],"execution":{"network":true,"profile":"none","requires":["network"],"skillHash":"3ddca93330036359dd721585e58e67820336a0398b7927b3c89369d6134f30f6","skillId":"research-report","tools":[]},"key":"research_report","kind":"code","role":"implement","skillHash":"3ddca93330036359dd721585e58e67820336a0398b7927b3c89369d6134f30f6","skillId":"research-report","state":"accepted"}],"objective":"You are a short-horizon crypto 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 mid price ((best bid + best ask) / 2) of the market you pick. The goal is to make the user money on this trade and the highest gains you can.\n\n  ## Trade constraints (fixed, do not change them)\n  - Market: exactly one of \"BTC\" (BTC-USD perpetual) or \"ETH\" (ETH-USD perpetual). Pick whichever has the better trade setup right now, not a default.\n  - Direction: exactly one of \"long\" or \"short\".\n  - Leverage: an integer between 750 and 1000 inclusive.\n  - The position closes at take-profit or by liquidation, ideally within 30 minutes. There is no other stop-loss: treat liquidation as the stop.\n  - Take profit is expressed as the move in the chosen market's PRICE in your favor, in basis points (1 bp = 0.01%), not the return on margin.\n  - Don't just pick the smallest leverage or a short take-profit because it is safest; optimize for big gains too.\n\n  ## PaperTrade execution mechanics (read carefully, they drive target sizing)\n  Entry and exit both fill at the Hyperliquid BBO mid. No spread, slippage, funding, or fee on notional. Same mechanics for BTC and ETH.\n\n  Liquidation (\"bust\"). The position is hard-liquidated when the mid crosses the bust price and the full isolated margin is forfeited. The trigger is about 4.8 bp CLOSER to entry than\n  the zero-equity distance (10000 / leverage bp), so:\n\n      bust distance (bp) ≈ 10000 / leverage − 4.8\n\n      1000x →  5.2 bp\n       900x →  6.3 bp\n       800x →  7.7 bp\n       750x →  8.5 bp\n\n  Asymmetric impact haircut on wins. Losses are never charged anything extra. Winning closes: (1) a 0.2 bp deadband is subtracted from the move, (2) the raw gain is multiplied by a\n  scale factor that is small for tiny moves and approaches 0.90 for big moves, (3) a 2% win fee is taken. Formula (positionMultiplier = 814.598 for BTC, 483.979 for ETH):\n\n      scale = 0.90 / (1 + 1/(move × 15000) + 100000/(1e6 × move × positionMultiplier))\n      move  = |exit − entry| / entry, after the 0.2 bp deadband\n\n  The haircut depends only on move size, not position size. ETH's smaller multiplier taxes small moves harder. Net share of the raw gain kept, and return on margin:\n\n      move    BTC keep  @750x  @1000x    ETH keep  @750x  @1000x\n       3 bp     49%      11%    15%        42%       9%    12%\n       5 bp     61%      23%    30%        54%      20%    27%\n       8 bp     69%      42%    55%        64%      38%    51%\n      10 bp     72%      54%    72%        68%      51%    68%\n      15 bp     77%      87%   116%        73%      83%   110%\n      20 bp     80%     120%   159%        77%     115%   153%\n      30 bp     82%     185%   247%        80%     181%   241%\n\n  Implication: tiny take-profits are heavily taxed, so the target must clear the haircut while still being reachable before an adverse move of the bust distance becomes likely. Higher\n  leverage multiplies gains but shrinks the survivable adverse move. ETH usually moves more per minute than BTC: the same leverage busts sooner there but reaches a target sooner too.\n\n  ## How to decide\n  The decision is yours. Pull the market data below for BOTH markets, compare the setups, and pick the market with the clearer edge for the next 30 minutes (trend agreement, volatility\n  that fits the bust distance, levels nearby, order flow). Look up anything else that helps (news, macro events, liquidation heatmaps). Be decisive: return one market and one\n  direction, and express doubt through confidence, leverage and target, not by refusing.\n\n  ## Fetching the market data\n  Hyperliquid has a free public API with no authentication. Every request is an HTTP POST to:\n\n      https://api.hyperliquid.xyz/info\n\n  with header `Content-Type: application/json` and a JSON body. Timestamps are Unix milliseconds. Fetch at least the following for each coin (<coin> = \"BTC\" and \"ETH\"), with the\n  current time as `endTime`.\n\n  1. Candles (fetch all three intervals):\n     {\"type\":\"candleSnapshot\",\"req\":{\"coin\":\"<coin>\",\"interval\":\"1m\",\"startTime\":<now - 60 min>,\"endTime\":<now>}}\n     {\"type\":\"candleSnapshot\",\"req\":{\"coin\":\"<coin>\",\"interval\":\"5m\",\"startTime\":<now - 6 h>,\"endTime\":<now>}}\n     {\"type\":\"candleSnapshot\",\"req\":{\"coin\":\"<coin>\",\"interval\":\"15m\",\"startTime\":<now - 24 h>,\"endTime\":<now>}}\n     Response is an array of candles: t = open time ms, T = close time ms, o/h/l/c = open/high/low/close as strings, v = volume in coin, n = number of trades. Oldest first.\n\n  2. Current market context (one call covers both coins):\n     {\"type\":\"metaAndAssetCtxs\"}\n     Response is [meta, ctxs]. Find the index of \"BTC\" (and \"ETH\") in meta.universe, then read ctxs[thatIndex]: markPx, oraclePx, premium, funding (hourly, positive = longs pay\n  shorts), openInterest (in coin), dayNtlVlm (24h notional USD), prevDayPx.\n\n  3. Order book:\n     {\"type\":\"l2Book\",\"coin\":\"<coin>\",\"nSigFigs\":5}\n     levels[0] = bids, levels[1] = asks, each an array of {px, sz, n}, best first. mid = (levels[0][0].px + levels[1][0].px) / 2: exactly the price PaperTrade fills and liquidates at.\n\n  Also useful: {\"type\":\"fundingHistory\",\"coin\":\"<coin>\",\"startTime\":<ms>} and {\"type\":\"recentTrades\",\"coin\":\"<coin>\"}. Rate limit is generous (1200 weight/min; calls weigh 2 to 20).\n\n  ## Metrics\n  Compute any metric that helps, for each market, in basis points of price so results compare with the bust distance and take-profit, and across BTC and ETH. Likely useful:\n\n  - How often recent 1m windows moved against a position by more than the bust distance before moving the take-profit distance in its favor\n  - Per-candle adverse excursion (high − open, open − low) on 1m and 5m vs. the bust distance\n  - Realized volatility per minute over the last 15/30/60 minutes, expanding or contracting\n  - Distance from VWAP and 1m/5m EMAs; EMA slope; agreement across 1m/5m/15m\n  - Cumulative volume delta from recentTrades; book imbalance within 10 bp of mid\n  - markPx vs. oraclePx, funding, open interest change vs. price change\n  - Position in the 24h range; distance to prior-day high/low/close and recent swings\n  - BTC/ETH relative strength: which leads, and whether ETH confirms or diverges from BTC\n  - Time of day (US open, funding settlement) and macro releases in the next hour\n\n  ## Output\n  Return ONLY a single JSON object, no markdown fences, no commentary. Use exactly these keys and types.\n  For IMD file-output jobs, write this JSON to artifacts/report.md (output \"report\"), not just the final chat reply.\n\n  {\n    \"market\": \"BTC\" | \"ETH\",\n    \"direction\": \"long\" | \"short\",\n    \"leverage\": <integer 750-1000>,\n    \"take_profit_bp\": <number, favorable price move in basis points, e.g. 14 means 0.14%>,\n    \"take_profit_price\": <number, the close price, consistent with direction and take_profit_bp from entry_mid>,\n    \"bust_distance_bp\": <number, 10000/leverage - 4.8>,\n    \"bust_price_estimate\": <number, entry_mid moved bust_distance_bp against the position>,\n    \"expected_net_return_on_margin_pct\": <number, after haircut and win fee, if take profit hits>,\n    \"confidence\": <number 0.0-1.0>,\n    \"regime\": \"trending_up\" | \"trending_down\" | \"ranging\" | \"volatile_choppy\",\n    \"key_levels\": { \"support\": <number>, \"resistance\": <number> },\n    \"entry_mid\": <number, the live mid price of the chosen market you based the trade on>,\n    \"data_time_utc\": \"<ISO 8601 timestamp of when you fetched the data>\",\n    \"reasoning\": \"<2-4 sentences, plain text: why this market over the other, the main evidence for the direction, and why this leverage and target fit the volatility, bust distance and haircut>\",\n    \"risks\": \"<1-2 sentences, what would most likely cause liquidation>\"\n  }\n\n  Use JSON numbers. All prices are in the chosen market. entry_mid = (bid+ask)/2 from its live l2Book; take_profit_price = entry_mid × (1 ± take_profit_bp/10000), + for long and − for short.","parentJobId":null,"planHash":"359f9205e752d139d0e0e85b81ce602567370db29ce20ac29c1756b5ac3bdb6c","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"24d08c45-8848-4608-bff9-b88d94971271","publication":{"commit":null,"deliveredAt":null,"repoUrl":null},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"51023","feedbackHash":"82223ad2311c44d2f728a1896b0c21e7e1a072d387421b612a86febefb9ba046","nodeKey":"research_report","submissionHash":"836afbe84e195049ce58a40e04d3ccf094659b8bd7089c18cd3d34a33a843e4c","tag1":"verification:structural","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"5a4d0dbede90541845e27074e28fd2f616a432800ee95dc4144664f5e2d4d922","state":"completed","submissions":[{"artifacts":[{"bytes":1497,"hash":"d3d8ce08bb0b1735aae152ab94cd9b7c4c246cd930126547b1c61cf6a53b4e05","mediaType":"text/markdown","name":"report","path":"artifacts/report.md"}],"attempt":1,"bundleHash":null,"device":"ca080fd306399669","findings":[],"hash":"836afbe84e195049ce58a40e04d3ccf094659b8bd7089c18cd3d34a33a843e4c","nodeId":"d5df8d4e-6bbe-4fcc-a66a-3a08470fb518","outcome":"completed","summary":"The trade decision is **ETH long at 800x, take profit 12 bp**, written as JSON to `artifacts/report.md`. It parses as valid JSON. My confidence is low (0.38): in a one-hour replay this setup hit its target about as often as it got liquidated.\n\n- **Entry and exits:** entry mid 2408.75, take-profit price 2411.64, estimated bust price 2406.90 (7.7 bp away).\n- **Return if the target hits:** about +67.6% on margin, after the haircut (about 72% of the raw gain is kept) and the 2% win fee.\n- **Data time:** 2026-10-19 23:04:45 UTC, from the Hyperliquid public API for both coins (candles, market context, order book, recent trades, funding).\n\n**Why ETH long (from the data):**\n- ETH is above its 1m, 5m and 15m EMAs. It is up 11.8 bp over the last hour and 30.5 bp over 6 hours, and recent buy volume exceeded sell volume.\n- BTC is flat over the hour (−0.4 bp) and below its hourly VWAP. Its book within 10 bp of mid is heavily weighted to the ask side (imbalance −0.53).\n\n**The replay (my own check):** I replayed the last 60 one-minute candles as possible entries, each followed for up to 30 minutes, across several leverage and target pairs. ETH long at 800x / 12 bp did best: 21 targets hit against 20 liquidations. BTC longs and every short did worse.\n\n**Risks:**\n- The bust price sits just above recent one-minute closes (2406.1–2406.3) and below the hourly VWAP. An ordinary pullback toward the hourly low of 2404 would liquidate the position.\n- A BTC rejection at that heavy ask side could pull ETH down with it.\n\n**What's missing:**\n- I did not check news, the macro calendar or liquidation heatmaps.\n- The replay covers only one hour, it counts liquidation first when a candle hits both levels, and the latest entries had less than 30 minutes of data after them.\n- I didn't write the README the reference suggests.\n\nThe working scripts are in `test/scratch/`, which gets deleted. `git status` also lists untracked dotfiles and folders (`.bashrc`, `.claude/`, `.vscode`, `.gitmodules` and others) that I didn't create. I left them alone, but they could count as stray files when the workspace is checked.","treeHash":"4b825dc642cb6eb9a060e54bf8d69288fbee4904","usage":{"cachedInputTokens":263088,"inputTokens":10,"model":"claude-opus-5-5","outputTokens":5427,"runtime":"claude","turns":5,"wallClockMs":69251}}],"verification":[{"checks":[],"detail":"paths and tree verified; no suite was run for this kind of work","evaluation":"structural","profile":"none","status":"accepted","submissionHash":"836afbe84e195049ce58a40e04d3ccf094659b8bd7089c18cd3d34a33a843e4c","verifiedTreeHash":"4b825dc642cb6eb9a060e54bf8d69288fbee4904","verifierVersion":"0.1.0+6a374fcd"}]}