# GMGN Smart Money Wallet Leaderboard — Top Crypto Traders (`logiover/gmgn-smart-money-wallet-leaderboard`) Actor

Top crypto trader leaderboard from GMGN.ai across Solana, BSC, Ethereum, Base, Tron, Monad. Rank by 1d/7d/30d PnL, winrate, volume. 50+ fields per wallet: realized profit, winrate, txs, holding period, daily profit history, tags (smart\_degen, KOL, fresh), Twitter, ENS.

- **URL**: https://apify.com/logiover/gmgn-smart-money-wallet-leaderboard.md
- **Developed by:** [Logiover](https://apify.com/logiover) (community)
- **Categories:** Automation, Lead generation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 results

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## GMGN Smart Money Wallet Leaderboard — Top Crypto Traders by PnL, ROI & Winrate

![GMGN Smart Money Wallet Leaderboard — Top Crypto Traders](https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/GjS6nQ8qauOdq9KGy-actor-dbniND8uU5OgwKRc1-H5Dm1h0jw5-images.png)

**Scrape the highest-performing crypto wallets across Solana, BSC, Ethereum, Base, Tron, and Monad.** Ranked by 1-day / 7-day / 30-day PnL, realized profit (USD), winrate, transaction count, and volume. Every wallet comes back with 50+ fields, daily profit timeline, GMGN tags (smart_degen, renowned, fresh, KOL, exchange, fund), and Twitter / Twitch metadata.

> The definitive on-chain leaderboard scraper for copy-trading bots, smart-money tracking dashboards, alpha calls, and quant research.

---

### 🚀 What this actor does

GMGN.ai aggregates wallet activity from every major DEX across six chains, computes PnL, winrate, and rich behavioral metadata for every active wallet, and ranks them on a public leaderboard. This actor pulls the **entire leaderboard** for every (chain × period × sort-key) combination you request — up to **~9,000 ranked wallet records per run**.

You can rank by 15 different metrics (PnL multiplier, realized profit USD, winrate, transaction count, volume — each over 1d / 7d / 30d windows). Every wallet is normalized into a stable schema: realized profit per window, winrate per window, transaction counts, average cost basis, holding period, daily profit history (the last 7 days as a series), GMGN tags, follower count, Twitter, ENS, and the chain-specific balance.

**Use this actor when you want the answer to "who are the best traders on chain X right now?"** — and you want all the data, not just the top 10 you can see in the GMGN UI.

---

### 💡 Use cases

- **Copy-trading bots** — discover wallets to copy, ranked by PnL × winrate × tx-count. Auto-rebalance your copy list every day.
- **Smart-money tracking dashboards** — power "who's making money?" SaaS products with fresh leaderboard data.
- **Alpha-call Telegram / Discord** — automate "🏆 Top 100 Solana traders this week" posts.
- **On-chain research** — analyze winrate distribution, holding-period patterns, and PnL bucket data across cohorts.
- **AI training datasets** — collect labelled smart-money / fresh / sniper / bot wallets for ML classification models.
- **Trading-tool product teams** — feed the leaderboard into your own watchlist / leaderboard UI.
- **Crypto media & content creators** — automate "trader of the week" posts with verified Twitter / Twitch links.
- **VC / fund deal-flow** — identify high-velocity successful traders for partnerships or recruitment.

---

### 🌐 Supported chains × periods

| Chain | 1d | 7d | 30d |
|-------|----|----|-----|
| Solana | ✅ | ✅ | ✅ |
| BSC | ✅ | ✅ | ✅ |
| Ethereum | ✅ | ✅ | ✅ |
| Base | ✅ | ✅ | ✅ |
| Tron | ✅ | ✅ | ✅ |
| Monad | ✅ | ✅ | ✅ |

Per (chain, period) call you get up to **100 wallets**. Per (chain, period, orderBy) combination is a separate call — running multiple `orderByList` values surfaces overlapping but different top-N lists, expanding coverage to the **top 200-500 wallets** per chain × period.

---

### 🎚 Sorting metrics

Pick any combination via `orderByList` — the actor calls one ranking per entry and merges:

| Metric | Meaning |
|--------|---------|
| `pnl_1d` / `pnl_7d` / `pnl_30d` | PnL multiplier (return on cost basis). |
| `realized_profit_1d` / `_7d` / `_30d` | Realized profit in USD. |
| `winrate_1d` / `_7d` / `_30d` | Winrate (0-1). |
| `volume_1d` / `_7d` / `_30d` | Total USD volume traded. |
| `txs_1d` / `_7d` / `_30d` | Transaction count. |

Combine 4-5 orderings to capture every kind of "good trader" — high PnL × low Tx (lucky), high winrate (consistent), high Tx (active), high volume (whale).

---

### ⚙️ Input configuration

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `chains` | `string[]` | `["sol", "bsc"]` | `sol`, `bsc`, `eth`, `base`, `tron`, `monad` |
| `periods` | `string[]` | `["1d", "7d"]` | `1d`, `7d`, `30d` |
| `orderByList` | `string[]` | `["pnl_7d", "realized_profit_7d"]` | See sorting table above. |
| `direction` | `string` | `"desc"` | `desc` (top), `asc` (bottom). |
| `minPnl` | `number` | `0` | Minimum PnL multiplier in chosen period. |
| `minRealizedProfitUsd` | `integer` | `0` | Minimum realized USD profit. |
| `minWinrate` | `number` | `0` | Minimum winrate (0-1). |
| `minTxs` | `integer` | `0` | Minimum transaction count. |
| `minVolumeUsd` | `integer` | `0` | Minimum USD volume. |
| `onlyWithTwitter` | `boolean` | `false` | Keep only wallets with linked Twitter. |
| `tagFilter` | `string[]` | `[]` | Keep wallets carrying these GMGN tags. |
| `deduplicate` | `boolean` | `true` | Merge same wallet from multiple rankings. |
| `useProxy` | `boolean` | `true` | Apify Proxy on/off. |
| `proxyConfiguration` | `object` | `residential` | |
| `maxConcurrency` | `integer` | `5` | |

#### GMGN wallet tags

`tagFilter` accepts:
- `smart_degen` — high-PnL active trader
- `renowned` — verified public figure / influencer
- `fresh_wallet` — newly-funded wallet (often insider patterns)
- `kol` — key opinion leader
- `exchange` — exchange wallet
- `fund` — known fund / institutional wallet
- `pump_smart_degen` — Solana pump.fun smart trader
- `sniper` — sniper bot wallet
- `top_followed` — high follower count on GMGN
- `launchpad_smart` — successful launchpad-stage trader

---

### 📦 Output fields (50+ per wallet)

#### Identity
| Field | Description |
|-------|-------------|
| `walletAddress` | Address. |
| `chain` | Chain slug. |
| `nickname` | User-set nickname on GMGN. |
| `name` | Display name (auto from Twitter if linked). |
| `avatar` | Avatar URL. |
| `twitterUsername` / `twitterName` / `twitterDescription` | Linked Twitter metadata. |
| `twitchChannelName` | Linked Twitch channel. |
| `tags` | Array of GMGN tags. |
| `lastActive` / `lastActiveUnix` | Last on-chain trade timestamp. |
| `followCount` | Number of GMGN users following this wallet. |
| `remarkCount` | Number of GMGN users who annotated the wallet. |

#### Balances
| Field | Description |
|-------|-------------|
| `balance` | Native chain balance (matches `chain`). |
| `ethBalance` / `solBalance` / `trxBalance` / `monadBalance` | Cross-chain balances when GMGN tracks them. |

#### PnL — multiplier (×)
| Field | Description |
|-------|-------------|
| `pnl1d` / `pnl7d` / `pnl30d` | PnL as multiplier of cost (1.5 = 50% gain). |

#### PnL — USD
| Field | Description |
|-------|-------------|
| `realizedProfit1d` / `7d` / `30d` | Realized profit in USD. |

#### Winrate
| Field | Description |
|-------|-------------|
| `winrate1d` / `7d` / `30d` | Winrate 0-1. |

#### Transactions
| Field | Description |
|-------|-------------|
| `buy` / `buy1d` / `buy7d` / `buy30d` | Buy transaction counts. |
| `sell` / `sell1d` / `sell7d` / `sell30d` | Sell counts. |
| `txs` / `txs1d` / `txs7d` / `txs30d` | Total transaction counts. |
| `volume1d` / `7d` / `30d` | USD volume. |

#### Cost & holding
| Field | Description |
|-------|-------------|
| `avgCost1d` / `7d` / `30d` | Average cost basis per trade. |
| `avgHoldingPeriod1d` / `7d` / `30d` | Average holding period in seconds. |

#### Net flow
| Field | Description |
|-------|-------------|
| `netInflow1d` / `7d` / `30d` | Net SOL/ETH/BNB inflow. |

#### 7-day PnL distribution
| Field | Description |
|-------|-------------|
| `pnlLtMinusDot5Num7d` | ## of tokens with PnL < -50%. |
| `pnlMinusDot50x7d` | ## of tokens with PnL between -50% and 0. |
| `pnlLt2x7d` | ## of tokens with PnL 0% to 2×. |
| `pnl2x5x7d` | ## of tokens with PnL 2× to 5×. |
| `pnlGt5x7d` | ## of tokens with PnL > 5×. |

#### Daily profit history
| Field | Description |
|-------|-------------|
| `dailyProfit7d` | Array of `{ date, profit }` — last 7 daily profit datapoints. |

#### Metadata
| Field | Description |
|-------|-------------|
| `gmgnUrl` | GMGN wallet page. |
| `orderByMatches` | Which `(period, orderBy)` rankings surfaced this wallet. |
| `scrapedAt` | Scrape time. |

---

### 🧪 Example output

```json
{
  "walletAddress": "0x2ce9d43d1cba6ae31d7f07bfe0098dfa2d833373",
  "chain": "bsc",
  "name": "枯坐p小将",
  "twitterUsername": "rob02643673_rob",
  "twitterDescription": "金蛙集团保安大队长 @GoldenPepeCabal",
  "tags": ["gmgn", "kol", "launchpad_smart", "top_followed"],
  "lastActive": "2026-05-15T11:02:43.000Z",
  "followCount": 20344,
  "balance": 81.75,
  "pnl1d": 0.18,
  "pnl7d": 0.55,
  "pnl30d": 0.37,
  "realizedProfit1d": 2914.5,
  "realizedProfit7d": 35185.55,
  "realizedProfit30d": 104849.74,
  "winrate1d": 0.65,
  "winrate7d": 0.78,
  "winrate30d": 0.72,
  "buy7d": 131,
  "sell7d": 218,
  "txs7d": 349,
  "volume7d": 218000.5,
  "avgHoldingPeriod7d": 31580,
  "pnlGt5x7d": 4,
  "dailyProfit7d": [
    { "date": "2026-05-09T00:00:00.000Z", "profit": 311.79 },
    { "date": "2026-05-10T00:00:00.000Z", "profit": 0 },
    { "date": "2026-05-11T00:00:00.000Z", "profit": -2.54 }
  ],
  "gmgnUrl": "https://gmgn.ai/bsc/address/0x2ce9d43d1cba6ae31d7f07bfe0098dfa2d833373",
  "orderByMatches": ["7d/pnl_7d", "7d/realized_profit_7d"],
  "scrapedAt": "2026-05-15T12:00:00.000Z"
}
````

***

### 🧰 Recipes

#### 1. Best Solana copy-trade candidates this week

```json
{
  "chains": ["sol"],
  "periods": ["7d"],
  "orderByList": ["pnl_7d", "winrate_7d", "realized_profit_7d"],
  "minRealizedProfitUsd": 5000,
  "minTxs": 20,
  "minWinrate": 0.5
}
```

Filters: real money, real volume, half-or-better winrate. 100-200 high-quality candidates.

#### 2. Find all KOL wallets across all chains

```json
{
  "chains": ["sol", "bsc", "eth", "base", "tron", "monad"],
  "periods": ["7d"],
  "orderByList": ["pnl_7d"],
  "tagFilter": ["kol", "renowned"]
}
```

#### 3. Track fresh-wallet (insider?) activity

```json
{
  "chains": ["sol", "bsc"],
  "periods": ["1d"],
  "orderByList": ["realized_profit_1d", "pnl_1d"],
  "tagFilter": ["fresh_wallet"],
  "minRealizedProfitUsd": 1000
}
```

Newly-funded wallets making big money in 24h — strong insider signal.

#### 4. Whale activity dashboard

```json
{
  "chains": ["sol", "bsc", "eth"],
  "periods": ["30d"],
  "orderByList": ["volume_30d", "realized_profit_30d"],
  "minVolumeUsd": 1000000
}
```

#### 5. Daily snapshot for time-series PnL leaderboards

Schedule the actor every 24h, store results — gives you a longitudinal "top 100" dataset across days.

***

### 🛡️ Under the hood

- **Endpoint** — `GET https://gmgn.ai/defi/quotation/v1/rank/{chain}/wallets/{period}` with `orderby` and `direction`.
- **Auth** — none. Cloudflare-fronted, fingerprint-gated.
- **Proxy** — Apify Residential default.
- **Retries** — 5 attempts with exponential backoff.
- **Concurrency** — bounded pool, default 5.
- **Deduplication** — same `(chain, walletAddress)` across multiple rankings merged into one row with `orderByMatches`.

***

### ⚡ Performance

| Configuration | Wallet records | Time | Cost |
|--------------|---------------|------|------|
| 2 chains × 2 periods × 2 orderBys (default) | ~400-800 (with dedup) | <1 min | ~$0.02 |
| 6 chains × 3 periods × 4 orderBys | ~6-9K | ~3-5 min | ~$0.10 |
| 6 chains × 3 periods × 15 orderBys (max coverage) | ~10-15K | ~10 min | ~$0.30 |

***

### 📅 Recommended schedules

- **Daily leaderboard refresh** — once per day for stable snapshots.
- **Live alpha feed** — every 1-2 hours with `periods: ["1d"]`.
- **Weekly export** — once per week for research.

***

### ❓ FAQ

#### What's the difference between `pnl_7d` and `realized_profit_7d`?

`pnl_7d` is a **multiplier** (1.5 means +50%). `realized_profit_7d` is the **USD amount** of realized profit. Top by multiplier surfaces lucky small-account winners; top by USD profit surfaces actual whales.

#### What does `fresh_wallet` mean?

GMGN tags wallets newly funded within ~30 days. They're often insider/founder wallets pre-launch — a leading indicator for upcoming launches.

#### What is `dailyProfit7d`?

A 7-element array of `{ date, profit }` showing daily realized profit for the wallet — perfect for time-series charts.

#### Why is `winrate` zero for some wallets?

Either no completed trades in the period (open positions only) or no realized losses calculable yet. Combine with `minTxs` to filter these out.

#### How fresh is the data?

GMGN's leaderboard recomputes every 5-10 minutes. The actor returns whatever's on the leaderboard at call time.

#### Does this work for Polymarket / prediction markets?

No — this is for on-chain crypto trading. For Polymarket leaderboards see **Polymarket Top Wallets Leaderboard** (sister actor).

#### How do I follow a wallet's full holdings, not just leaderboard stats?

Use **GMGN Wallet Portfolio & PnL Tracker** (related actor) — pass the wallet address and get the full holdings breakdown.

#### What if a wallet appears in multiple rankings?

With `deduplicate: true` (default) it's emitted once. The `orderByMatches` array lists every ranking that surfaced it — useful for ranking-of-rankings analysis.

#### How many wallets do I get per run?

Up to 100 per (chain, period, orderBy) call. With dedup, 2 chains × 2 periods × 4 orderBys typically yields ~600-1000 unique wallets.

#### Can I rank by buy-only or sell-only volume?

Currently GMGN's API only exposes total volume / tx counts. The actor returns separate `buy*` and `sell*` counts so you can filter client-side.

#### Is the `balance` field in USD?

No — it's in the native chain token (SOL, BNB, ETH, etc.). Multiply by current token price for USD.

#### Does the actor respect GMGN rate limits?

Yes. Bounded concurrency + 5-attempt exponential backoff.

#### Can I use this to find tokens to buy?

Not directly — but combine with **GMGN Wallet Portfolio Tracker** to see what each top wallet is currently holding, or **GMGN Smart Money Buy Signals** to see what they're buying right now.

***

### 🔗 Related actors

- **GMGN Wallet Portfolio & PnL Tracker** — full holdings + PnL for any wallet.
- **GMGN Smart Money Buy Signals** — live feed of smart-money buys.
- **GMGN Token Holders Intelligence** — see which top wallets hold which tokens.
- **GMGN Trending Memecoin Scanner** — see what's heating up across chains.
- **GMGN New Token Launch Detector** — every new pair, every chain.
- **GMGN Token Rugcheck & Deep Analytics** — security + dev history per token.
- **GMGN Crypto KOL Twitter & Telegram Signal Feed** — KOL tweets / TG posts.

***

### 🆘 Support

Bug? Missing field? Want a new orderBy supported? Open an issue on the actor's Apify page.

***

### Changelog

- **2026-05-20** — Maintenance pass: reviewed the input schema and default values for a smooth one-click start, and rebuilt the Actor on the latest base image.

*Last reviewed: 2026-05-20.*

# Actor input Schema

## `chains` (type: `array`):

Which chains to scan for top traders. Each chain has its own leaderboard. Default scans Solana and BSC (highest activity). All six chains: sol, bsc, eth, base, tron, monad.

## `periods` (type: `array`):

Lookback window for PnL ranking. '1d' = last 24h, '7d' = last week, '30d' = last month. Default scans 1d and 7d.

## `orderByList` (type: `array`):

Sort the leaderboard by these metrics — the actor runs one request per orderBy and merges the results. Higher = more results per run. 'pnl\_1d/7d/30d' = realized PnL multiplier. 'realized\_profit\_1d/7d/30d' = USD profit. 'winrate\_1d/7d/30d' = win rate (0-1). 'volume\_1d/7d/30d' = total USD volume. 'txs\_1d/7d/30d' = total transaction count.

## `direction` (type: `string`):

Sort direction. desc = highest first (default, matches the source UI). asc = lowest first — useful for hunting unfamiliar entries.

## `minPnl` (type: `number`):

Drop wallets whose PnL multiplier (in the picked period) is below this. e.g. 1.5 = 50% gain.

## `minRealizedProfitUsd` (type: `integer`):

Drop wallets whose realized profit (in the picked period) is below this USD amount.

## `minWinrate` (type: `number`):

Drop wallets below this winrate (0-1). E.g. 0.5 = 50%.

## `minTxs` (type: `integer`):

Drop wallets with fewer trades in the period — filters out lucky one-shot wallets.

## `minVolumeUsd` (type: `integer`):

Drop rows whose USD volume is below this threshold. Default 0 = no filter.

## `onlyWithTwitter` (type: `boolean`):

Keep only wallets that have a Twitter / X handle linked. Useful for KOL / public-figure discovery.

## `tagFilter` (type: `array`):

Keep only wallets carrying one of these GMGN tags. Common values: 'smart\_degen', 'renowned', 'fresh\_wallet', 'kol', 'exchange', 'fund', 'pump\_smart\_degen', 'sniper'. Leave empty to keep all.

## `deduplicate` (type: `boolean`):

When ON, a wallet returned by multiple (chain, period, orderBy) calls is emitted once, with the merged metadata. When OFF, each combination produces a separate row (useful for studying which ranking surfaced a wallet).

## `useProxy` (type: `boolean`):

Route requests through Apify Proxy. Strongly recommended ON — residential proxy is the most reliable way to bypass Cloudflare rate limits.

## `proxyConfiguration` (type: `object`):

Apify Proxy configuration. Residential proxy group is recommended for the highest success rate against Cloudflare.

## `maxConcurrency` (type: `integer`):

Maximum number of API calls running in parallel. Higher = faster runs but more chance of hitting rate limits. 3-5 is safe.

## Actor input object example

```json
{
  "chains": [
    "sol",
    "bsc",
    "eth",
    "base",
    "tron",
    "monad"
  ],
  "periods": [
    "1d",
    "7d",
    "30d"
  ],
  "orderByList": [
    "pnl_7d",
    "realized_profit_7d",
    "volume_7d",
    "txs_7d",
    "winrate_7d"
  ],
  "direction": "desc",
  "minPnl": 0,
  "minRealizedProfitUsd": 0,
  "minWinrate": 0,
  "minTxs": 0,
  "minVolumeUsd": 0,
  "onlyWithTwitter": false,
  "tagFilter": [],
  "deduplicate": false,
  "useProxy": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  },
  "maxConcurrency": 5
}
```

# Actor output Schema

## `walletAddress` (type: `string`):

Wallet address

## `chain` (type: `string`):

Blockchain slug

## `nickname` (type: `string`):

User-set nickname on GMGN

## `name` (type: `string`):

Display name (often from Twitter)

## `twitterUsername` (type: `string`):

Linked Twitter handle

## `tags` (type: `string`):

GMGN classification tags

## `lastActive` (type: `string`):

ISO timestamp of last trade

## `balance` (type: `string`):

Native chain balance

## `followCount` (type: `string`):

GMGN follower count

## `pnl1d` (type: `string`):

PnL multiplier in the last day

## `pnl7d` (type: `string`):

PnL multiplier in the last week

## `pnl30d` (type: `string`):

PnL multiplier in the last 30 days

## `realizedProfit1d` (type: `string`):

Realized USD profit in 1d

## `realizedProfit7d` (type: `string`):

Realized USD profit in 7d

## `realizedProfit30d` (type: `string`):

Realized USD profit in 30d

## `winrate1d` (type: `string`):

Win rate 0-1 in 1d

## `winrate7d` (type: `string`):

Win rate 0-1 in 7d

## `winrate30d` (type: `string`):

Win rate 0-1 in 30d

## `txs7d` (type: `string`):

Transactions in 7d

## `volume7d` (type: `string`):

USD volume in 7d

## `avgCost7d` (type: `string`):

Average cost basis in 7d

## `avgHoldingPeriod7d` (type: `string`):

Avg holding period seconds in 7d

## `pnlGt5x7d` (type: `string`):

Tokens returning >5x in 7d

## `dailyProfit7d` (type: `string`):

Array of {date, profit} for last 7 days

## `gmgnUrl` (type: `string`):

GMGN wallet page

## `orderByMatches` (type: `string`):

Which (period, orderBy) rankings surfaced this wallet

## `scrapedAt` (type: `string`):

Scrape timestamp

# 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("logiover/gmgn-smart-money-wallet-leaderboard").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("logiover/gmgn-smart-money-wallet-leaderboard").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).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 logiover/gmgn-smart-money-wallet-leaderboard --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=logiover/gmgn-smart-money-wallet-leaderboard",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "GMGN Smart Money Wallet Leaderboard — Top Crypto Traders",
        "description": "Top crypto trader leaderboard from GMGN.ai across Solana, BSC, Ethereum, Base, Tron, Monad. Rank by 1d/7d/30d PnL, winrate, volume. 50+ fields per wallet: realized profit, winrate, txs, holding period, daily profit history, tags (smart_degen, KOL, fresh), Twitter, ENS.",
        "version": "1.0",
        "x-build-id": "OXuhWg8cUFAW18keV"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/logiover~gmgn-smart-money-wallet-leaderboard/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-logiover-gmgn-smart-money-wallet-leaderboard",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/logiover~gmgn-smart-money-wallet-leaderboard/runs": {
            "post": {
                "operationId": "runs-sync-logiover-gmgn-smart-money-wallet-leaderboard",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/logiover~gmgn-smart-money-wallet-leaderboard/run-sync": {
            "post": {
                "operationId": "run-sync-logiover-gmgn-smart-money-wallet-leaderboard",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "chains": {
                        "title": "Chains",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Which chains to scan for top traders. Each chain has its own leaderboard. Default scans Solana and BSC (highest activity). All six chains: sol, bsc, eth, base, tron, monad.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "sol",
                                "bsc",
                                "eth",
                                "base",
                                "tron",
                                "monad"
                            ],
                            "enumTitles": [
                                "Solana",
                                "BSC",
                                "Ethereum",
                                "Base",
                                "Tron",
                                "Monad"
                            ]
                        },
                        "default": [
                            "sol",
                            "bsc",
                            "eth",
                            "base",
                            "tron",
                            "monad"
                        ]
                    },
                    "periods": {
                        "title": "Lookback Periods",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Lookback window for PnL ranking. '1d' = last 24h, '7d' = last week, '30d' = last month. Default scans 1d and 7d.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "1d",
                                "7d",
                                "30d"
                            ],
                            "enumTitles": [
                                "24 hours",
                                "7 days",
                                "30 days"
                            ]
                        },
                        "default": [
                            "1d",
                            "7d",
                            "30d"
                        ]
                    },
                    "orderByList": {
                        "title": "Order By (multiple)",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Sort the leaderboard by these metrics — the actor runs one request per orderBy and merges the results. Higher = more results per run. 'pnl_1d/7d/30d' = realized PnL multiplier. 'realized_profit_1d/7d/30d' = USD profit. 'winrate_1d/7d/30d' = win rate (0-1). 'volume_1d/7d/30d' = total USD volume. 'txs_1d/7d/30d' = total transaction count.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "pnl_1d",
                                "pnl_7d",
                                "pnl_30d",
                                "realized_profit_1d",
                                "realized_profit_7d",
                                "realized_profit_30d",
                                "winrate_1d",
                                "winrate_7d",
                                "winrate_30d",
                                "volume_1d",
                                "volume_7d",
                                "volume_30d",
                                "txs_1d",
                                "txs_7d",
                                "txs_30d"
                            ],
                            "enumTitles": [
                                "PnL × (1d)",
                                "PnL × (7d)",
                                "PnL × (30d)",
                                "Realized $ (1d)",
                                "Realized $ (7d)",
                                "Realized $ (30d)",
                                "Winrate (1d)",
                                "Winrate (7d)",
                                "Winrate (30d)",
                                "Volume (1d)",
                                "Volume (7d)",
                                "Volume (30d)",
                                "Txs (1d)",
                                "Txs (7d)",
                                "Txs (30d)"
                            ]
                        },
                        "default": [
                            "pnl_7d",
                            "realized_profit_7d",
                            "volume_7d",
                            "txs_7d",
                            "winrate_7d"
                        ]
                    },
                    "direction": {
                        "title": "Sort Direction",
                        "enum": [
                            "desc",
                            "asc"
                        ],
                        "type": "string",
                        "description": "Sort direction. desc = highest first (default, matches the source UI). asc = lowest first — useful for hunting unfamiliar entries.",
                        "default": "desc"
                    },
                    "minPnl": {
                        "title": "Minimum PnL Multiplier",
                        "type": "number",
                        "description": "Drop wallets whose PnL multiplier (in the picked period) is below this. e.g. 1.5 = 50% gain.",
                        "default": 0
                    },
                    "minRealizedProfitUsd": {
                        "title": "Minimum Realized Profit (USD)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Drop wallets whose realized profit (in the picked period) is below this USD amount.",
                        "default": 0
                    },
                    "minWinrate": {
                        "title": "Minimum Winrate (0-1)",
                        "minimum": 0,
                        "maximum": 1,
                        "type": "number",
                        "description": "Drop wallets below this winrate (0-1). E.g. 0.5 = 50%.",
                        "default": 0
                    },
                    "minTxs": {
                        "title": "Minimum Transactions",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Drop wallets with fewer trades in the period — filters out lucky one-shot wallets.",
                        "default": 0
                    },
                    "minVolumeUsd": {
                        "title": "Minimum Volume (USD)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Drop rows whose USD volume is below this threshold. Default 0 = no filter.",
                        "default": 0
                    },
                    "onlyWithTwitter": {
                        "title": "Only Wallets With Twitter",
                        "type": "boolean",
                        "description": "Keep only wallets that have a Twitter / X handle linked. Useful for KOL / public-figure discovery.",
                        "default": false
                    },
                    "tagFilter": {
                        "title": "Tag Filter",
                        "type": "array",
                        "description": "Keep only wallets carrying one of these GMGN tags. Common values: 'smart_degen', 'renowned', 'fresh_wallet', 'kol', 'exchange', 'fund', 'pump_smart_degen', 'sniper'. Leave empty to keep all.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "deduplicate": {
                        "title": "Deduplicate Wallets",
                        "type": "boolean",
                        "description": "When ON, a wallet returned by multiple (chain, period, orderBy) calls is emitted once, with the merged metadata. When OFF, each combination produces a separate row (useful for studying which ranking surfaced a wallet).",
                        "default": false
                    },
                    "useProxy": {
                        "title": "Use Apify Proxy",
                        "type": "boolean",
                        "description": "Route requests through Apify Proxy. Strongly recommended ON — residential proxy is the most reliable way to bypass Cloudflare rate limits.",
                        "default": true
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Apify Proxy configuration. Residential proxy group is recommended for the highest success rate against Cloudflare.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    },
                    "maxConcurrency": {
                        "title": "Max Concurrent Requests",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Maximum number of API calls running in parallel. Higher = faster runs but more chance of hitting rate limits. 3-5 is safe.",
                        "default": 5
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
