Skip to content
Back to skills

Crypto Price Data Guide

ASecurity

How cryptocurrency prices work — the complete data pipeline from CEX order books and DEX pools through oracle networks to aggregators. Covers free API alternatives to CoinGecko, VWAP/TWAP calculations, and building price feeds without paid APIs. Use when explaining price sources, building market data features, or comparing data providers.

  • 7 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added June 7, 2026
blockchaingonodegitapisecurity

Works with

  • api

Security analysis

A100/100

Scanned June 7, 2026

npx -y skills add nirholas/three-ui --skill crypto-price-data-guide --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Crypto Price Data Guide?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Crypto Price Data Guide
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/nirholas-crypto-price-data-guide/badge)](https://www.skillsdirectory.com/skills/nirholas-crypto-price-data-guide)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: crypto-price-data-guide
description: How cryptocurrency prices work — the complete data pipeline from CEX order books and DEX pools through oracle networks to aggregators. Covers free API alternatives to CoinGecko, VWAP/TWAP calculations, and building price feeds without paid APIs. Use when explaining price sources, building market data features, or comparing data providers.
license: MIT
metadata:
  category: analysis
  difficulty: intermediate
  author: clawhub
  tags: [analysis, crypto-price-data-guide]
---

# Crypto Price Data Guide

Where do crypto prices actually come from? This guide breaks down the entire data pipeline — from raw exchange data to the numbers you see in apps.

## The Price Data Pipeline

```
┌──────────────────────────────────────────────────────────┐
│  LAYER 1: Primary Sources (where prices originate)       │
│                                                          │
│  CEX Order Books          DEX AMM Pools                  │
│  ┌──────────────┐        ┌──────────────┐                │
│  │ Binance      │        │ Uniswap V3   │                │
│  │ Coinbase     │        │ Curve        │                │
│  │ Kraken       │        │ Camelot      │                │
│  │ OKX, Bybit   │        │ Balancer     │                │
│  └──────┬───────┘        └──────┬───────┘                │
│         │                       │                        │
├─────────┼───────────────────────┼────────────────────────┤
│  LAYER 2: Oracle Networks (aggregate + post on-chain)    │
│         │                       │                        │
│         ▼                       ▼                        │
│  ┌──────────────────────────────────────┐                │
│  │ Chainlink     Pyth     Redstone      │                │
│  │ (median of multiple data sources)    │                │
│  └──────────────────┬───────────────────┘                │
│                     │                                    │
├─────────────────────┼────────────────────────────────────┤
│  LAYER 3: Aggregators (combine everything)               │
│                     ▼                                    │
│  ┌──────────────────────────────────────┐                │
│  │ CoinGecko  DeFi Llama  CoinMarketCap │                │
│  │ DexScreener  CoinCap   CoinPaprika   │                │
│  └──────────────────┬───────────────────┘                │
│                     │                                    │
├─────────────────────┼────────────────────────────────────┤
│  LAYER 4: Consumer Apps                                  │
│                     ▼                                    │
│  Portfolio trackers, trading bots, DeFi protocols,       │
│  AI agents (like SperaxOS), wallets                      │
└──────────────────────────────────────────────────────────┘
```

## Layer 1: Primary Price Sources

### Centralized Exchange (CEX) APIs

CEXes are the **dominant** price source for high-cap tokens. Their order books determine the "true" price through supply/demand matching.

| Exchange | Public API | Rate Limit | WebSocket |
|----------|-----------|-----------|-----------|
| **Binance** | `api.binance.com/api/v3/` | 1200 req/min | ✅ Real-time |
| **Coinbase** | `api.exchange.coinbase.com/` | 10 req/sec | ✅ Real-time |
| **Kraken** | `api.kraken.com/0/public/` | 1 req/sec | ✅ Real-time |
| **OKX** | `okx.com/api/v5/market/` | 20 req/2sec | ✅ Real-time |
| **Bybit** | `api.bybit.com/v5/market/` | 120 req/sec | ✅ Real-time |

**All of these are free, no API key required for public market data.**

#### Example: Binance Spot Price

```
GET https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT

Response: { "symbol": "BTCUSDT", "price": "64523.45000000" }
```

#### Example: Binance 24h Ticker

```
GET https://api.binance.com/api/v3/ticker/24hr?symbol=ETHUSDT

Response: {
  "symbol": "ETHUSDT",
  "priceChange": "45.20",
  "priceChangePercent": "1.42",
  "lastPrice": "3245.67",
  "volume": "584231.45",
  "highPrice": "3289.00",
  "lowPrice": "3178.23"
}
```

### DEX On-Chain Data

For tokens that aren't listed on CEXes (the **long tail**), DEX pools are the only price source.

| Source | Chains | How Price Is Determined |
|--------|--------|----------------------|
| **Uniswap V2** | ETH, Arbitrum, etc. | Constant product: price = reserveB / reserveA |
| **Uniswap V3** | ETH, Arbitrum, etc. | Square root price from pool slot0: sqrtPriceX96 |
| **Curve** | ETH, Arbitrum, etc. | StableSwap invariant (optimized for pegged assets) |
| **Camelot** | Arbitrum | V2 + V3 pools (Arbitrum-native) |

**Reading DEX prices**:
1. **Direct RPC** — Call pool contracts to read reserves/sqrtPrice
2. **The Graph** — Query indexed swap events via GraphQL
3. **DexScreener API** — Aggregated DEX data across 80+ chains

#### DexScreener Example

```
GET https://api.dexscreener.com/latest/dex/tokens/0xD74f5255D557944cf7Dd0E45FF521520002D5748

Returns: SPA pair data across all DEXes
```

### How CEX and DEX Prices Stay in Sync

**Arbitrage bots**. If ETH is $3,200 on Binance but $3,210 on Uniswap:
1. Bot buys on Binance (cheaper)
2. Bot sells on Uniswap (expensive)
3. Price difference narrows until it's less than gas + bridge costs

This is why prices across venues are usually within 0.1–0.5% of each other.

## Layer 2: Oracle Networks

Oracles aggregate CEX + DEX data and make it available **on-chain** for smart contracts.

### Chainlink

The dominant oracle network. ~1000+ price feeds across EVM chains.

**How it works**:
1. Multiple independent oracle nodes fetch prices from CEXes and DEXes
2. Each node submits its observation to the aggregator contract
3. The contract takes the **median** of all observations
4. Updates when: deviation > threshold (typically 0.5–1%) OR heartbeat time passes

**Reading a Chainlink feed on-chain**:

```
// ETH/USD on Ethereum: 0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419
// SPA/USD on Arbitrum: Available via Chainlink

function getPrice() {
    (, int256 price,,,) = priceFeed.latestRoundData();
    return uint256(price); // 8 decimals
}
```

**Key feeds**:

| Feed | Address (Ethereum) | Decimals |
|------|-------------------|----------|
| ETH/USD | `0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419` | 8 |
| BTC/USD | `0xF4030086522a5bEEa4988F8cA5B36dbC97BeE88c` | 8 |
| USDC/USD | `0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6` | 8 |

> **Sperax Context**: USDs uses Chainlink price feeds via its MasterPriceOracle to value collateral (USDC, USDT) and maintain its peg.

### Pyth Network

**Pull oracle** — prices update sub-second but consumers must "pull" the latest update on-chain.

```
GET https://hermes.pyth.network/api/latest_price_feeds?ids[]=0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace

Returns: { price: "6452345000000", expo: -8, conf: "2500000" }
```

### Chainlink vs Pyth

| Feature | Chainlink | Pyth |
|---------|-----------|------|
| Model | Push (auto-updates) | Pull (consumer requests) |
| Latency | 1–60 min heartbeat | ~400ms |
| Cost | Gas paid by oracle network | Gas paid by consumer |
| Coverage | 1000+ feeds | 500+ feeds |
| Security | Battle-tested (5+ years) | Newer but growing fast |

## Layer 3: Free Aggregator APIs

These combine CEX + DEX + oracle data into convenient APIs.

### DeFi Llama (Best Free Option)

**Zero rate limiting. Zero API key. Most generous free API in crypto.**

| Endpoint | What It Returns |
|----------|----------------|
| `coins.llama.fi/prices/current/{coins}` | Current prices for any token |
| `api.llama.fi/protocols` | All tracked protocols with TVL |
| `yields.llama.fi/pools` | All yield pools across DeFi |
| `stablecoins.llama.fi/stablecoins` | All stablecoin market data |

**Price query example**:
```
GET https://coins.llama.fi/prices/current/arbitrum:0xD74f5255D557944cf7Dd0E45FF521520002D5748

Returns: USDs price from on-chain sources
```

### CoinCap

Simple, clean API for top 2000 coins.

```
GET https://api.coincap.io/v2/assets?limit=10

Returns: Top 10 coins by market cap with price, volume, change
```

### CoinPaprika

Decent free tier with ATH data and social links.

```
GET https://api.coinpaprika.com/v1/tickers/btc-bitcoin

Returns: Price, ATH, ATH date, volume, market cap, beta, supply
```

### CryptoCompare

Good for OHLCV (candlestick) data.

```
GET https://min-api.cryptocompare.com/data/v2/histoday?fsym=BTC&tsym=USD&limit=30

Returns: 30 days of daily OHLCV data
```

## Building Without CoinGecko

A practical multi-source approach:

| Data Need | Primary Source | Fallback |
|-----------|---------------|----------|
| Top coin prices | Binance API | CoinCap |
| Long-tail tokens | DexScreener | DeFi Llama |
| Historical OHLCV | CryptoCompare | Binance klines |
| TVL / protocol data | DeFi Llama | — (only source) |
| Yield / APY data | DeFi Llama yields | — |
| On-chain accurate price | Chainlink feeds | Pyth |
| Token metadata | CoinPaprika | Token Lists |
| Market sentiment | Fear & Greed API | — |

**Waterfall strategy** (what production apps use):
```
1. Try Binance (fastest, most liquid)
2. Fall back to CoinCap (broader coverage)
3. Fall back to DexScreener (on-chain tokens)
4. Fall back to DeFi Llama (universal)
```

> **SperaxOS** uses a similar multi-provider waterfall: Binance → CoinCap → DexScreener → CoinGecko for maximum reliability.

## Price Calculation Methods

### VWAP (Volume-Weighted Average Price)

How aggregators compute a single price from multiple exchanges:

```
VWAP = Σ(Price_i × Volume_i) / Σ(Volume_i)
```

Example:
| Exchange | Price | 24h Volume |
|----------|-------|-----------|
| Binance | $3,200 | $2B |
| Coinbase | $3,205 | $500M |
| Kraken | $3,198 | $100M |

```
VWAP = (3200×2B + 3205×500M + 3198×100M) / (2B + 500M + 100M)
     = $3,200.96
```

### TWAP (Time-Weighted Average Price)

Used by Uniswap V3 oracle and some protocols:

```
TWAP = Average price over a time window (e.g., last 30 minutes)
```

More resistant to manipulation than spot price.

## Agent Tips

1. **Never rely on a single source** — always implement fallbacks
2. **CEX data is freshest** for major tokens — use Binance/Coinbase first
3. **DEX data is essential** for tokens not listed on CEXes
4. **DeFi Llama is the best free API** — zero rate limiting, comprehensive
5. **Chainlink feeds are the gold standard** for on-chain price verification
6. **Always show the data source** — users should know where prices come from

## Links

- DeFi Llama API: https://defillama.com/docs/api
- Binance API: https://binance-docs.github.io/apidocs/
- Chainlink Feeds: https://data.chain.link
- DexScreener: https://docs.dexscreener.com
- CoinCap: https://docs.coincap.io
- Pyth Network: https://pyth.network
- Sperax (uses Chainlink for USDs pricing): https://app.sperax.io

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.