pub struct TradeDetail {Show 50 fields
pub account_address: Option<String>,
pub account_owner_address: String,
pub addr_type: Option<i64>,
pub block_height: i64,
pub block_timestamp: i64,
pub chain: String,
pub dex_fee_in_native: Option<String>,
pub dex_fee_in_usd: Option<String>,
pub dex_image: Option<String>,
pub dex_program_address: Option<String>,
pub dex_protocol_family: Option<String>,
pub gas_fee: Option<i64>,
pub gas_fee_in_native: Option<String>,
pub gas_fee_in_usd: Option<String>,
pub history_bought_amount: Option<String>,
pub history_sold_amount: Option<String>,
pub history_sold_income: Option<String>,
pub is_open_or_close: Option<i32>,
pub maker_event_tags: Vec<String>,
pub maker_exchange: Option<String>,
pub maker_name: Option<String>,
pub market_cap_in_usd: Option<String>,
pub pool_address: String,
pub post_balance: Option<String>,
pub priority_fee_in_native: Option<String>,
pub realized_profit_in_usd: Option<String>,
pub side_token_address: String,
pub side_token_amount: String,
pub side_token_amount_in_native: String,
pub side_token_amount_in_usd: String,
pub side_token_image_url: Option<String>,
pub side_token_name: String,
pub side_token_price_in_native: String,
pub side_token_price_in_usd: String,
pub side_token_symbol: String,
pub status: String,
pub token_address: String,
pub token_amount: String,
pub token_amount_in_native: String,
pub token_amount_in_usd: String,
pub token_image_url: Option<String>,
pub token_name: String,
pub token_price_in_native: String,
pub token_price_in_usd: String,
pub token_symbol: String,
pub total_trade: Option<i64>,
pub trader_tags: Vec<String>,
pub transaction_signature: String,
pub type_: String,
pub unrealized_profit_in_usd: Option<String>,
}Expand description
Trade detail
JSON schema
{
"description": "Trade detail",
"type": "object",
"required": [
"accountOwnerAddress",
"blockHeight",
"blockTimestamp",
"chain",
"poolAddress",
"sideTokenAddress",
"sideTokenAmount",
"sideTokenAmountInNative",
"sideTokenAmountInUsd",
"sideTokenName",
"sideTokenPriceInNative",
"sideTokenPriceInUsd",
"sideTokenSymbol",
"status",
"tokenAddress",
"tokenAmount",
"tokenAmountInNative",
"tokenAmountInUsd",
"tokenName",
"tokenPriceInNative",
"tokenPriceInUsd",
"tokenSymbol",
"transactionSignature",
"type"
],
"properties": {
"accountAddress": {
"description": "Solana token account address (ATA), distinct from accountOwnerAddress (wallet owner).",
"type": "string"
},
"accountOwnerAddress": {
"description": "Account owner address (trader wallet)",
"examples": [
"3xd4LGVWtYXLBspR6X5JWbW49NXmEehfPtX6Kqx98b4w"
],
"type": "string"
},
"addrType": {
"description": "Address type from dexes_dwd.address_labels.\n1=CEX, 2=Market Maker, 3=VC, 4=KOL, 5=DeFi, 6=Treasury, 7=Bridge, 8=Hacker.\nMatches GMGN `addr_type`.",
"type": "integer",
"format": "int64"
},
"blockHeight": {
"description": "Block height",
"examples": [
332417228
],
"type": "integer",
"format": "int64"
},
"blockTimestamp": {
"description": "Block timestamp (milliseconds)",
"examples": [
1717334400000
],
"type": "integer",
"format": "int64"
},
"chain": {
"description": "Chain identifier",
"examples": [
"sol"
],
"type": "string"
},
"dexFeeInNative": {
"description": "DEX protocol fee in native currency.\nAggregated from fees_processed[PROTOCOL] entries (trade-processing-pipeline Bug A fix required).\nNull when no PROTOCOL fee data is available (e.g. SOL — ETL not yet populated).",
"examples": [
"0.00025"
],
"type": "string"
},
"dexFeeInUsd": {
"description": "DEX protocol fee in USD.\nUses the same native-price snapshot as dex_fee_in_native; satisfies same-snapshot constraint.\nNull when no PROTOCOL fee data is available.",
"examples": [
"0.50"
],
"type": "string"
},
"dexImage": {
"description": "DEX image",
"examples": [
"https://example.com/dex.png"
],
"type": "string"
},
"dexProgramAddress": {
"description": "DEX program address",
"examples": [
"whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc"
],
"type": "string"
},
"dexProtocolFamily": {
"description": "DEX protocol family",
"examples": [
"OrcaWhirpool"
],
"type": "string"
},
"gasFee": {
"description": "Gas fee (raw: lamports for SOL, Gwei for BSC)",
"examples": [
5000
],
"type": "integer",
"format": "int64"
},
"gasFeeInNative": {
"description": "Gas fee in native currency (SOL / BNB / ETH)",
"examples": [
"0.000073"
],
"type": "string"
},
"gasFeeInUsd": {
"description": "Gas fee in USD",
"examples": [
"0.011"
],
"type": "string"
},
"historyBoughtAmount": {
"description": "Cumulative token quantity bought by this wallet (up to and including this trade).\nMatches GMGN `history_bought_amount`.",
"type": "string"
},
"historySoldAmount": {
"description": "Cumulative token quantity sold by this wallet (up to and including this trade).\nMatches GMGN `history_sold_amount`.",
"type": "string"
},
"historySoldIncome": {
"description": "Cumulative sell income (USD) for this wallet on this token (up to and including this trade).\nMatches GMGN `history_sold_income`.",
"type": "string"
},
"isOpenOrClose": {
"description": "Position lifecycle: 0=normal, 1=open_position, 2=close_position\nMatches GMGN `is_open_or_close` field.",
"type": "integer",
"format": "int32"
},
"makerEventTags": {
"description": "Trade behaviour tags for this event (e.g. \"open_position\", \"dip_buy\",\n\"take_profit\", \"stop_loss\", \"close_position\", \"accumulate\",\n\"transfer_in\", \"transfer_out\").\nMatches GMGN `maker_token_tags` on the activity level.",
"type": "array",
"items": {
"type": "string"
}
},
"makerExchange": {
"description": "Entity / exchange name (e.g. \"Binance\"). Matches GMGN `exchange`.",
"type": "string"
},
"makerName": {
"description": "Specific address label (e.g. \"Binance Hot Wallet 1\"). Matches GMGN `maker_name`.",
"type": "string"
},
"marketCapInUsd": {
"description": "Market cap in USD at trade time",
"examples": [
"1500000.00"
],
"type": "string"
},
"poolAddress": {
"description": "Pool address",
"examples": [
"58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2"
],
"type": "string"
},
"postBalance": {
"description": "Token balance after this trade (token quantity).\nMatches GMGN `balance` in activity feed.",
"type": "string"
},
"priorityFeeInNative": {
"description": "EVM priority fee (fee_miner_reward ÷ 1e18) in native currency (ETH/BNB).\nNull on SOL (ETL does not yet provide compute-budget priority fee).\nEquals (effectiveGasPrice − baseFeePerGas) × gasUsed converted to native units.",
"examples": [
"0.000005"
],
"type": "string"
},
"realizedProfitInUsd": {
"description": "Realized PnL for this specific trade in USD (non-zero only on Sell events).\nMatches GMGN `realized_profit`.",
"type": "string"
},
"sideTokenAddress": {
"description": "Side token address",
"examples": [
"So11111111111111111111111111111111111111112"
],
"type": "string"
},
"sideTokenAmount": {
"description": "Side token amount",
"examples": [
"1"
],
"type": "string"
},
"sideTokenAmountInNative": {
"description": "Side token amount in native currency",
"examples": [
"150"
],
"type": "string"
},
"sideTokenAmountInUsd": {
"description": "Side token amount in USD",
"examples": [
"150"
],
"type": "string"
},
"sideTokenImageUrl": {
"description": "Side token image URL",
"examples": [
"https://arweave.net/sol.png"
],
"type": "string"
},
"sideTokenName": {
"description": "Side token name",
"examples": [
"Wrapped SOL"
],
"type": "string"
},
"sideTokenPriceInNative": {
"description": "Side token price in native currency",
"examples": [
"1"
],
"type": "string"
},
"sideTokenPriceInUsd": {
"description": "Side token price in USD",
"examples": [
"150"
],
"type": "string"
},
"sideTokenSymbol": {
"description": "Side token symbol",
"examples": [
"SOL"
],
"type": "string"
},
"status": {
"description": "Transaction status",
"examples": [
"SUCCEEDED"
],
"type": "string"
},
"tokenAddress": {
"description": "Token address",
"examples": [
"6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN"
],
"type": "string"
},
"tokenAmount": {
"description": "Token amount",
"examples": [
"1000000"
],
"type": "string"
},
"tokenAmountInNative": {
"description": "Token amount in native currency",
"examples": [
"100"
],
"type": "string"
},
"tokenAmountInUsd": {
"description": "Token amount in USD",
"examples": [
"8800000"
],
"type": "string"
},
"tokenImageUrl": {
"description": "Token image URL",
"examples": [
"https://arweave.net/token.png"
],
"type": "string"
},
"tokenName": {
"description": "Token name",
"examples": [
"TRUMP"
],
"type": "string"
},
"tokenPriceInNative": {
"description": "Token price in native currency",
"examples": [
"0.0001"
],
"type": "string"
},
"tokenPriceInUsd": {
"description": "Token price in USD",
"examples": [
"8.80"
],
"type": "string"
},
"tokenSymbol": {
"description": "Token symbol",
"examples": [
"TRUMP"
],
"type": "string"
},
"totalTrade": {
"description": "Total historical trade count for this wallet on this token (buy + sell, up to and including this trade).\nMatches GMGN `total_trade`.",
"type": "integer",
"format": "int64"
},
"traderTags": {
"description": "Trader classification tags (e.g. \"kol\", \"smart\", \"sniper\", \"dev\", \"fresh\", \"bundle\", \"bluechip\", \"insider\")",
"type": "array",
"items": {
"type": "string"
}
},
"transactionSignature": {
"description": "Transaction signature",
"examples": [
"37XpPt9Ak6JiE1V3sftJDtdUsvR9FVFRqkZmoT3dp4BTD9pgyTWn1XgHH6R7NjuJ4pBMAgj8JvZtxQrf4s6NTC5F"
],
"type": "string"
},
"type": {
"description": "Trade type (BUY/SELL)",
"examples": [
"BUY"
],
"type": "string"
},
"unrealizedProfitInUsd": {
"description": "Unrealized profit in USD at the moment of this trade:\npost_balance × token_price_in_usd − position_cost_in_usd.\nOnly populated when PnL pipeline has processed the row and cost basis > 0.\nMatches GMGN `unrealized_profit`.",
"type": "string"
}
}
}Fields§
§account_address: Option<String>Solana token account address (ATA), distinct from accountOwnerAddress (wallet owner).
account_owner_address: StringAccount owner address (trader wallet)
addr_type: Option<i64>Address type from dexes_dwd.address_labels.
1=CEX, 2=Market Maker, 3=VC, 4=KOL, 5=DeFi, 6=Treasury, 7=Bridge, 8=Hacker.
Matches GMGN addr_type.
block_height: i64Block height
block_timestamp: i64Block timestamp (milliseconds)
chain: StringChain identifier
dex_fee_in_native: Option<String>DEX protocol fee in native currency. Aggregated from fees_processed[PROTOCOL] entries (trade-processing-pipeline Bug A fix required). Null when no PROTOCOL fee data is available (e.g. SOL — ETL not yet populated).
dex_fee_in_usd: Option<String>DEX protocol fee in USD. Uses the same native-price snapshot as dex_fee_in_native; satisfies same-snapshot constraint. Null when no PROTOCOL fee data is available.
dex_image: Option<String>DEX image
dex_program_address: Option<String>DEX program address
dex_protocol_family: Option<String>DEX protocol family
gas_fee: Option<i64>Gas fee (raw: lamports for SOL, Gwei for BSC)
gas_fee_in_native: Option<String>Gas fee in native currency (SOL / BNB / ETH)
gas_fee_in_usd: Option<String>Gas fee in USD
history_bought_amount: Option<String>Cumulative token quantity bought by this wallet (up to and including this trade).
Matches GMGN history_bought_amount.
history_sold_amount: Option<String>Cumulative token quantity sold by this wallet (up to and including this trade).
Matches GMGN history_sold_amount.
history_sold_income: Option<String>Cumulative sell income (USD) for this wallet on this token (up to and including this trade).
Matches GMGN history_sold_income.
is_open_or_close: Option<i32>Position lifecycle: 0=normal, 1=open_position, 2=close_position
Matches GMGN is_open_or_close field.
Trade behaviour tags for this event (e.g. “open_position”, “dip_buy”,
“take_profit”, “stop_loss”, “close_position”, “accumulate”,
“transfer_in”, “transfer_out”).
Matches GMGN maker_token_tags on the activity level.
maker_exchange: Option<String>Entity / exchange name (e.g. “Binance”). Matches GMGN exchange.
maker_name: Option<String>Specific address label (e.g. “Binance Hot Wallet 1”). Matches GMGN maker_name.
market_cap_in_usd: Option<String>Market cap in USD at trade time
pool_address: StringPool address
post_balance: Option<String>Token balance after this trade (token quantity).
Matches GMGN balance in activity feed.
priority_fee_in_native: Option<String>EVM priority fee (fee_miner_reward ÷ 1e18) in native currency (ETH/BNB). Null on SOL (ETL does not yet provide compute-budget priority fee). Equals (effectiveGasPrice − baseFeePerGas) × gasUsed converted to native units.
realized_profit_in_usd: Option<String>Realized PnL for this specific trade in USD (non-zero only on Sell events).
Matches GMGN realized_profit.
side_token_address: StringSide token address
side_token_amount: StringSide token amount
side_token_amount_in_native: StringSide token amount in native currency
side_token_amount_in_usd: StringSide token amount in USD
side_token_image_url: Option<String>Side token image URL
side_token_name: StringSide token name
side_token_price_in_native: StringSide token price in native currency
side_token_price_in_usd: StringSide token price in USD
side_token_symbol: StringSide token symbol
status: StringTransaction status
token_address: StringToken address
token_amount: StringToken amount
token_amount_in_native: StringToken amount in native currency
token_amount_in_usd: StringToken amount in USD
token_image_url: Option<String>Token image URL
token_name: StringToken name
token_price_in_native: StringToken price in native currency
token_price_in_usd: StringToken price in USD
token_symbol: StringToken symbol
total_trade: Option<i64>Total historical trade count for this wallet on this token (buy + sell, up to and including this trade).
Matches GMGN total_trade.
Trader classification tags (e.g. “kol”, “smart”, “sniper”, “dev”, “fresh”, “bundle”, “bluechip”, “insider”)
transaction_signature: StringTransaction signature
type_: StringTrade type (BUY/SELL)
unrealized_profit_in_usd: Option<String>Unrealized profit in USD at the moment of this trade:
post_balance × token_price_in_usd − position_cost_in_usd.
Only populated when PnL pipeline has processed the row and cost basis > 0.
Matches GMGN unrealized_profit.
Implementations§
Source§impl TradeDetail
impl TradeDetail
pub fn builder() -> TradeDetail
Trait Implementations§
Source§impl Clone for TradeDetail
impl Clone for TradeDetail
Source§fn clone(&self) -> TradeDetail
fn clone(&self) -> TradeDetail
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more