# Hyperliquid Smart Money Tracker | Whale Leaderboard & Positions (`tactful_anvil/hyperliquid-smart-money-tracker`) Actor

Rank 45k Hyperliquid wallets by PnL, ROI or volume (24h/7d/30d/all-time), drop vault-like accounts, then get live open positions (side, size, entry, leverage, liquidation, uPnL), exposure, portfolio PnL and recent fills of the top whales. Free per-coin smart-money bias. No API key.

- **URL**: https://apify.com/tactful\_anvil/hyperliquid-smart-money-tracker.md
- **Developed by:** [Mr Zack](https://apify.com/tactful_anvil) (community)
- **Categories:**
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.20 / 1,000 wallet (leaderboard)s

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Hyperliquid Smart Money Tracker — Whale Leaderboard, Live Positions & Trades

Find the wallets that are actually making money on **Hyperliquid** and see what they hold **right now**. The actor ranks the full public leaderboard (~45,000 wallets) by **PnL, ROI or volume** over 24h / 7d / 30d / all-time, drops vault-like accounts (HLP, insurance funds) that inflate PnL tables, then enriches the top wallets with **live open positions** (coin, long/short, size, entry, leverage, liquidation price, unrealized PnL), exposure & margin, a **portfolio PnL curve** and their **recent fills**. A free **smart-money summary** shows per-coin long/short positioning across all whales. Public endpoints, no API key, no browser.

### Who uses this

- **Copy-traders & signal bots** — schedule hourly: which top-ROI wallets opened/closed what, at which entry, with what leverage. Feed `wallet-positions` + `trade` rows into your own alerts.
- **Traders** — "what is smart money long/short on right now?" → `smart-money-summary` per coin (net bias, top long / top short wallet).
- **Analysts, newsletters, dashboards** — leaderboard snapshots with real trader filters (min volume, min equity), not vault noise.
- **Wallet watchers** — pass specific `wallets` to get positions, portfolio and trades for addresses you already follow.

### Input

| Field | Description |
|---|---|
| `window` | `day` / `week` / `month` / `allTime` — ranking & filter window. |
| `rankBy` | `pnl` / `roi` / `volume`. |
| `maxWallets` | Top-N to output (max 5,000). |
| `minAccountValue`, `minVolume`, `minPnl`, `minRoi` | Filters (volume/PnL in USD, ROI in %). `minVolume` removes idle wallets. |
| `excludeVaults` | Drop addresses with zero trading volume in every window (default on). |
| `wallets` | Specific 0x addresses to enrich directly. |
| `includePositions`, `maxEnrich` | Enrich the top N wallets with live positions, portfolio and trades summary. |
| `maxTradesPerWallet` | Recent fills as separate `trade` rows (0–2,000). |
| `minPositionValue` | Hide small positions from rows and summary. |
| `includeSummary` | Free per-coin smart-money positioning row. |

```json
{ "window": "week", "rankBy": "pnl", "maxWallets": 100, "minAccountValue": 50000, "minVolume": 1000000, "includePositions": true, "maxEnrich": 25, "maxTradesPerWallet": 50 }
```

### Output

**`wallet`** — ranked leaderboard row:

```json
{ "type": "wallet", "rank": 3, "rankWindow": "week", "rankBy": "pnl", "rankMetric": 5236761.26, "address": "0x4e23288cee4960f9f962195c22948e4bc7ae20c3",
  "accountValue": 5525014.58, "pnlDay": 99275.73, "roiDay": 0.0032, "volumeDay": 24849859.7, "pnlWeek": 5236761.26, "roiWeek": 0.2047, "volumeWeek": 118706055.67,
  "pnlMonth": 4401789.1, "roiMonth": 0.1411, "pnlAllTime": 22265827.9, "roiAllTime": 1.6553, "volumeAllTime": 8843651244.21, "isVaultLike": false,
  "url": "https://app.hyperliquid.xyz/explorer/address/0x4e23…" }
```

**`wallet-positions`** — the same plus live state:

```json
{ "totalNotional": 32507303.71, "marginUsed": 4204764.52, "withdrawable": 0, "leverageRatio": 5.88, "openPositions": 6, "longExposure": 32507303.7, "shortExposure": 0, "netBias": 1, "unrealizedPnl": 1135577.66,
  "positions": [{ "coin": "HYPE", "side": "long", "size": 193604.46, "entryPrice": 83.4615, "positionValue": 17033901.2, "unrealizedPnl": 875372.05, "returnOnEquity": 0.2709, "leverage": 5, "leverageType": "cross", "liquidationPrice": null, "marginUsed": 3406780.24, "fundingSinceOpen": 23683.02 }],
  "portfolio": { "week": { "pnl": 5238404.58, "volume": 118726706.47, "accountValueStart": 9086686.32, "accountValueEnd": 5525784.48, "points": 63 } },
  "trades": { "fillsFetched": 2000, "fills24h": 2000, "volume24h": 18392992.87, "realizedPnlFetched": 1123654.17, "lastTradeAt": "2026-09-07T12:27:48Z", "topCoinsByVolume": [{ "coin": "ETH", "notional": 14408860.36 }] } }
```

**`trade`** — one fill: `address, coin, side (buy/sell), direction (Open Long / Close Short…), price, size, notional, closedPnl, fee, time, hash, orderId`.

**`smart-money-summary`** (free) — `walletsEnriched, totalLongNotional, totalShortNotional, netBias, coins[]{coin, longWallets, shortWallets, longNotional, shortNotional, netNotional, netBias, unrealizedPnl, topLong, topShort}`.

### Pricing (pay per event)

| Event | Price |
|---|---|
| Wallet (leaderboard row) | $0.0012 |
| Wallet with live positions | $0.04 |
| Trade (fill) | $0.0005 |
| Actor start | $0.001 |

A default run (top 50, 25 enriched) costs about **$1.03**. Enriched wallets that turn out flat (no open position) are billed at the cheap Wallet rate. Summary and failed rows are free.

### Notes

- Leaderboard PnL/ROI/volume come from Hyperliquid's own stats endpoint (updated every few minutes); positions and fills are live from the `info` API.
- `isVaultLike` = zero volume in every window. Turn `excludeVaults` off to include HLP/vault addresses.
- `liquidationPrice` is `null` for cross positions far from liquidation, as reported by Hyperliquid.
- Related on this profile: Polymarket Top Traders, Kalshi Weather Markets, YouTube / TikTok Shop / Amazon / AliExpress scrapers.

# Actor input Schema

## `window` (type: `string`):

Leaderboard window used for ranking and filters.

## `rankBy` (type: `string`):

Metric used to rank wallets within the window.

## `maxWallets` (type: `integer`):

How many top-ranked wallets to output.

## `minAccountValue` (type: `integer`):

Skip wallets below this equity.

## `minVolume` (type: `integer`):

Skip wallets that traded less than this in the window (removes idle accounts).

## `minPnl` (type: `integer`):

Optional floor on window PnL (can be negative to include losers).

## `minRoi` (type: `integer`):

Optional floor on window ROI, in percent (e.g. 20 = +20%).

## `excludeVaults` (type: `boolean`):

Drop addresses with zero trading volume in every window (HLP, vaults, insurance-style accounts that show huge PnL but are not traders).

## `wallets` (type: `array`):

0x addresses to enrich directly (positions, trades, portfolio) — with or without the leaderboard.

## `includeLeaderboard` (type: `boolean`):

When Specific wallets are provided, still scan and output the ranked leaderboard.

## `includePositions` (type: `boolean`):

For the top wallets: open positions (coin, side, size, entry, leverage, liquidation, unrealized PnL), exposure & margin, portfolio PnL curve, recent-trades summary. Charged as Wallet with live positions.

## `maxEnrich` (type: `integer`):

Wallets beyond this are output as cheap leaderboard rows.

## `maxTradesPerWallet` (type: `integer`):

0 = none. Recent fills as separate Trade rows (newest first, up to 2000).

## `minPositionValue` (type: `integer`):

Hide positions smaller than this from enriched rows and the summary.

## `includeSummary` (type: `boolean`):

Per-coin long/short wallet counts, notional, net bias and top long/short across all enriched wallets. Never charged.

## Actor input object example

```json
{
  "window": "week",
  "rankBy": "pnl",
  "maxWallets": 50,
  "minAccountValue": 10000,
  "minVolume": 100000,
  "excludeVaults": true,
  "includeLeaderboard": false,
  "includePositions": true,
  "maxEnrich": 25,
  "maxTradesPerWallet": 0,
  "minPositionValue": 0,
  "includeSummary": true
}
```

# Actor output Schema

## `wallets` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("tactful_anvil/hyperliquid-smart-money-tracker").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("tactful_anvil/hyperliquid-smart-money-tracker").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call tactful_anvil/hyperliquid-smart-money-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,tactful_anvil/hyperliquid-smart-money-tracker"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/0P7ikBj9jLEeLQOuY/builds/iV7uuhZ7qJuK8NIl4/openapi.json
