# Solana Bundle Checker: Find Bundler Wallets in a Token

**Use case:** 

Check any Solana token for bundled launch wallets. Enter the token address and get every bundler wallet with its current share of supply, USD value, buy and sell totals, profit and loss and wallet tags, sorted by ownership, as JSON, CSV or Excel.

## Input

```json
{
  "tokenAddresses": [
    "C5xph2yL6gMdxmuLGxJBkGpmuDFfyi5fqkBNhvL6pump"
  ],
  "chain": "sol",
  "tag": "bundler",
  "sortBy": "ownership_percentage",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": []
  }
}
```

## Output

```json
{
  "address": {
    "label": "Wallet Address",
    "format": "text"
  },
  "account_address": {
    "label": "Account Address",
    "format": "text"
  },
  "addr_type": {
    "label": "Address Type",
    "format": "number"
  },
  "amount_cur": {
    "label": "Amount Current",
    "format": "number"
  },
  "usd_value": {
    "label": "USD Value",
    "format": "currency"
  },
  "cost_cur": {
    "label": "Cost Current",
    "format": "currency"
  },
  "sell_amount_cur": {
    "label": "Sell Amount Current",
    "format": "number"
  },
  "sell_amount_percentage": {
    "label": "Sell Amount Percentage",
    "format": "percent"
  },
  "sell_volume_cur": {
    "label": "Sell Volume Current",
    "format": "number"
  },
  "buy_volume_cur": {
    "label": "Buy Volume Current",
    "format": "number"
  },
  "buy_amount_cur": {
    "label": "Buy Amount Current",
    "format": "number"
  },
  "netflow_usd": {
    "label": "Netflow USD",
    "format": "currency"
  },
  "netflow_amount": {
    "label": "Netflow Amount",
    "format": "number"
  },
  "buy_tx_count_cur": {
    "label": "Buy Transaction Count",
    "format": "number"
  },
  "sell_tx_count_cur": {
    "label": "Sell Transaction Count",
    "format": "number"
  },
  "current_buy_amount": {
    "label": "Current Buy Amount",
    "format": "number"
  },
  "current_sell_amount": {
    "label": "Current Sell Amount",
    "format": "number"
  },
  "current_transfer_in_amount": {
    "label": "Current Transfer In Amount",
    "format": "number"
  },
  "current_transfer_out_amount": {
    "label": "Current Transfer Out Amount",
    "format": "number"
  },
  "history_bought_cost": {
    "label": "History Bought Cost",
    "format": "currency"
  },
  "history_bought_fee": {
    "label": "History Bought Fee",
    "format": "currency"
  },
  "history_sold_income": {
    "label": "History Sold Income",
    "format": "currency"
  },
  "history_sold_fee": {
    "label": "History Sold Fee",
    "format": "currency"
  },
  "history_transfer_in_cost": {
    "label": "History Transfer In Cost",
    "format": "currency"
  },
  "history_transfer_out_income": {
    "label": "History Transfer Out Income",
    "format": "currency"
  },
  "history_transfer_out_fee": {
    "label": "History Transfer Out Fee",
    "format": "currency"
  },
  "transfer_in_count": {
    "label": "Transfer In Count",
    "format": "number"
  },
  "transfer_out_count": {
    "label": "Transfer Out Count",
    "format": "number"
  },
  "wallet_tag_v2": {
    "label": "Wallet Tag",
    "format": "text"
  },
  "native_balance": {
    "label": "Native Balance",
    "format": "text"
  },
  "balance": {
    "label": "Balance",
    "format": "number"
  },
  "profit": {
    "label": "Profit",
    "format": "currency"
  },
  "realized_profit": {
    "label": "Realized Profit",
    "format": "currency"
  },
  "realized_pnl": {
    "label": "Realized PnL",
    "format": "percent"
  },
  "profit_change": {
    "label": "Profit Change",
    "format": "number"
  },
  "amount_percentage": {
    "label": "Amount Percentage",
    "format": "percent"
  },
  "unrealized_profit": {
    "label": "Unrealized Profit",
    "format": "currency"
  },
  "unrealized_pnl": {
    "label": "Unrealized PnL",
    "format": "percent"
  },
  "avg_cost": {
    "label": "Average Cost",
    "format": "currency"
  },
  "avg_sold": {
    "label": "Average Sold",
    "format": "currency"
  },
  "accu_amount": {
    "label": "Accumulated Amount",
    "format": "number"
  },
  "accu_cost": {
    "label": "Accumulated Cost",
    "format": "currency"
  },
  "cost": {
    "label": "Cost",
    "format": "currency"
  },
  "total_cost": {
    "label": "Total Cost",
    "format": "currency"
  },
  "transfer_in": {
    "label": "Transfer In",
    "format": "boolean"
  },
  "is_new": {
    "label": "Is New",
    "format": "boolean"
  },
  "is_suspicious": {
    "label": "Is Suspicious",
    "format": "boolean"
  },
  "is_on_curve": {
    "label": "Is On Curve",
    "format": "boolean"
  },
  "start_holding_at": {
    "label": "Start Holding At",
    "format": "date-time"
  },
  "end_holding_at": {
    "label": "End Holding At",
    "format": "date-time"
  },
  "last_block": {
    "label": "Last Block",
    "format": "number"
  },
  "last_active_timestamp": {
    "label": "Last Active Timestamp",
    "format": "date-time"
  },
  "native_transfer.name": {
    "label": "Native Transfer Name",
    "format": "text"
  },
  "native_transfer.from_address": {
    "label": "Native Transfer From Address",
    "format": "text"
  },
  "native_transfer.amount": {
    "label": "Native Transfer Amount",
    "format": "text"
  },
  "native_transfer.timestamp": {
    "label": "Native Transfer Timestamp",
    "format": "date-time"
  },
  "native_transfer.tx_hash": {
    "label": "Native Transfer TX Hash",
    "format": "text"
  },
  "token_transfer.name": {
    "label": "Token Transfer Name",
    "format": "text"
  },
  "token_transfer.address": {
    "label": "Token Transfer Address",
    "format": "text"
  },
  "token_transfer.timestamp": {
    "label": "Token Transfer Timestamp",
    "format": "date-time"
  },
  "token_transfer.tx_hash": {
    "label": "Token Transfer TX Hash",
    "format": "text"
  },
  "token_transfer.type": {
    "label": "Token Transfer Type",
    "format": "text"
  },
  "token_transfer_in.name": {
    "label": "Token Transfer In Name",
    "format": "text"
  },
  "token_transfer_in.address": {
    "label": "Token Transfer In Address",
    "format": "text"
  },
  "token_transfer_in.timestamp": {
    "label": "Token Transfer In Timestamp",
    "format": "date-time"
  },
  "token_transfer_in.tx_hash": {
    "label": "Token Transfer In TX Hash",
    "format": "text"
  },
  "token_transfer_in.type": {
    "label": "Token Transfer In Type",
    "format": "text"
  },
  "token_transfer_out.name": {
    "label": "Token Transfer Out Name",
    "format": "text"
  },
  "token_transfer_out.address": {
    "label": "Token Transfer Out Address",
    "format": "text"
  },
  "token_transfer_out.timestamp": {
    "label": "Token Transfer Out Timestamp",
    "format": "date-time"
  },
  "token_transfer_out.tx_hash": {
    "label": "Token Transfer Out TX Hash",
    "format": "text"
  },
  "token_transfer_out.type": {
    "label": "Token Transfer Out Type",
    "format": "text"
  },
  "tags": {
    "label": "Tags",
    "format": "stringList"
  },
  "maker_token_tags": {
    "label": "Maker Token Tags",
    "format": "stringList"
  },
  "name": {
    "label": "Name",
    "format": "text"
  },
  "avatar": {
    "label": "Avatar",
    "format": "image"
  },
  "twitter_username": {
    "label": "Twitter Username",
    "format": "text"
  },
  "twitter_name": {
    "label": "Twitter Name",
    "format": "text"
  },
  "created_at": {
    "label": "Created At",
    "format": "date-time"
  },
  "token_address": {
    "label": "Token Address",
    "format": "text"
  },
  "chain": {
    "label": "Blockchain Network",
    "format": "text"
  }
}
```

