# Multi Chain Crypto Wallet Scraper (`egsand/multi-chain-crypto-wallet-scraper`) Actor

- **URL**: https://apify.com/egsand/multi-chain-crypto-wallet-scraper.md
- **Developed by:** [Enrique G.](https://apify.com/egsand) (community)
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.10 / 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/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

## Crypto Wallet Tracker & Active Wallets Scanner

**Crypto Wallet Tracker & Active Wallets Scanner** is a fast, reliable blockchain data extraction tool designed for Web3 analysts, traders, compliance teams, and automated pipelines.

It provides two core capabilities:

1. **Wallet Lookup:** Inspect any specific cryptocurrency wallet to extract its native balance, total transaction count, account classification (user wallet vs smart contract), and block explorer links.
2. **Active Wallets Discovery:** Scan recent blocks and mempools in real time to discover active wallets on your chosen network, strictly ordered by the timestamp of their most recent transaction.

***

### 🌐 Supported Blockchains & Address Formats

This Actor works exclusively with the following **9 major blockchain networks**. Please make sure your target network and address format match one of the supported chains below:

| Blockchain | Chain Identifier (`chain`) | Native Asset | Supported Address Formats | Explorer |
| :--- | :--- | :---: | :--- | :--- |
| **Ethereum** | `ethereum` | ETH | 42-character hex starting with `0x...` | [Etherscan](https://etherscan.io) |
| **Bitcoin** | `bitcoin` | BTC | Legacy (`1...`), P2SH (`3...`), SegWit (`bc1q...`), Taproot (`bc1p...`) | [Mempool.space](https://mempool.space) |
| **Solana** | `solana` | SOL | Base58 public key (32–44 characters) | [Solscan](https://solscan.io) |
| **Base** | `base` | ETH | 42-character hex starting with `0x...` | [Basescan](https://basescan.org) |
| **BNB Smart Chain** | `bsc` | BNB | 42-character hex starting with `0x...` | [BscScan](https://bscscan.com) |
| **Polygon** | `polygon` | POL | 42-character hex starting with `0x...` | [PolygonScan](https://polygonscan.com) |
| **Arbitrum One** | `arbitrum` | ETH | 42-character hex starting with `0x...` | [Arbiscan](https://arbiscan.io) |
| **Optimism** | `optimism` | ETH | 42-character hex starting with `0x...` | [Optimistic Etherscan](https://optimistic.etherscan.io) |
| **Avalanche C-Chain** | `avalanche` | AVAX | 42-character hex starting with `0x...` | [Snowtrace](https://snowtrace.io) |

> **Note:** Networks outside this list (such as TRON, Cardano, XRP Ledger, or Cosmos) are not supported. If an unsupported chain is passed, the Actor will notify you with an error.

***

### 🛠️ Input Parameters

Configure the Actor directly in the Apify Console UI or via JSON API:

| Parameter | Type | Default | Required | Description |
| :--- | :--- | :--- | :---: | :--- |
| `chain` | `String` | `"ethereum"` | **Yes** | Blockchain to inspect: `"ethereum"`, `"bitcoin"`, `"solana"`, `"base"`, `"bsc"`, `"polygon"`, `"arbitrum"`, `"optimism"`, or `"avalanche"`. |
| `mode` | `String` | `"AUTO"` | No | Operation mode: `"AUTO"` (auto-detects based on address presence), `"LOOKUP_ADDRESS"`, or `"RECENT_ACTIVE_WALLETS"`. |
| `address` | `String` | `null` | No | A single wallet address to inspect. |
| `addresses` | `Array[String]` | `[]` | No | A list of wallet addresses to inspect in batch. |
| `limit` | `Integer` | `20` | No | Number of active wallets to discover (1 to 200), or max transaction records per lookup. |
| `filterContracts` | `Boolean` | `true` | No | For EVM chains: filters out smart contracts to only return real user wallets (EOAs). |
| `includeTransactions` | `Boolean` | `true` | No | Attach recent transaction details (hash, block, timestamp, direction) to each record. |
| `customRpcUrl` | `String` | `null` | No | Optional private RPC endpoint (e.g. Infura, Alchemy, QuickNode). If omitted, public nodes are used automatically. |

***

### 📋 Input Examples

#### Example 1: Discover 10 Wallets with Most Recent Transactions (Base)

```json
{
  "chain": "base",
  "mode": "RECENT_ACTIVE_WALLETS",
  "limit": 10,
  "filterContracts": true
}
```

#### Example 2: Look up an Ethereum Address

```json
{
  "chain": "ethereum",
  "mode": "LOOKUP_ADDRESS",
  "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045"
}
```

#### Example 3: Look up a Bitcoin Address

```json
{
  "chain": "bitcoin",
  "mode": "LOOKUP_ADDRESS",
  "address": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"
}
```

#### Example 4: Batch Lookup Multiple Solana Wallets

```json
{
  "chain": "solana",
  "mode": "LOOKUP_ADDRESS",
  "addresses": [
    "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
    "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4"
  ]
}
```

***

### 📤 Output Data

All extracted records are pushed directly to the run's **Default Dataset** and can be exported as **JSON, CSV, Excel, XML, or HTML table**. In addition, a summary report is stored in the **Key-Value Store** under `OUTPUT`.

#### Output Dataset Fields

| Field | Type | Description |
| :--- | :--- | :--- |
| `address` | `String` | The on-chain wallet address. |
| `chain` | `String` | The blockchain network name (e.g., `"base"`, `"ethereum"`, `"bitcoin"`). |
| `accountType` | `String` | Account classification: `"EOA"` (user wallet), `"Contract"`, `"Bitcoin Address"`, or `"Solana Account"`. |
| `balance` | `String` | Human-readable native token balance (e.g. `"0.0388"`). |
| `balanceRaw` | `String` | Exact balance in smallest atomic units (Wei, Satoshi, or Lamports). |
| `symbol` | `String` | The native cryptocurrency ticker (`"ETH"`, `"BTC"`, `"SOL"`, `"BNB"`, `"POL"`, `"AVAX"`). |
| `transactionCount` | `Integer` | Total transaction count or account nonce. |
| `lastActiveTimestamp` | `String` | ISO 8601 timestamp of the wallet's most recent confirmed transaction. |
| `lastActiveBlock` | `Integer` | Block height or slot of the most recent activity. |
| `recentTransactions` | `Array` | List of recent transactions including transaction hash, timestamp, block, and direction (`IN` or `OUT`). |
| `explorerUrl` | `String` | Direct block explorer link to inspect the wallet on Etherscan, Mempool, Solscan, etc. |
| `fetchedAt` | `String` | ISO 8601 timestamp when this data was fetched. |

#### Sample Output Record (JSON)

```json
{
  "address": "0x0c32b5107270ee9d754f11ffe51ec04b3b987f44",
  "chain": "base",
  "accountType": "EOA",
  "balance": "0.038876858283548155",
  "balanceRaw": "38876858283548155",
  "symbol": "ETH",
  "transactionCount": 144989,
  "lastActiveTimestamp": "2026-11-02T13:02:51.000Z",
  "lastActiveBlock": 53417612,
  "recentTransactions": [
    {
      "hash": "0x074ca1989b23eae14855e183f6fa318979d928787d2a9e431833db3088d0059a",
      "from": "0x0c32b5107270ee9d754f11ffe51ec04b3b987f44",
      "to": "0x1e014cd14b401132fade11d47d6ef828a44e9545",
      "value": "0",
      "blockNumber": 53417612,
      "timestamp": "2026-11-02T13:02:51.000Z",
      "direction": "OUT",
      "explorerTxUrl": "https://basescan.org/tx/0x074ca1989b23eae14855e183f6fa318979d928787d2a9e431833db3088d0059a"
    }
  ],
  "explorerUrl": "https://basescan.org/address/0x0c32b5107270ee9d754f11ffe51ec04b3b987f44",
  "fetchedAt": "2026-11-02T13:02:53.429Z"
}
```

***

### 🎯 Primary Use Cases

- **Trader & Smart Money Discovery:** Identify addresses actively trading in the latest blocks on high-volume chains like Base, Solana, and Ethereum.
- **Wallet Balances & Nonce Auditing:** Automatically check wallet balances and transaction counts for portfolios or user account lists.
- **DeFi & On-Chain Analytics:** Pipe live active wallets into your analytics dashboards, databases, or AI agent workflows.
- **Webhook & Automation Triggering:** Connect this Actor with Apify Webhooks, Zapier, or Make to trigger alerts whenever specified wallets transact.

# Actor input Schema

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

Select the blockchain network to inspect.

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

Choose whether to look up specific addresses or discover wallets with the most recent transactions.

## `address` (type: `string`):

A single wallet address to look up (e.g., Ethereum 0x..., Bitcoin bc1... or 1..., Solana base58...).

## `addresses` (type: `array`):

List of wallet addresses to look up in batch.

## `limit` (type: `integer`):

How many active wallets to discover ordered by newest transaction date, or max txs per wallet lookup.

## `filterContracts` (type: `boolean`):

For EVM chains: only keep user/trader wallets (EOAs) and filter out smart contract addresses.

## `includeTransactions` (type: `boolean`):

Attach recent transaction details (hash, sender, recipient, value, timestamp) to each wallet record.

## `customRpcUrl` (type: `string`):

Optional custom RPC endpoint (Infura, Alchemy, QuickNode, Private Solana RPC, etc.). If blank, high-speed public nodes are used.

## Actor input object example

```json
{
  "chain": "ethereum",
  "mode": "AUTO",
  "limit": 20,
  "filterContracts": true,
  "includeTransactions": true
}
```

# Actor output Schema

## `dataset` (type: `string`):

Direct API link to the structured dataset containing wallet balances, account types, transaction metrics, recent activity, and explorer links.

## `summary` (type: `string`):

Direct API link to the run summary stored in the default key-value store, detailing total wallets processed, selected chain, and mode.

# 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("egsand/multi-chain-crypto-wallet-scraper").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("egsand/multi-chain-crypto-wallet-scraper").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 egsand/multi-chain-crypto-wallet-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,egsand/multi-chain-crypto-wallet-scraper"
        }
    }
}
```

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/k4dBckOjajlgUBbln/builds/gzPiKNicOMBhdLK4n/openapi.json
