Price Data Node
The Price Data node fetches real-time and historical crypto price data. Choose your data provider to get aggregated pricing or venue-specific prices that match where you trade.
Configuration
Data Source
Settings
Configuration
| Field | Description |
|---|---|
| Provider | Select the data source. See Provider Guide below. Default: CoinGecko. |
| Symbols | Search and select trading pairs in BASE/QUOTE format (e.g., BTC/USD, ETH/USDT, SOL/USD). Up to 10 symbols per node. |
| Interval | Candle timeframe: 1m, 5m, 1h, 4h, 1d, 1w. |
| Lookback | Number of historical candles to fetch. Default: 100. Max: 2160. |
| Base Currency | Quote currency for prices. Default: USD. Supports f(x) for dynamic values. |
| Technical Indicators | Toggle to include SMA, EMA, and RSI calculated on the candle data. |
Provider Guide
| Provider | What it does | Cost | Best for |
|---|---|---|---|
| PYTH Network | Free onchain oracle. Real-time prices from Pyth's decentralized price feeds. | 0 credits | DeFi-focused workflows, free tier users, onchain price references |
| CoinGecko | Aggregated market data across exchanges. | 5 credits | General analysis, multi-exchange average, low-cost monitoring |
| Binance | Binance-specific prices via CoinAPI. | Dynamic | Trading on Binance — prices match your execution venue |
| Coinbase | Coinbase-specific prices via CoinAPI. | Dynamic | Trading on Coinbase — venue-matched pricing |
| Bybit | Bybit-specific prices via CoinAPI. | Dynamic | Trading on Bybit |
| OKX | OKX-specific prices via CoinAPI. | Dynamic | Trading on OKX |
| Kraken | Kraken-specific prices via CoinAPI. | Dynamic | Trading on Kraken |
Why venue-matched pricing matters
If your Exchange Order node trades on Coinbase, select Coinbase as your Price Data provider. This way the prices your agent analyzes are the exact same prices your orders execute against. CoinGecko gives you a market-wide average, which can differ slightly from any specific exchange — and in fast-moving markets, that difference matters.
Technical Indicators
When you enable Technical Indicators, the node computes three values on the fetched candle data before passing it downstream:
| Indicator | Description |
|---|---|
| SMA 20 | 20-period Simple Moving Average — the mean closing price over the last 20 candles. |
| EMA 20 | 20-period Exponential Moving Average — weights recent prices more heavily than SMA. |
| RSI | Relative Strength Index — momentum oscillator ranging 0–100. Below 30 is typically oversold, above 70 is overbought. |
These are numeric values you can reference in downstream LLM prompts, Function code, or Conditional rules. They are different from the visual overlays on a Chart Image node — Price Data gives you the numbers, Chart Image gives you the picture.
Using Price Data in a Workflow
Connect the Price Data node to an LLM for AI-driven analysis, or pipe it into a Function node for custom calculations.
You can also skip the LLM entirely and use a Function node for rule-based strategies:
Output
| Path | Description |
|---|---|
| {price_data.data.prices} | Array of price data for all requested symbols |
| {price_data.data.prices[0].symbol} | Symbol name (e.g., BTC/USD) |
| {price_data.data.prices[0].current} | Current / latest price |
| {price_data.data.prices[0].change24h} | 24h price change (absolute) |
| {price_data.data.prices[0].changePercent24h} | 24h price change (percentage) |
| {price_data.data.prices[0].volume24h} | 24h trading volume |
| {price_data.data.prices[0].high24h} | 24h high price |
| {price_data.data.prices[0].low24h} | 24h low price |
| {price_data.data.prices[0].candles} | Array of historical OHLCV candle data |
| {price_data.data.prices[0].candles[0].timestamp} | Candle timestamp |
| {price_data.data.prices[0].candles[0].open} | Open price |
| {price_data.data.prices[0].candles[0].high} | High price |
| {price_data.data.prices[0].candles[0].low} | Low price |
| {price_data.data.prices[0].candles[0].close} | Close price |
| {price_data.data.prices[0].candles[0].volume} | Volume |
| {price_data.data.prices[0].indicators.sma20} | 20-period Simple Moving Average (if indicators enabled) |
| {price_data.data.prices[0].indicators.ema20} | 20-period Exponential Moving Average (if indicators enabled) |
| {price_data.data.prices[0].indicators.rsi} | Relative Strength Index (if indicators enabled) |
| {price_data.data.metadata.source} | Provider used |
| {price_data.data.metadata.interval} | Interval used |
| {price_data.data.metadata.count} | Number of symbols returned |
| {price_data.data.metadata.creditsUsed} | Credits consumed for this request |
[0] for the first symbol, [1] for the second, and so on. For example, {price_data.data.prices[1].current} returns the second symbol's current price. Replace price_data with whatever your edge label is.Next Steps
- LLM Node — Feed price data into an AI model for analysis and trading signals.
- Function Node — Write custom logic to compute indicators or generate signals from price data.
- Conditional Node — Route your workflow based on price thresholds or indicator values.
- Exchange Order Node — Execute trades based on your price analysis.
- Stocks Data Node — Fetch historical OHLCV data for US stocks instead.
- Chart Image Node — Generate visual charts alongside your numeric price data.