| project | VARCHAR | The project (decentralized exchange) of the liquidity pool that the swap occurred from. |
| protocol | VARCHAR | DEX protocol (& version, if applicable) of the contract address facilitating the swap. |
| liquidity_pool_address | VARCHAR | Contract address of the liquidity pool holding the asset. For protocol without the concept of LP such as airswap, this will be null. |
| sender_address | VARCHAR | The address of the sender emitted on the swap event logs. This can be a router or pool address. |
| to_address | VARCHAR | Address of the recipient emitted on the swap event logs. For example, recipient_address from the uniswap v3 swap event log. |
| token_sold_address | VARCHAR | Token address of the token sold. |
| token_sold_name | VARCHAR | Name of the token sold. |
| token_sold_symbol | VARCHAR | Symbol of the token sold. |
| token_sold_decimals | BIGINT | Token decimals of the token sold. |
| token_sold_amount_raw_str | VARCHAR | Raw amount of tokens sold (unnormalized) in string. |
| token_sold_amount_raw | FLOAT | Raw amount of tokens sold (unnormalized). |
| token_sold_amount_str | VARCHAR | Amount of tokens sold in string. |
| token_sold_amount | FLOAT | Amount of tokens sold. |
| usd_sold_amount | FLOAT | Amount of token sold in USD value. |
| token_bought_address | VARCHAR | Token address of the token bought, i.e. the asset acquired from the trade. |
| token_bought_name | VARCHAR | Name of the token bought. |
| token_bought_symbol | VARCHAR | Symbol of the token bought. |
| token_bought_decimals | BIGINT | Token decimals of the token bought. |
| token_bought_amount_raw_str | VARCHAR | Raw amount of tokens bought (unnormalized) in string. |
| token_bought_amount_raw | FLOAT | Raw amount of tokens bought (unnormalized). |
| token_bought_amount_str | VARCHAR | Amount of tokens bought in string. |
| token_bought_amount | FLOAT | Amount of tokens bought. |
| usd_bought_amount | FLOAT | Amount of token bought in USD value. |
| usd_amount | FLOAT | USD value of the swap. This field preferentially selects the USD value of ETH and Stablecoin (USDT/USDC) tokens, as spam token prices may conflate the true swap value. |
| usd_amount_adjusted | FLOAT | usd_amount, or null when is_flagged is true, so sum(usd_amount_adjusted) gives adjusted volume. usd_amount is left as is; sum(usd_amount) - sum(usd_amount_adjusted) is the flagged amount. |
| is_flagged | BOOLEAN | True if the trade is in dex.trades_flagged (see flagged_details). Filter where not is_flagged to exclude flagged trades such as round-trip wash. |
| flagged_details | VARIANT | Why the trade is flagged, as one object. reason: the highest-priority match. source: what matched it, a registry key (transaction_hash, transaction_from_address, transaction_to_address) or heuristic. flagged_at: the registry entry’s date, or the date a heuristic first flagged the trade; it is not the date the change reached production. reasons: every match, in priority order. Each reason key holds a list of its matches, each with its own flagged_at. supply_shock_v1 / self_issued_v1 = the trade touches a flagged token: token_address, token_flagged_at, flagged_value (units over pre-shock supply, or the creator’s share of legs). same_pool_roundtrip_v1 = the transaction trades one pool both ways and its flow cancels out: pool_key, score (1 = perfect round trip), has_liquidity_event. roundtrip_wash (registry): source, value. Examples: flagged_details:reason::varchar; one rule: array_contains('same_pool_roundtrip_v1'::variant, flagged_details:reasons). |
| extra_fields | VARIANT | This field contains all the extra columns emitted from the event/function call that were not part of the convetional DEX trades columns. |
| swap_count | BIGINT | Swap count within the transaction. |
| transaction_fees | VARCHAR | Fees paid at the transaction level. Varchar to retain precision. |
| transaction_fees_usd | FLOAT | Fees paid in USD. |
| fee_details | VARIANT | Additional fee details of the transaction, including max priority fee, gas price and gas used for the transaction. |
| transaction_from_address | VARCHAR | Transaction sender address. I.e. the address of the transaction initiator. (from_address in the raw.transactions field for the transaction_hash of this swap). |
| transaction_to_address | VARCHAR | Transaction receiver. (to_address in the raw.transactions field for the transaction_hash of this swap). |
| transaction_hash | VARCHAR | Transaction hash that this swap belongs to. |
| transaction_index | BIGINT | The position of this transaction in the block that it belongs to. The first transaction has index 0. |
| selector | VARCHAR | 4byte selector of the transaction. |
| log_index | BIGINT | The position of the swap event log in the transaction. |
| block_timestamp | TIMESTAMP_NTZ(9) | Block timestamp of the swap event. |
| block_number | BIGINT | Block number of the swap event. |
| block_hash | VARCHAR | Block hash of the swap event. |
| unique_id | VARCHAR | Unique ID of each trade. |