pub struct TokenTopTrader {Show 47 fields
pub account_address: Option<String>,
pub accu_amount: Option<String>,
pub accu_cost: Option<String>,
pub addr_type: Option<i64>,
pub address_label: Option<String>,
pub amount: String,
pub amount_in_usd: String,
pub average_buy_price_in_usd: Option<String>,
pub average_sell_price_in_usd: Option<String>,
pub avg_cost: Option<String>,
pub buy_amount_cur: Option<String>,
pub cost: Option<String>,
pub end_holding_at: Option<i64>,
pub exchange: Option<String>,
pub history_bought_cost: Option<String>,
pub history_sold_income: Option<String>,
pub history_transfer_in_amount: Option<String>,
pub history_transfer_in_cost: Option<String>,
pub history_transfer_out_amount: Option<String>,
pub history_transfer_out_fee: Option<String>,
pub history_transfer_out_income: Option<String>,
pub is_closed: Option<bool>,
pub last_active_at: Option<i64>,
pub loss_count: Option<i64>,
pub netflow_amount: Option<String>,
pub netflow_usd: Option<String>,
pub realized_pnl: Option<String>,
pub roi: Option<String>,
pub sell_amount_cur: Option<String>,
pub sell_amount_percentage: Option<String>,
pub start_holding_at: Option<i64>,
pub tags: Vec<String>,
pub total_buy_amount_in_usd: Option<String>,
pub total_buy_count: Option<i64>,
pub total_cost_in_usd: Option<String>,
pub total_pnl_in_usd: Option<String>,
pub total_realized_pnl_in_usd: Option<String>,
pub total_sell_amount_in_usd: Option<String>,
pub total_sell_count: Option<i64>,
pub transfer_in: Option<bool>,
pub transfer_in_count: Option<i64>,
pub transfer_out_count: Option<i64>,
pub unrealized_pnl: Option<String>,
pub unrealized_pnl_in_usd: Option<String>,
pub wallet_address: String,
pub win_count: Option<i64>,
pub win_rate: Option<String>,
}Expand description
Historical trader entry for a token (includes cleared positions)
JSON schema
{
"description": "Historical trader entry for a token (includes cleared positions)",
"type": "object",
"required": [
"amount",
"amountInUsd",
"walletAddress"
],
"properties": {
"accountAddress": {
"description": "Solana token account address (ATA) for this trader position.\nDistinct from walletAddress (the owner). Matches GMGN `accountAddress`.",
"type": "string"
},
"accuAmount": {
"description": "Traceable cumulative DEX buy quantity — buy-side only accumulation (GMGN: accu_amount)",
"type": "string"
},
"accuCost": {
"description": "Traceable cumulative position cost (GMGN: accu_cost)",
"type": "string"
},
"addrType": {
"description": "Address type from dexes_dwd.address_labels (1=CEX, 2=MM, 3=VC, 4=KOL …). Matches GMGN `addr_type`.",
"type": "integer",
"format": "int64"
},
"addressLabel": {
"description": "Specific address label (e.g. \"Binance Hot Wallet 1\"). Matches GMGN `name`.",
"type": "string"
},
"amount": {
"description": "Current token balance (0 if fully closed)",
"examples": [
"0"
],
"type": "string"
},
"amountInUsd": {
"description": "Current token value in USD",
"examples": [
"0"
],
"type": "string"
},
"averageBuyPriceInUsd": {
"description": "Average buy price in USD per token (from balance cost snapshot)",
"type": "string"
},
"averageSellPriceInUsd": {
"description": "Average sell price in USD per token (from balance cost snapshot)",
"type": "string"
},
"avgCost": {
"description": "Average cost per token in USD (balance_cost_avg_in_usd; GMGN: avg_cost)",
"type": "string"
},
"buyAmountCur": {
"description": "Cumulative token quantity bought all-time (GMGN: buy_amount_cur)",
"type": "string"
},
"cost": {
"description": "Current open position cost in USD (GMGN: cost / cost_cur)",
"type": "string"
},
"endHoldingAt": {
"description": "Timestamp when position fully closed (ms since epoch)",
"type": "integer",
"format": "int64"
},
"exchange": {
"description": "Entity/exchange name (e.g. \"Binance\"). Matches GMGN `exchange`.",
"type": "string"
},
"historyBoughtCost": {
"description": "DEX buy total cost including fees (GMGN: history_bought_cost)",
"type": "string"
},
"historySoldIncome": {
"description": "DEX sell total income (GMGN: history_sold_income)",
"type": "string"
},
"historyTransferInAmount": {
"description": "Cumulative transfer-in token quantity (GMGN: history_transfer_in_amount)",
"type": "string"
},
"historyTransferInCost": {
"description": "Cumulative transfer-in USD cost (GMGN: history_transfer_in_cost)",
"type": "string"
},
"historyTransferOutAmount": {
"description": "Cumulative transfer-out token quantity (GMGN: history_transfer_out_amount)",
"type": "string"
},
"historyTransferOutFee": {
"description": "Total transfer-out fee in USD all-time (GMGN: historyTransferOutFee).",
"type": "string"
},
"historyTransferOutIncome": {
"description": "Cumulative transfer-out USD income (GMGN: history_transfer_out_income)",
"type": "string"
},
"isClosed": {
"description": "Whether position is fully closed",
"type": "boolean"
},
"lastActiveAt": {
"description": "Last active timestamp (ms since epoch)",
"type": "integer",
"format": "int64"
},
"lossCount": {
"description": "Number of losing trades all-time",
"type": "integer",
"format": "int64"
},
"netflowAmount": {
"description": "Net token quantity inflow = buy_amount_cur − sell_amount_cur (GMGN: netflow_amount)",
"type": "string"
},
"netflowUsd": {
"description": "Net USD inflow (buy_volume_usd − sell_volume_usd)",
"type": "string"
},
"realizedPnl": {
"description": "Realized PnL rate = realized_pnl / total_cost (GMGN: realized_pnl)",
"type": "string"
},
"roi": {
"description": "Return on investment = total_pnl / total_cost_all (e.g. 0.25 = 25%)",
"type": "string"
},
"sellAmountCur": {
"description": "Cumulative token quantity sold all-time (GMGN: sell_amount_cur)",
"type": "string"
},
"sellAmountPercentage": {
"description": "sell_qty / buy_qty ratio 0-1 (GMGN: sell_amount_percentage)",
"type": "string"
},
"startHoldingAt": {
"description": "Timestamp when first bought (ms since epoch)",
"type": "integer",
"format": "int64"
},
"tags": {
"description": "Wallet classification tags (e.g. \"kol\", \"smart\", \"sniper\")",
"type": "array",
"items": {
"type": "string"
}
},
"totalBuyAmountInUsd": {
"description": "Total buy volume in USD (all-time)",
"type": "string"
},
"totalBuyCount": {
"description": "Total buy trade count (all-time)",
"type": "integer",
"format": "int64"
},
"totalCostInUsd": {
"description": "All-time accumulated cost basis in USD",
"type": "string"
},
"totalPnlInUsd": {
"description": "Total PnL in USD (realized + unrealized)",
"type": "string"
},
"totalRealizedPnlInUsd": {
"description": "Realized PnL in USD (all-time)",
"type": "string"
},
"totalSellAmountInUsd": {
"description": "Total sell volume in USD (all-time)",
"type": "string"
},
"totalSellCount": {
"description": "Total sell trade count (all-time)",
"type": "integer",
"format": "int64"
},
"transferIn": {
"description": "Whether position was acquired mainly via transfer (GMGN: transfer_in)",
"type": "boolean"
},
"transferInCount": {
"description": "All-time transfer-in event count (GMGN: transfer_in_count)",
"type": "integer",
"format": "int64"
},
"transferOutCount": {
"description": "All-time transfer-out event count (GMGN: transfer_out_count)",
"type": "integer",
"format": "int64"
},
"unrealizedPnl": {
"description": "Unrealized PnL rate = unrealized_pnl / total_cost (GMGN: unrealized_pnl)",
"type": "string"
},
"unrealizedPnlInUsd": {
"description": "Unrealized PnL in USD (all-time window)",
"type": "string"
},
"walletAddress": {
"description": "Wallet address",
"examples": [
"0x1234567890abcdef"
],
"type": "string"
},
"winCount": {
"description": "Number of winning trades (realized PnL > 0) all-time",
"type": "integer",
"format": "int64"
},
"winRate": {
"description": "Win rate = win_count / (win_count + loss_count) (e.g. 0.6 = 60%)",
"type": "string"
}
}
}Fields§
§account_address: Option<String>Solana token account address (ATA) for this trader position.
Distinct from walletAddress (the owner). Matches GMGN accountAddress.
accu_amount: Option<String>Traceable cumulative DEX buy quantity — buy-side only accumulation (GMGN: accu_amount)
accu_cost: Option<String>Traceable cumulative position cost (GMGN: accu_cost)
addr_type: Option<i64>Address type from dexes_dwd.address_labels (1=CEX, 2=MM, 3=VC, 4=KOL …). Matches GMGN addr_type.
address_label: Option<String>Specific address label (e.g. “Binance Hot Wallet 1”). Matches GMGN name.
amount: StringCurrent token balance (0 if fully closed)
amount_in_usd: StringCurrent token value in USD
average_buy_price_in_usd: Option<String>Average buy price in USD per token (from balance cost snapshot)
average_sell_price_in_usd: Option<String>Average sell price in USD per token (from balance cost snapshot)
avg_cost: Option<String>Average cost per token in USD (balance_cost_avg_in_usd; GMGN: avg_cost)
buy_amount_cur: Option<String>Cumulative token quantity bought all-time (GMGN: buy_amount_cur)
cost: Option<String>Current open position cost in USD (GMGN: cost / cost_cur)
end_holding_at: Option<i64>Timestamp when position fully closed (ms since epoch)
exchange: Option<String>Entity/exchange name (e.g. “Binance”). Matches GMGN exchange.
history_bought_cost: Option<String>DEX buy total cost including fees (GMGN: history_bought_cost)
history_sold_income: Option<String>DEX sell total income (GMGN: history_sold_income)
history_transfer_in_amount: Option<String>Cumulative transfer-in token quantity (GMGN: history_transfer_in_amount)
history_transfer_in_cost: Option<String>Cumulative transfer-in USD cost (GMGN: history_transfer_in_cost)
history_transfer_out_amount: Option<String>Cumulative transfer-out token quantity (GMGN: history_transfer_out_amount)
history_transfer_out_fee: Option<String>Total transfer-out fee in USD all-time (GMGN: historyTransferOutFee).
history_transfer_out_income: Option<String>Cumulative transfer-out USD income (GMGN: history_transfer_out_income)
is_closed: Option<bool>Whether position is fully closed
last_active_at: Option<i64>Last active timestamp (ms since epoch)
loss_count: Option<i64>Number of losing trades all-time
netflow_amount: Option<String>Net token quantity inflow = buy_amount_cur − sell_amount_cur (GMGN: netflow_amount)
netflow_usd: Option<String>Net USD inflow (buy_volume_usd − sell_volume_usd)
realized_pnl: Option<String>Realized PnL rate = realized_pnl / total_cost (GMGN: realized_pnl)
roi: Option<String>Return on investment = total_pnl / total_cost_all (e.g. 0.25 = 25%)
sell_amount_cur: Option<String>Cumulative token quantity sold all-time (GMGN: sell_amount_cur)
sell_amount_percentage: Option<String>sell_qty / buy_qty ratio 0-1 (GMGN: sell_amount_percentage)
start_holding_at: Option<i64>Timestamp when first bought (ms since epoch)
Wallet classification tags (e.g. “kol”, “smart”, “sniper”)
total_buy_amount_in_usd: Option<String>Total buy volume in USD (all-time)
total_buy_count: Option<i64>Total buy trade count (all-time)
total_cost_in_usd: Option<String>All-time accumulated cost basis in USD
total_pnl_in_usd: Option<String>Total PnL in USD (realized + unrealized)
total_realized_pnl_in_usd: Option<String>Realized PnL in USD (all-time)
total_sell_amount_in_usd: Option<String>Total sell volume in USD (all-time)
total_sell_count: Option<i64>Total sell trade count (all-time)
transfer_in: Option<bool>Whether position was acquired mainly via transfer (GMGN: transfer_in)
transfer_in_count: Option<i64>All-time transfer-in event count (GMGN: transfer_in_count)
transfer_out_count: Option<i64>All-time transfer-out event count (GMGN: transfer_out_count)
unrealized_pnl: Option<String>Unrealized PnL rate = unrealized_pnl / total_cost (GMGN: unrealized_pnl)
unrealized_pnl_in_usd: Option<String>Unrealized PnL in USD (all-time window)
wallet_address: StringWallet address
win_count: Option<i64>Number of winning trades (realized PnL > 0) all-time
win_rate: Option<String>Win rate = win_count / (win_count + loss_count) (e.g. 0.6 = 60%)
Implementations§
Source§impl TokenTopTrader
impl TokenTopTrader
pub fn builder() -> TokenTopTrader
Trait Implementations§
Source§impl Clone for TokenTopTrader
impl Clone for TokenTopTrader
Source§fn clone(&self) -> TokenTopTrader
fn clone(&self) -> TokenTopTrader
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more