get_pool_ohlcv
Retrieve OHLCV (Open, High, Low, Close, Volume) data for DeFi liquidity pools across multiple blockchains to analyze price movements and trading activity.
Instructions
Get OHLCV (Open, High, Low, Close, Volume) data for a pool
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Network ID (e.g., 'eth', 'bsc', 'polygon_pos') | |
| poolAddress | Yes | Pool contract address | |
| timeframe | Yes | Timeframe for OHLCV data: 'day', 'hour', 'minute' | |
| aggregate | No | Aggregate interval (optional, default: '1') | |
| before_timestamp | No | Get data before this timestamp (optional) | |
| limit | No | Limit number of results (optional, max: 1000) | |
| currency | No | Currency for price data: 'usd', 'token' (optional, default: 'usd') | |
| token | No | Token for price data: 'base', 'quote' (optional, default: 'base') | |
| include_empty_intervals | No | Include empty intervals (optional, default: false) |
Implementation Reference
- Supporting helper that constructs the CoinGecko API URL and performs the HTTP fetch request for pool OHLCV data.
async getPoolOHLCV(network, poolAddress, timeframe, options = {}) { try { const queryParams = new URLSearchParams(); if (options.aggregate) queryParams.append('aggregate', options.aggregate); if (options.before_timestamp) queryParams.append('before_timestamp', options.before_timestamp); if (options.limit) queryParams.append('limit', options.limit); if (options.currency) queryParams.append('currency', options.currency); if (options.token) queryParams.append('token', options.token); if (options.include_empty_intervals) queryParams.append('include_empty_intervals', options.include_empty_intervals); const url = `${this.baseUrl}/networks/${network}/pools/${poolAddress}/ohlcv/${timeframe}${queryParams.toString() ? '?' + queryParams.toString() : ''}`; const response = await fetch(url, { headers: { 'x-cg-demo-api-key': this.apiKey } }); if (!response.ok) { throw new Error(`HTTP ${response.status}: ${response.statusText}`); } return await response.json(); } catch (error) { throw new Error(`Failed to get pool OHLCV: ${error.message}`); } }