Skip to content

Crypto Market Data API

Real-time cryptocurrency prices, market data, and live updates for 100+ digital assets powered by CoinGecko.

Overview

Rach Crypto Market Data provides instant access to comprehensive cryptocurrency market information including prices, market caps, trading volumes, and historical data across 100+ cryptocurrencies.

Key Features:

  • 📊 100+ Cryptocurrencies - Bitcoin, Ethereum, and top altcoins
  • Real-Time Updates - WebSocket streaming for live prices
  • 📈 Comprehensive Data - Prices, market cap, volume, supply, ATH/ATL
  • 💫 24h Statistics - Price changes, volume, market cap movements
  • Favorites - Save and track your preferred coins
  • 🔔 Price Alerts - Get notified when prices move (coming soon)
  • 🌐 Free Access - No authentication required for basic endpoints

How It Works


Supported Cryptocurrencies

We track the top 100 cryptocurrencies by market cap, including:

Major Coins

  • Bitcoin (BTC) - Digital gold
  • Ethereum (ETH) - Smart contract platform
  • Binance Coin (BNB) - Exchange token
  • Polygon (POL/MATIC) - Layer 2 scaling
  • Solana (SOL) - High-performance blockchain
  • Cardano (ADA) - Proof-of-stake platform

Stablecoins

  • Tether (USDT) - USD pegged
  • USD Coin (USDC) - Regulated stablecoin
  • DAI - Decentralized stablecoin

DeFi & Altcoins

  • Uniswap (UNI) - DEX protocol
  • Chainlink (LINK) - Oracle network
  • Avalanche (AVAX) - Platform for dApps
    • 90 more...

View all supported coins →


Market Data Fields

Each coin includes the following data points:

FieldDescriptionExample
nameFull coin name"Bitcoin"
symbolTrading symbol"BTC"
coin_idCoinGecko identifier"bitcoin"
priceCurrent USD price43521.50
rankMarket cap ranking1
imageLogo URL"https://..."
market_capTotal market capitalization"850000000000"
total_volume24h trading volume"25000000000"
circulating_supplyCoins in circulation19500000
total_supplyTotal coins minted21000000
max_supplyMaximum possible supply21000000
price_change_24h24h price change ($)1250.30
price_change_percentage_24h24h change (%)2.95
high_24h24h high44000.00
low_24h24h low42800.00
all_time_highAll-time high price69000.00
all_time_high_dateATH date"2021-11-10"
all_time_lowAll-time low price67.81
all_time_low_dateATL date"2013-07-06"
market_cap_change_24hMarket cap change ($)15000000000
last_updatedLast data update"2025-12-22T10:30:00Z"

Quick Start

1. Get All Coin Prices

bash
curl 'https://p2p.rach.finance/api/v1/market/prices/' \
  -H 'Accept: application/json'

Response:

json
[
  {
    "name": "Bitcoin",
    "symbol": "btc",
    "coin_id": "bitcoin",
    "price": 43521.50,
    "rank": 1,
    "image": "https://assets.coingecko.com/coins/images/1/large/bitcoin.png",
    "market_cap": "850432100000",
    "total_volume": "25134567890",
    "price_change_percentage_24h": 2.95,
    "high_24h": 44000.00,
    "low_24h": 42800.00,
    "circulating_supply": 19532000.0,
    "max_supply": 21000000.0,
    "all_time_high": 69000.00,
    "all_time_low": 67.81,
    "last_updated": "2025-12-22T10:30:00Z"
  },
  {
    "name": "Ethereum",
    "symbol": "eth",
    "coin_id": "ethereum",
    "price": 2245.80,
    "rank": 2,
    "market_cap": "269800000000",
    "price_change_percentage_24h": 3.42,
    ...
  }
]

2. Get Single Coin Price

bash
curl 'https://p2p.rach.finance/api/v1/market/prices/bitcoin/' \
  -H 'Accept: application/json'

