Trades

The DEX trades table contains successful swaps made on decentralized exchanges (DEX), consolidated into a single table.

Coverage:

Currently, we support over 40+ DEX projects across 20+ protocol versions on Ethereum. This table does not include aggregator DEX trades.

ProjectsProtocols

whiteswap, wallstreetbetsdex, vulcandex, verse, uniswap, unicly, swipeswap, swapr, sushiswap, sumswap, shibaswap, sashimiswap, sakeswap, saitaswap, safeswap, radioshackswap, plasmafinance, pancakeswap, orionprotocol, nomiswap, mintyswap, luaswap, linkswap, integralsize, gemswap, fraxswap, equalizerfinance, dooar, defiswap, convergence, cityswap, bitberryswap

uniswap_v2

uniswap, sushiswap, solidly

uniswap_v3

trader_joe

trader_joe_v2_1

pancakeswap

pancakeswap_v3

native

native_v1

maverick

maverick

kyberswap

kyberswap_elastic

hashflow

hashflow_v3

dodo

dodo_v2, dodo_v1

curve

curve_v2, curve_v1

clipper

clipper_fmm_v3, clipper_fmm_v2, clipper_fmm_v1

bancor

bancor_v3, bancor_v1

balancer

balancer_v2, balancer_v1

airswap

airswap_v4, airswap_v3, airswap_v2, airswap_light_v0, airswap_light

Methodology

We adopted a protocol-based and event log-based approach to index swap events.

In brief, the swap events for each protocol are identified by the event signature (topic0), which contains the number of tokens swapped and the address of the sender and receiver.

For protocols such as Uniswap v2 and v3 the token address swapped is identified by the liquidity pool creation event using the pool address. The amount of tokens traded is adjusted by the token's decimal value and then multiplied by hourly price oracle data to give the USD value of the transaction.

DEX Trades

What is the difference between the DEX project and the DEX protocol?

  • DEX Project: Project refers to the DEX's platform, such as Uniswap, Balancer, Sushiswap, etc.

  • DEX Protocol: The DEX protocol refers to the underlying smart contract implemented for facilitating the swaps.

    • A project can undergo protocol upgrades. E.g. When Uniswap upgraded their v2 protocol to v3 to introduce concentrated liquidity pools.

    • New DEX projects can also choose to fork existing protocols, such as the Uniswap v2 protocol. One example of this was Sushiswap as a Uniswap v2 fork.

Hence, a single project can have multiple protocols. Likewise, a single protocol can be utilized across multiple projects.

Table Columns

_str columns are numeric fields cast varchar to retain precision when summing.

Unique Key: unique_id

ColumnDescription

project

The project (decentralized exchange) of the liquidity pool that the swap occurred from.

protocol

DEX protocol (& version, if applicable) of the contract address facilitating the swap.

liquidity_pool_address

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

The address of the sender emitted on the swap event logs. This can be a router or pool address, which is different from the transaction initiator transaction_from_address that initiated the swap.

to_address

Address of the recipient emitted on the swap event logs. For example, we use the to_address from the uniswap v2 swap event log and the recipient_address from the uniswap v3 swap event log.

token_sold_address

Token address of the token sold.

token_sold_name

Name of the token sold.

token_sold_symbol

Symbol of the token sold.

token_sold_decimals

Token decimals of the token sold.

token_sold_amount_raw_str

Raw amount of tokens sold (unnormalized) in string.

token_sold_amount_raw

Raw amount of tokens sold (unnormalized).

token_sold_amount_str

Amount of tokens sold in string.

token_sold_amount

Amount of tokens sold.

usd_sold_amount

Amount of token sold in USD value.

token_bought_address

Token address of the token bought, i.e. the asset acquired from the trade.

token_bought_name

Name of the token bought.

token_bought_symbol

Symbol of the token bought.

token_bought_decimals

Token decimals of the token bought.

token_bought_amount_raw_str

Raw amount of tokens bought (unnormalized) in string.

token_bought_amount_raw

Raw amount of tokens bought (unnormalized).

token_bought_amount_str

Amount of tokens bought in string.

token_bought_amount

Amount of tokens bought.

usd_bought_amount

Amount of token bought in USD value.

usd_amount

USD value of the swap. This field preferentially selects the USD value of Native Assets and Stablecoin (USDT/USDC) tokens, as spam/meme token prices may conflate the true swap value.

extra_fields

This field contains all the extra columns emitted from the event/function call that were not part of the conventional DEX trades columns.

swap_count

Swap count within the transaction.

transaction_fees

Fees paid at the transaction level.

transaction_fees_usd

Fees paid in USD at the time of the transaction.

fee_details

Additional fee details of the transaction, including max priority fee, gas price and gas used for the transaction.

transaction_from_address

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

Transaction receiver. (to_address in the raw.transactions field for the transaction_hash of this swap).

transaction_hash

Transaction hash that this swap belongs to.

transaction_index

The position of this transaction in the block that it belongs to. The first transaction has index 0.

selector

4-byte selector of the transaction.

log_index

The position of the swap event log in the transaction.

block_timestamp

Block timestamp of the swap event.

block_number

Block number of the swap event.

block_hash

Block hash of the swap event.

unique_id

Unique ID of each trade.

Last updated