The amount of token0 removed from the pair, adjusted by the number of decimals in the token. For example, if amount0 is in WEI, amount0Shifted will be in ETH.
The amount of token0 added to the pair, adjusted by the number of decimals in the token. For example, if amount0 is in WEI, amount0Shifted will be in ETH.
The amount of quoteToken involved in the swap. For example, if quoteToken is USDC for a USDC/WETH pair, amountNonLiquidityToken would be the amount of USDC involved in the swap.
The price per quoteToken at the time of the swap in the network’s base token. For example, if quoteToken is USDC for a USDC/WETH pair on ETH network, priceBaseToken would the price of USDC in ETH.
The price per quoteToken at the time of the swap in USD. For example, if quoteToken is USDC for a USDC/WETH pair on ETH network, priceBaseToken would the price of USDC in USD ($1.00).
The amount of token0 added or removed from the pair, adjusted by the number of decimals in the token. For example, if amount0 is in WEI, amount0Shifted will be in ETH.
The amount of token1 added or removed from the pair, adjusted by the number of decimals in the token. For example, USDC amount1Shifted will be by 6 decimals.
Base fee portion of gas cost in native token smallest unit (wei for EVM, lamports for Solana). baseFeePerGas * gasUsed on EVM, 5000 lamports * signatures on Solana.
A single transaction is returning multiple buy & sell events for the same transaction (multi-hop). Is this expected and how can we simplify?
Yes this is expected behavior for a multi-hop transaction, where a maker will initiate a transaction from Token A -> Token B -> Token C, for example. We understand that Token B is likely of zero interest, however, it is still a legitimate transaction that we must index. Using the transaction hash to disambiguate on the client side is really the only way to attempt to simplify the swap down to just Token A -> Token C.
A token swap event was not returned with our query results, why?
The transaction most likely occured on a protocol that we do not support. While we endeavor to support as many dexes as possible, including thousands of Uniswap forks, there are some we may not have yet. You can reach out to our team to inquire about specific exchanges you would like to see supported in a future update.
How do I determine which tokens were received vs sent for a given transaction?
Look at the signs of amount0 and amount1 in the data field:
Negative amount = Token received (bought)
Positive amount = Token spent (sold)This rule is consistent for ALL transactions:
Positive = what they gave up (OUT of wallet)
Negative = what they received (INTO wallet)The eventDisplayType “Buy”/“Sell” indicates the primary action from the user’s perspective (buying or selling the non-native token), while the amount signs show the actual token flows.