Response:

json
{
  "bitcoin": {
    "usd": 43521.50
  }
}

3. Get Multiple Coin Prices

bash
curl 'https://p2p.rach.finance/api/v1/market/prices/multi-prices/?symbols=btc,eth,bnb' \
  -H 'Accept: application/json'

Response:

json
{
  "btc": { "usd": 43521.50 },
  "eth": { "usd": 2245.80 },
  "bnb": { "usd": 315.20 }
}

Real-Time WebSocket Updates

Subscribe to live price updates via WebSocket:

javascript
// Connect to WebSocket
const ws = new WebSocket('wss://p2p.rach.finance/ws/coins/');

ws.onopen = () => {
  console.log('Connected to market data stream');
};

ws.onmessage = (event) => {
  const data = JSON.parse(event.data);
  
  // data.text contains array of all coins with live prices
  const coins = data.text;
  
  coins.forEach(coin => {
    console.log(`${coin.symbol}: $${coin.price}`);
    
    // Each coin includes a 'state' field:
    // - "raise" = price increased
    // - "fail" = price decreased  
    // - "same" = price unchanged
    
    if (coin.state === 'raise') {
      console.log(`📈 ${coin.name} is up!`);
    }
  });
};

ws.onerror = (error) => {
  console.error('WebSocket error:', error);
};

ws.onclose = () => {
  console.log('Disconnected from market data');
};

Favorites Management

Save and track your favorite cryptocurrencies (requires authentication):

Get Favorites List

bash
curl 'https://p2p.rach.finance/api/v1/market/prices/coins/get/favorites/' \
  -H 'Authorization: Bearer YOUR_JWT_TOKEN'

Response:

json
[
  {
    "coin_id": "bitcoin",
    "coin_name": "Bitcoin",
    "coin_symbol": "btc",
    "coin_image": "https://...",
    "coin_price": 43521.50,
    "added_at": "2025-12-20T15:30:00Z"
  },
  {
    "coin_id": "ethereum",
    "coin_name": "Ethereum",
    "coin_symbol": "eth",
    "coin_image": "https://...",
    "coin_price": 2245.80,
    "added_at": "2025-12-21T10:00:00Z"
  }
]

Add to Favorites

bash
curl -X POST 'https://p2p.rach.finance/api/v1/market/prices/coins/add/favorites/' \
  -H 'Authorization: Bearer YOUR_JWT_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "coin_id": "bitcoin"
  }'

Response:

json
{
  "favorited": true
}

Remove from Favorites

bash
curl -X DELETE 'https://p2p.rach.finance/api/v1/market/prices/coins/remove/favorites/' \
  -H 'Authorization: Bearer YOUR_JWT_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "coin_id": "bitcoin"
  }'

Response:

json
{
  "unfavorited": true
}

Integration Examples

JavaScript / React

javascript
import { useState, useEffect } from 'react';

function CryptoPrices() {
  const [coins, setCoins] = useState([]);
  const [loading, setLoading] = useState(true);

  // Fetch initial prices
  useEffect(() => {
    fetch('https://p2p.rach.finance/api/v1/market/prices/')
      .then(res => res.json())
      .then(data => {
        setCoins(data);
        setLoading(false);
      });
  }, []);

  // Connect to WebSocket for live updates
  useEffect(() => {
    const ws = new WebSocket('wss://p2p.rach.finance/ws/coins/');
    
    ws.onmessage = (event) => {
      const data = JSON.parse(event.data);
      setCoins(data.text); // Update with live data
    };

    return () => ws.close();
  }, []);

  if (loading) return <div>Loading...</div>;

  return (
    <div>
      <h2>Live Crypto Prices</h2>
      {coins.map(coin => (
        <div key={coin.symbol}>
          <img src={coin.image} alt={coin.name} width="24" />
          <strong>{coin.name}</strong> ({coin.symbol.toUpperCase()})
          <span>${coin.price?.toLocaleString()}</span>
          <span className={coin.state === 'raise' ? 'green' : 'red'}>
            {coin.price_change_percentage_24h?.toFixed(2)}%
          </span>
        </div>
      ))}
    </div>
  );
}

