Conversation
New capability: reverse-lookup wallets behind Hyperliquid PnL share cards using the positions endpoint. Includes code pattern, 5 example prompts (full match, partial info, closed positions, cohort attribution, trade idea reframe), troubleshooting rows, and disambiguation guidance. Also fixes pre-existing pagination bug: query param is `nextCursor` not `cursor` (API silently ignores `cursor` and returns page 1 forever). Verified against live API with real PnL cards (TAO short 5x, ETH short 25x). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Per Pavlo QA: /positions address param accepts a single address (address=0x...), not an array (address[]=0x...). Pre-existing documentation bug, fixing while we're touching this line. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
| ### Positions & Market Exposure | ||
|
|
||
| **GET /positions** — Historic positions. Params: `start` (required), `end`, `coin`, `segmentId` (filter by cohort ID), `address` (array, use `address[]=0x...`), `open`, `limit`, `nextCursor`. Historical from April 2025. Returns tens of thousands of positions per call with pre-computed data (PnL segments, size segments, leverage, liquidation progress, funding, entry price, unrealized PnL). | ||
| **GET /positions** — Historic positions. Params: `start` (required), `end`, `coin`, `segmentId` (filter by cohort ID), `address` (single address, e.g. `address=0x...`), `open`, `limit`, `nextCursor`. Historical from April 2025. Returns tens of thousands of positions per call with pre-computed data (PnL segments, size segments, leverage, liquidation progress, funding, entry price, unrealized PnL). Can also be used for reverse-lookups: given a coin, side, leverage, and entry price from a Hyperliquid PnL share card or screenshot, filter open positions to identify matching wallets (see Reverse Lookup prompts and code pattern below). |
There was a problem hiding this comment.
| **GET /positions** — Historic positions. Params: `start` (required), `end`, `coin`, `segmentId` (filter by cohort ID), `address` (single address, e.g. `address=0x...`), `open`, `limit`, `nextCursor`. Historical from April 2025. Returns tens of thousands of positions per call with pre-computed data (PnL segments, size segments, leverage, liquidation progress, funding, entry price, unrealized PnL). Can also be used for reverse-lookups: given a coin, side, leverage, and entry price from a Hyperliquid PnL share card or screenshot, filter open positions to identify matching wallets (see Reverse Lookup prompts and code pattern below). | |
| `address` (single address, e.g. `address=0x...`), |
@digodefi what I wrote before probably confused you sorry
It should accept the array indeed (in the sence of multiple strings as get params) and not be limited by this validation hence it's still a GET parameter in the URL, which is not required.
So the user should be able to query with a single address but not ONLY with multiple as it's validated
So indeed this endpoint can and should make a query with multiple addresses - each is a new get parameter in the url. So the bug is that now this endpoint is not allowing to apply single (just one address), hence requires multiple, so @TarasKalyniiAc has fixed that now in DEV only.
In practical terms:
if you do with single address - it fails with validation - which is NOT ok - fix is done
if you do with multiple addresses - all were OK
So just mention something with multiple addresses query params can be applied
|
thanks @PavloPetrina — just pushed a fix. updated all 6 skill files to say address accepts one or more (repeat the param for multiple, e.g. address=0x...&address=0x...). lmk if that reads right |
Summary
/positionsendpointfind_positions_matching_card()+lookup_wallet()) with tolerance guidance and disambiguation heuristicsnextCursor, notcursor(API silently ignorescursorand returns page 1 forever)Verified against live API
0x1092c3..., Fish + Exit Liquidity, ROI 76.93% vs card's 76.0%)Test plan
🤖 Generated with Claude Code