# Find Insider Wallets in a Solana Token

**Use case:** 

Find the insider wallets holding a Solana token. Enter the token address and get every wallet GMGN flags as an insider, with its share of supply, USD value, buy and sell totals, profit and loss and tags, sorted by ownership, as JSON, CSV or Excel.

## Input

```json
{
  "tokenAddresses": [
    "DffdPtAKvnP91k9Ct6QvZ8TwVvWbJ6CxRtGNGNh9pump"
  ],
  "chain": "sol",
  "tag": "insiders_group",
  "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 "Find Insider Wallets in a Solana Token". [Sign up or log in](https://console.apify.com/create-task-from-example/pFpP00vpOv3zY11iO) and you'll land in Apify Console with a copy of this exact task.

### 2. Start the "Find Insider Wallets in a Solana 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 "Find Insider Wallets in a Solana 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 "Find Insider Wallets in a Solana Token" task via API](https://apify.com/muhammetakkurtt/gmgn-token-traders-scraper.md).

## FAQ

### How do I find insider wallets in a Solana token?

Paste the token address and run this task. It returns every wallet GMGN flags as an insider, sorted by how much of the supply it holds, with USD value, trades and PnL.

### What counts as an insider wallet?

GMGN labels wallets as insiders, also called rat traders, when their activity suggests links to the team or early coordinated entry. The label is GMGN's assessment, not proof.

### Why does the insider share of a token matter?

If a handful of insider wallets hold a large share of supply, they can dump on later buyers, so a high insider share is a strong rug-pull warning sign.

### What if the task returns no insider wallets?

Then GMGN has not flagged any current holder as an insider for that token. Also check bundlers, snipers and the top 10 holders before you decide a token is safer.

### Can I check several tokens at once?

Yes. Add multiple token addresses; the task returns each token's insider wallets tagged with the token address, so you can compare them in one export.

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