Python

python
import requests

def get_bitcoin_price():
    """Get current Bitcoin price"""
    url = 'https://p2p.rach.finance/api/v1/market/prices/bitcoin/'
    response = requests.get(url)
    data = response.json()
    return data['bitcoin']['usd']

def get_multiple_prices(symbols):
    """Get prices for multiple coins"""
    url = 'https://p2p.rach.finance/api/v1/market/prices/multi-prices/'
    params = {'symbols': ','.join(symbols)}
    response = requests.get(url, params=params)
    return response.json()

# Usage
btc_price = get_bitcoin_price()
print(f"Bitcoin: ${btc_price:,.2f}")

prices = get_multiple_prices(['btc', 'eth', 'bnb'])
for symbol, data in prices.items():
    print(f"{symbol.upper()}: ${data['usd']:,.2f}")

Go

go
package main

import (
    "encoding/json"
    "fmt"
    "io"
    "net/http"
)

type Coin struct {
    Name   string  `json:"name"`
    Symbol string  `json:"symbol"`
    Price  float64 `json:"price"`
}

func getCoinPrices() ([]Coin, error) {
    resp, err := http.Get("https://p2p.rach.finance/api/v1/market/prices/")
    if err != nil {
        return nil, err
    }
    defer resp.Body.Close()

    body, _ := io.ReadAll(resp.Body)
    
    var coins []Coin
    json.Unmarshal(body, &coins)
    
    return coins, nil
}

func main() {
    coins, _ := getCoinPrices()
    
    for _, coin := range coins[:10] {
        fmt.Printf("%s (%s): $%.2f\n", coin.Name, coin.Symbol, coin.Price)
    }
}

Use Cases

🪙 Crypto Portfolio Tracker

Display real-time portfolio values with live price updates

💱 Exchange Rate Calculator

Convert between cryptocurrencies and fiat currencies

📊 Trading Dashboard

Build live trading charts and market analysis tools

🔔 Price Alert Service

Notify users when coins reach target prices

📱 Mobile Crypto App

Integrate live prices into iOS/Android apps

🎮 GameFi / Metaverse

Display in-game token prices and values


API Endpoints

EndpointMethodAuthDescription
/api/v1/market/GETNoList all coins (100+)
/api/v1/market/prices/GETNoGet all coin prices
/api/v1/market/prices/:coin/GETNoGet single coin price
/api/v1/market/prices/multi-prices/GETNoGet multiple coin prices
/api/v1/market/prices/coins/get/favorites/GETYesGet user's favorite coins
/api/v1/market/prices/coins/add/favorites/POSTYesAdd coin to favorites
/api/v1/market/prices/coins/remove/favorites/DELETEYesRemove from favorites
/ws/coins/WebSocketNoReal-time price updates

Data Updates

  • Update Frequency: Every 5 minutes
  • Data Source: CoinGecko API
  • Coverage: Top 100 coins by market cap
  • WebSocket: Real-time push to all connected clients
  • Cache: API responses cached for performance

Rate Limits

Market Data API has generous rate limits:

PlanRate Limit
Free (No Auth)60 requests/minute
Authenticated120 requests/minute
WebSocketUnlimited connections

WebSocket Recommended

For frequently updated data, use WebSocket instead of polling REST API. WebSocket has no rate limits and provides instant updates.


Pricing

Market Data API is included in all Rach plans:

  • 6 Months Free - Full access to market data
  • Free Forever - Basic endpoints (no authentication)
  • All Paid Plans - Favorites, higher rate limits

View Full Pricing →


Next Steps


Ready to integrate live crypto prices?

Get started with market data →

Built with ❤️ by Rach Finance