Expand description
§DEX Aggregator Client
This module provides a client for fetching token price and volume data from DEX aggregator APIs like DexScreener.
§Supported APIs
- DexScreener (primary): Free API, no key required
- Token data:
GET https://api.dexscreener.com/latest/dex/tokens/{address} - Pair data:
GET https://api.dexscreener.com/latest/dex/pairs/{chain}/{pair} - Token search:
GET https://api.dexscreener.com/latest/dex/search?q={query}
- Token data:
§Features
- Comprehensive token data aggregation across all DEX pairs
- Native token price lookups for USD valuation (ETH, SOL, BNB, MATIC, etc.)
- Individual token price lookups by contract address
- Token search with chain filtering
- Historical price and volume data interpolation
§Usage
use scope::chains::DexClient;
#[tokio::main]
async fn main() -> scope::Result<()> {
let client = DexClient::new();
// Fetch token data by address
let data = client.get_token_data("ethereum", "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48").await?;
println!("Price: ${}", data.price_usd);
// Get native token price for USD valuation
if let Some(eth_price) = client.get_native_token_price("ethereum").await {
println!("ETH: ${:.2}", eth_price);
}
Ok(())
}Structs§
- DexClient
- Client for fetching DEX aggregator data.
- DexToken
Data - Aggregated token data from DEX sources.
- Token
Search Result - A token search result from DEX aggregator.
- Token
Social - Social media link for a token.
Traits§
- DexData
Source - Trait for DEX data providers (prices, token data, search).