Skip to content
Dune Analytics

@hagaetc / DEX Trading Volume

DEX Trading Volume


About queries and results

Dune Analytics lets you explore, create, and share Ethereum analytics. You can find an endless amount of great queries and dashboards on Dune.

We have decoded Ethereum smart contract data so you can do powerful analysis with simple SQL queries and visualise the query results into beautiful graphs.

Dune Analytics is free for everyone forever. If you want extra features like private queries, export your results and more check out our Pro plan.

SQL query results


SQL query

1WITH prices AS (                                                                                       
2    SELECT date_trunc('day', minute) as day,                                                         
3        contract_address,                                                                              
4        AVG(price) as price                                                                                
5    FROM prices.usd                                                                                    
6    WHERE minute >= date_trunc('month', now()) - interval '9 months'
7    GROUP BY 1, 2                                                                                      
10    date_trunc('month', block_time),
11    SUM(
12        CASE WHEN token_a_address = a.contract_address THEN token_a_amount * a.price -- Use token A when there's USD price for it                    
13        ELSE token_b_amount * b.price -- Else use token b                             
14        END   
15        ) AS usd_volume                                                                                
16FROM dex.trades t                                                                             
17LEFT JOIN prices a ON date_trunc('day', block_time) = AND token_a_address = a.contract_address 
18LEFT JOIN prices b ON date_trunc('day', block_time) = AND token_b_address = b.contract_address 
19WHERE block_time  >= date_trunc('month', now()) - interval '9 months'
20--AND block_time < date_trunc('month', Now())