## How it works

### 1. Sign up on Apify or log in

The GMGN Token Top Traders Scraper Actor is ready to run with the inputs already set for "Solana Bundle Checker: Find Bundler Wallets in a Token". [Sign up or log in](https://console.apify.com/create-task-from-example/E6amPne0P1T59xFOP) and you'll land in Apify Console with a copy of this exact task.

### 2. Start the "Solana Bundle Checker: Find Bundler Wallets in a Token" task

The GMGN Token Top Traders Scraper Actor will start running based on the input automatically. You can also change all the input fields, like token addresses, blockchain network, and more, to match your specific use case.

### 3. Receive the "Solana Bundle Checker: Find Bundler Wallets in a Token" output

Monitor the progress in real time. You will be notified as soon as your dataset is complete and ready for review. Each result includes data such as wallet address, account address, address type, and more.

### 4. Integrate into your workflow

The final output is delivered in JSON, CSV, or Excel format, ready to be plugged into your workflow. You can also [run the "Solana Bundle Checker: Find Bundler Wallets in a Token" task via API](https://apify.com/muhammetakkurtt/gmgn-token-traders-scraper.md).

## FAQ

### What is a bundle checker for Solana tokens?

It finds wallets that bought a token in the same bundle as its launch, a common way to hide how much supply a team controls. This task lists every bundler wallet in the token you enter.

### How do I check if a Solana token was bundled?

Paste the token address and run this task. If it returns bundler wallets, look at their combined share of supply; when bundlers still hold a large share, a coordinated sell can crash the price.

### Why are bundled tokens risky?

Bundlers often belong to the developer or a coordinated group. When they sell together the price can drop fast, so a high bundler share is a common rug-pull warning sign.

### Can I see whether the bundlers already sold?

Yes. Each wallet shows its current share, buy and sell totals and realized PnL, and tags such as paper_hands mark wallets that have already sold.

### Can I check other holder types in the same token?

Yes. Change Tag to insiders, snipers, developers, smart wallets, KOL/VC, fresh wallets or bots, or see the Find Insider Wallets in a Solana Token task.

## About this Actor

This example demonstrates how to use [GMGN Token Top Traders Scraper](https://apify.com/muhammetakkurtt/gmgn-token-traders-scraper.md) with a specific input configuration. Visit the [Actor detail page](https://apify.com/muhammetakkurtt/gmgn-token-traders-scraper.md) to learn more, explore other use cases, and run it yourself.


## How to integrate an Actor?

This Task's input is already configured above. Use it as-is rather than inventing a new one.

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 full API examples (JavaScript, Python, CLI, MCP, OpenAPI), see this Task's Actor page: https://apify.com/muhammetakkurtt/gmgn-token-traders-scraper.md

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`).
