# Smart Money Wallet Tracker (Free Nansen Alt, Multi-Chain) (`gochujang/smart-money-tracker`) Actor

Track 238+ curated smart-money wallets + auto-discovery across Ethereum, Base, Arbitrum, BSC and Solana. Returns transactions, PnL, win-rate, coordinated buys, and token flow. Free alternative to Nansen ($150/mo). PPE $0.02/wallet.

- **URL**: https://apify.com/gochujang/smart-money-tracker.md
- **Developed by:** [Hojun Lee](https://apify.com/gochujang) (community)
- **Categories:** Developer tools, Automation
- **Features:** Limited permissions
- **Stats:** 25 total users, 2 monthly users, 96.8% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $20.00 / 1,000 wallet scanneds

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?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### What does Smart Money Wallet Tracker do?

**Smart Money Wallet Tracker** monitors bundled curated wallets or addresses you provide on Ethereum, Base, Arbitrum, and Solana. It reads public-chain transfers through Alchemy RPC and reports large USD-valued transfers and wallet summaries. The operator must configure the secret `ALCHEMY_API_KEY` environment variable; the key is never included in output.

The `discover` mode publishes and seeds the bundled curated wallet list; `monitor` scans that list and any addresses you provide. `both` runs these steps together. Discovery no longer claims to identify early buyers or uses a market-price feed.

***

### Why use Smart Money Wallet Tracker?

1. **Curated watchlist** — Start from bundled public-chain wallet addresses or supply your own.
2. **Coordinated buying detection** — Surface multiple watched wallets receiving the same supported USD-valued asset in the lookback window.
3. **Portfolio summaries** — See observed inflows, outflows, balances, and estimated PnL where a supported on-chain price exists; these are not audited investment returns.
4. **Multi-chain whale monitoring** — Follow wallet transfers across Ethereum, Base, Arbitrum, and Solana.
5. **On-chain USD references** — ETH and WBTC use Uniswap v3 pool state read over the same RPC; USDC, USDT, and DAI are treated as $1.

***

### How to use Smart Money Wallet Tracker

1. Open the actor on Apify Store and click **Try for free**.
2. **First time?** Enable `quickDemo: true` to scan 3 known high-activity wallets with a 7-day lookback. Output still depends on observed chain activity.
3. Choose `mode`: `discover`, `monitor`, or `both`.
4. Optionally paste wallet addresses into `wallets` — or leave blank to use auto-discovered wallets.
5. Set `chains`, `minTxValueUsd`, and `lookbackHours` to match your strategy.
6. Click **Start**. Results are structured by record type (`tx`, `wallet_summary`, `insight_signal`, etc.) for easy filtering.

**Recommended schedule**: run `discover` daily and `monitor` hourly for continuous smart money coverage.

> **Tip**: If you get empty results, lower `minTxValueUsd` to 1000 or increase `lookbackHours` to 72. Most wallets don't move $10K+ every 24 hours.

***

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `mode` | string | `"monitor"` | `discover`, `monitor`, or `both` |
| `wallets` | string\[] | `[]` | Wallet addresses to monitor. Empty = use auto-discovered wallets. |
| `chains` | string\[] | `["ethereum", "base", "solana"]` | Chains to scan: `ethereum`, `base`, `arbitrum`, `solana` |
| `minTxValueUsd` | number | `1000` | Only report transactions above this USD value. Use 1000 for most wallets, 10000+ for mega-whale-only filtering. |
| `lookbackHours` | number | `24` | How far back to scan (max 168 = 7 days) |
| `maxDiscoveredWallets` | number | `20` | Top-scored auto-discovered wallets to include |
| `quickDemo` | boolean | `false` | Scan 3 known high-activity wallets (168h lookback, $500 threshold). |
| `telegramBotToken` / `telegramChatId` | string | `""` | Legacy inputs accepted but no outbound alerts are sent. |

***

### Output

All records include a `_type` field for easy dataset filtering.

```json
{
  "_type": "insight_signal",
  "signal_type": "consensus_buy",
  "symbol": "USDC",
  "wallet_count": 5,
  "inflow_usd": 800000,
  "strength": "strong"
}
```

```json
{
  "_type": "wallet_summary",
  "wallet": "0xd8da6b...96045",
  "sm_score": 4.16,
  "realized_pnl": 12400,
  "win_rate_pct": "72.0%",
  "total_trades": 18
}
```

***

### Data fields

| Field | Type | Description |
|---|---|---|
| `_type` | string | Record type: `tx`, `wallet_summary`, `insight_token_flow`, `insight_signal`, `smart_money_rank` |
| `chain` | string | Source blockchain |
| `wallet` | string | Wallet address |
| `sm_score` | float | Legacy watchlist score; curated entries start at zero |
| `realized_pnl` | float | Realized profit/loss in USD |
| `win_rate` | float | Fraction of trades that were profitable (0–1) |
| `signal_type` | string | `consensus_buy` for insight signals |
| `strength` | string | Signal strength: `strong`, `moderate`, `weak` |
| `inflow_usd` | float | Total USD inflow for this token/wallet |
| `net_usd` | float | Net flow (inflow minus outflow) in USD |

***

### Cost estimation

**Pay-Per-Event: $0.02 per wallet scanned. No charge for discover-only runs.**

| Use case | Wallets | Estimated cost |
|---|---|---|
| Daily `discover` run | 0 | Free |
| Monitor 5 wallets once/day | 5 | $0.10/day |
| Monitor 20 wallets once/day | 20 | $0.40/day |
| Monitor 20 wallets hourly | 20 × 24 | ~$9.60/day |

***

### FAQ

**Does this work without providing wallet addresses?**
Yes. Leave `wallets` empty and the actor uses auto-discovered wallets from the previous `discover` run. Run `mode: "both"` on the first run to bootstrap the list.

**What makes a wallet "smart money"?**
The bundled watchlist labels publicly identifiable wallets. A label is not a verified investment track record or a recommendation to copy trades.

**Is this legal and safe to use?**
Source: public blockchain state; RPC provided by Alchemy. The Actor does not resell or expose RPC access. USD values are available only for USDC/USDT/DAI at a $1 reference and ETH/WETH/WBTC from Ethereum Uniswap v3 pool state. Other tokens (including SOL) have `usd_value: null` and are excluded from the USD whale filter. This tool is for research and informational purposes only — not financial advice.

> **Disclaimer**: On-chain analytics do not guarantee future performance. Past smart money wallet activity does not predict future results. Always conduct your own research before making investment decisions.

***

### Related actors

- [Hyperliquid Whale Tracker](https://apify.com/gochujang/hyperliquid-whale-tracker) — Perp positions for whales who bridge from spot
- [Mayan Cross-chain Swap Tracker](https://apify.com/gochujang/mayan-cross-chain-tracker) — Whale flows across Solana and EVM chains
- [Kimchi Premium Tracker](https://apify.com/gochujang/kimchi-premium-tracker) — Korean exchange arbitrage signals
- [DeFi Yield APY Scanner](https://apify.com/gochujang/defi-yield-scanner) — Find the best yield once smart money exits

### Feedback

If this actor is useful to you, a quick review helps other traders find it: [Leave a review on Apify Store](https://apify.com/gochujang/smart-money-tracker#reviews)

***

**Keywords:** smart money wallet tracker, on-chain whale tracker, crypto wallet monitor, Ethereum whale transactions, smart money on-chain signals, DeFi alpha signals, whale buy tracker, on-chain sentiment, multi-chain wallet tracker, Base Arbitrum Solana wallet, consensus buy detection, whale alert crypto, institutional wallet tracker, on-chain intelligence

# Actor input Schema

## `mode` (type: `string`):

discover: find smart money wallets from top-gaining tokens. monitor: scan wallets and output insights. both: run discover then monitor.

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

List of wallet addresses to track. If empty in monitor mode, uses auto-discovered wallets from previous discover runs.

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

Which chains to check

## `minTxValueUsd` (type: `integer`):

Only report transactions above this USD value. Use 1000 for most wallets, 10000+ for mega-whales only.

## `lookbackHours` (type: `integer`):

How many hours back to scan transactions

## `maxDiscoveredWallets` (type: `integer`):

How many top-scored wallets from the 2000+ seed database to include in monitor mode (0 = manual only)

## `includeTokenBalances` (type: `boolean`):

Fetch current token holdings for each wallet

## `telegramBotToken` (type: `string`):

Send whale alerts to Telegram. Get a bot token from @BotFather.

## `telegramChatId` (type: `string`):

Your Telegram chat ID to receive alerts

## `consensusMinWallets` (type: `integer`):

Emit a consensus_buy signal when at least N tracked wallets bought the same token within the lookback window.

## `consensusAlertMinWallets` (type: `integer`):

Send a Telegram alert when consensus reaches this stronger threshold. Must be >= consensusMinWallets.

## `quickDemo` (type: `boolean`):

Run monitor on 3 known high-activity wallets with extended lookback (168h) and low threshold ($500). Guarantees non-empty output for first-time users. Demo records are flagged with \_demo: true.

## `notifyOnEmpty` (type: `boolean`):

If no whale transactions are found, send a Telegram troubleshooting message: lower minTxValueUsd, increase lookbackHours, or verify wallet addresses.

## Actor input object example

```json
{
  "mode": "monitor",
  "wallets": [
    "0x28c6c06298d514db089934071355e5743bf21d60",
    "0x21a31ee1afc51d94c2efccaa2092ad1028285549",
    "0x9bf4001d307dfd62b26a2f1307ee0c0307632d59",
    "0xf977814e90da44bfa03b6295a0616a897441acec",
    "0x5a52e96bacdabb82fd05763e25335261b270efcb"
  ],
  "chains": [
    "ethereum",
    "base",
    "solana"
  ],
  "minTxValueUsd": 1000,
  "lookbackHours": 24,
  "maxDiscoveredWallets": 50,
  "includeTokenBalances": true,
  "telegramBotToken": "",
  "telegramChatId": "",
  "consensusMinWallets": 3,
  "consensusAlertMinWallets": 5,
  "quickDemo": false,
  "notifyOnEmpty": true
}
```

# Actor output Schema

## `transactions` (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 = {
    "wallets": [
        "0x28c6c06298d514db089934071355e5743bf21d60",
        "0x21a31ee1afc51d94c2efccaa2092ad1028285549",
        "0x9bf4001d307dfd62b26a2f1307ee0c0307632d59",
        "0xf977814e90da44bfa03b6295a0616a897441acec",
        "0x5a52e96bacdabb82fd05763e25335261b270efcb"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("gochujang/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 = { "wallets": [
        "0x28c6c06298d514db089934071355e5743bf21d60",
        "0x21a31ee1afc51d94c2efccaa2092ad1028285549",
        "0x9bf4001d307dfd62b26a2f1307ee0c0307632d59",
        "0xf977814e90da44bfa03b6295a0616a897441acec",
        "0x5a52e96bacdabb82fd05763e25335261b270efcb",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("gochujang/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 '{
  "wallets": [
    "0x28c6c06298d514db089934071355e5743bf21d60",
    "0x21a31ee1afc51d94c2efccaa2092ad1028285549",
    "0x9bf4001d307dfd62b26a2f1307ee0c0307632d59",
    "0xf977814e90da44bfa03b6295a0616a897441acec",
    "0x5a52e96bacdabb82fd05763e25335261b270efcb"
  ]
}' |
apify call gochujang/smart-money-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,gochujang/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/UOl6ZDRUqwzUJ7uSB/builds/iZnXm0XjT8D5btSbQ/openapi.json
