DEX API
Read DEXTrades vs DEXTradeByTokens vs Trades cube to get a better understanding on when to use which cube.
For live swaps with trader, USD prices and mcap on each row, start with the Crypto Trades API. For historical work—long lookbacks, archive datasets, pool-level detail, OHLC built from raw trades, and DEX-wide stats—DEXTrades and DEXTradeByTokens are usually the better fit; the queries on this page follow that path.
DEX APIs across chains: Solana DEX (Pump.fun, Raydium, Orca, Jupiter) · Base DEX · BSC DEX · Uniswap API · PancakeSwap API · DEXScreener API
We have two main APIs to get DEX trading data.
- DEXTrades
- DEXTradeByTokens
To learn the difference between two APIs, please check this doc.
Get all the DEXs info on a Ethereum network
This query will fetch you all the DEXs info for the selected network. You can test the query here.
query DexMarkets($network: evm_network) {
EVM(network: $network) {
DEXTradeByTokens {
Trade {
Dex {
ProtocolFamily
}
}
buyers: uniq(of: Trade_Buyer)
sellers: uniq(of: Trade_Sender)
count(if: {Trade: {Side: {Type: {is: buy}}}})
}
}
}
{
"network": "eth"
}
You can check the data here on DEXrabbit.
Get a specific DEX statistics
This query will fetch you a specific DEX stats for the selected network. You can test the query here.
query DexMarkets($network: evm_network, $market: String) {
EVM(network: $network) {
DEXTradeByTokens(
orderBy: {ascendingByField: "Block_Time"}
where: {Trade: {Dex: {ProtocolFamily: {is: $market}}}}
) {
Block {
Time(interval: {count: 1, in: hours})
}
trades: count
buyers: uniq(of: Trade_Buyer)
sellers: uniq(of: Trade_Sender)
tokens: uniq(of: Trade_Currency_SmartContract)
}
}
}
{
"market": "Uniswap",
"network": "eth"
}
You can check the data here on DEXrabbit.
Get All Trading Pairs on a particular DEX
This query will fetch you all trading pairs on a particular DEX for the selected network. You can test the query here.
query DexMarkets($network: evm_network, $market: String, $time_10min_ago: DateTime, $time_1h_ago: DateTime, $time_3h_ago: DateTime) {
EVM(network: $network) {
DEXTradeByTokens(
orderBy: {descendingByField: "usd"}
where: {Trade: {Dex: {ProtocolFamily: {is: $market}}}, Block: {Time: {after: $time_3h_ago}}}
limit: {count: 200}
) {
Trade {
Currency {
Symbol
Name
SmartContract
Fungible
}
Side {
Currency {
Symbol
Name
SmartContract
}
}
price_usd: PriceInUSD(maximum: Block_Number)
price_last: Price(maximum: Block_Number)
price_10min_ago: Price(
maximum: Block_Number
if: {Block: {Time: {before: $time_10min_ago}}}
)
price_1h_ago: Price(
maximum: Block_Number
if: {Block: {Time: {before: $time_1h_ago}}}
)
price_3h_ago: PriceInUSD(minimum: Block_Number)
}
usd: sum(of: Trade_AmountInUSD)
count
}
}
}
{
"market": "Uniswap",
"network": "eth",
"time_10min_ago": "2024-09-22T13:21:39Z",
"time_1h_ago": "2024-09-22T12:31:39Z",
"time_3h_ago": "2024-09-22T10:31:39Z"
}
You can check the data here on DEXrabbit.
Top Traders on a DEX
This query will fetch you Top Traders on a particular DEX for the selected network. You can test the query here.
query DexMarkets($network: evm_network, $market: String) {
EVM(network: $network) {
DEXTradeByTokens(
orderBy: {descendingByField: "volumeUsd"}
limit: {count: 100}
where: {Trade: {Dex: {ProtocolFamily: {is: $market}}}}
) {
Trade {
Buyer
Dex {
OwnerAddress
ProtocolFamily
ProtocolName
}
Currency {
SmartContract
Symbol
Name
}
Side {
Currency {
SmartContract
Symbol
Name
}
}
}
volumeUsd: sum(of: Trade_Side_AmountInUSD)
}
}
}
{
"market": "Uniswap",
"network": "eth"
}
You can check the data here on DEXrabbit.
Latest Trades on a DEX
This query will fetch you latest trades on a particular DEX for the selected network. You can test the query here.
query LatestTrades($network: evm_network, $market: String) {
EVM(network: $network) {
DEXTradeByTokens(
orderBy: {descending: Block_Time}
limit: {count: 50}
where: {Trade: {Dex: {ProtocolFamily: {is: $market}}}}
) {
Block {
Time
}
Transaction {
Hash
}
Trade {
Dex {
OwnerAddress
ProtocolFamily
ProtocolName
}
AmountInUSD
Price
Amount
Side {
Type
Currency {
Symbol
SmartContract
Name
}
AmountInUSD
Amount
}
Currency {
Symbol
SmartContract
Name
}
}
}
}
}
{
"market": "Uniswap",
"network": "eth"
}
You can check the data here on DEXrabbit.