cryptofeed

Cryptofeed - Real-time cryptocurrency market data feeds from 40+ exchanges. WebSocket streaming, normalized data, order books, trades, tickers. Python library for algorithmic trading and market data analysis.

16 stars

Best use case

cryptofeed is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Cryptofeed - Real-time cryptocurrency market data feeds from 40+ exchanges. WebSocket streaming, normalized data, order books, trades, tickers. Python library for algorithmic trading and market data analysis.

Teams using cryptofeed should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/cryptofeed/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/development/cryptofeed/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/cryptofeed/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How cryptofeed Compares

Feature / AgentcryptofeedStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Cryptofeed - Real-time cryptocurrency market data feeds from 40+ exchanges. WebSocket streaming, normalized data, order books, trades, tickers. Python library for algorithmic trading and market data analysis.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Cryptofeed Skill

Comprehensive assistance with Cryptofeed development - a Python library for handling cryptocurrency exchange data feeds with normalized and standardized results.

## When to Use This Skill

This skill should be triggered when:
- Working with real-time cryptocurrency market data
- Implementing WebSocket streaming from crypto exchanges
- Building algorithmic trading systems
- Processing order book updates, trades, or ticker data
- Connecting to 40+ cryptocurrency exchanges
- Using normalized exchange APIs
- Implementing market data backends (Redis, MongoDB, Kafka, etc.)

## Quick Reference

### Installation

```python
# Basic installation
pip install cryptofeed

# With all optional backends
pip install cryptofeed[all]
```

### Basic Usage Pattern

```python
from cryptofeed import FeedHandler
from cryptofeed.exchanges import Coinbase, Bitfinex
from cryptofeed.defines import TICKER, TRADES, L2_BOOK

# Define callbacks
def ticker_callback(data):
    print(f"Ticker: {data}")

def trade_callback(data):
    print(f"Trade: {data}")

# Create feed handler
fh = FeedHandler()

# Add exchange feeds
fh.add_feed(Coinbase(
    symbols=['BTC-USD'],
    channels=[TICKER],
    callbacks={TICKER: ticker_callback}
))

fh.add_feed(Bitfinex(
    symbols=['BTC-USD'],
    channels=[TRADES],
    callbacks={TRADES: trade_callback}
))

# Start receiving data
fh.run()
```

### National Best Bid/Offer (NBBO)

```python
from cryptofeed import FeedHandler
from cryptofeed.exchanges import Coinbase, Gemini, Kraken

def nbbo_update(symbol, bid, bid_size, ask, ask_size, bid_feed, ask_feed):
    print(f'Pair: {symbol} Bid: {bid:.2f} ({bid_size:.6f}) from {bid_feed}')
    print(f'Ask: {ask:.2f} ({ask_size:.6f}) from {ask_feed}')

f = FeedHandler()
f.add_nbbo([Coinbase, Kraken, Gemini], ['BTC-USD'], nbbo_update)
f.run()
```

## Supported Exchanges (40+)

### Major Exchanges
- **Binance** (Spot, Futures, Delivery, US)
- **Coinbase**, **Kraken** (Spot, Futures), **Bitfinex**
- **Gemini**, **OKX**, **Bybit**
- **Huobi** (Spot, DM, Swap), **Gate.io** (Spot, Futures)
- **KuCoin**, **Deribit**, **BitMEX**, **dYdX**

### Additional Exchanges
AscendEX, Bequant, bitFlyer, Bithumb, Bitstamp, Blockchain.com, Bit.com, Bitget, Crypto.com, Delta, EXX, FMFW.io, HitBTC, Independent Reserve, OKCoin, Phemex, Poloniex, ProBit, Upbit

## Supported Data Channels

### Market Data (Public)
- **L1_BOOK** - Top of order book
- **L2_BOOK** - Price aggregated sizes
- **L3_BOOK** - Price aggregated orders
- **TRADES** - Executed trades (taker side)
- **TICKER** - Price ticker updates
- **FUNDING** - Funding rate data
- **OPEN_INTEREST** - Open interest statistics
- **LIQUIDATIONS** - Liquidation events
- **INDEX** - Index price data
- **CANDLES** - Candlestick/K-line data

### Authenticated Channels (Private)
- **ORDER_INFO** - Order status updates
- **TRANSACTIONS** - Deposits and withdrawals
- **BALANCES** - Wallet balance updates
- **FILLS** - User's executed trades

## Supported Backends

Write data directly to storage:

- **Redis** (Streams and Sorted Sets)
- **Arctic** - Time-series database
- **ZeroMQ**, **InfluxDB v2**, **MongoDB**
- **Kafka**, **RabbitMQ**, **PostgreSQL**
- **QuasarDB**, **GCP Pub/Sub**, **QuestDB**
- **UDP/TCP/Unix Sockets**

## Key Features

### Real-time Data Normalization
Cryptofeed normalizes data across all exchanges, providing consistent:
- Symbol formatting
- Timestamp handling
- Data structures
- Channel names

### WebSocket + REST Fallback
- Primarily uses WebSockets for real-time data
- Falls back to REST polling when WebSocket unavailable
- Automatic reconnection handling

### NBBO Aggregation
Create synthetic National Best Bid/Offer feeds by aggregating data across multiple exchanges to find arbitrage opportunities.

### Backend Integration
Direct data writing to various storage systems without custom integration code.

## Requirements

- **Python**: 3.8 or higher
- **Installation**: Via pip or from source
- **Optional Dependencies**: Install backends as needed

## Common Use Cases

### Multi-Exchange Price Monitoring
```python
fh = FeedHandler()
fh.add_feed(Binance(symbols=['BTC-USDT'], channels=[TICKER], callbacks=ticker_cb))
fh.add_feed(Coinbase(symbols=['BTC-USD'], channels=[TICKER], callbacks=ticker_cb))
fh.add_feed(Kraken(symbols=['BTC-USD'], channels=[TICKER], callbacks=ticker_cb))
fh.run()
```

### Order Book Depth Analysis
```python
def book_callback(book, receipt_timestamp):
    print(f"Bids: {len(book.book.bids)} | Asks: {len(book.book.asks)}")

fh.add_feed(Coinbase(
    symbols=['BTC-USD'],
    channels=[L2_BOOK],
    callbacks={L2_BOOK: book_callback}
))
```

### Trade Flow Analysis
```python
def trade_callback(trade, receipt_timestamp):
    print(f"{trade.exchange} - {trade.symbol}: {trade.side} {trade.amount} @ {trade.price}")

fh.add_feed(Binance(
    symbols=['BTC-USDT', 'ETH-USDT'],
    channels=[TRADES],
    callbacks={TRADES: trade_callback}
))
```

## Reference Files

This skill includes documentation in `references/`:

- **getting_started.md** - Installation and basic usage
- **README.md** - Complete overview and examples

Use `view` to read specific reference files when detailed information is needed.

## Working with This Skill

### For Beginners
Start with basic FeedHandler setup and single exchange connections before adding multiple feeds.

### For Advanced Users
Explore NBBO feeds, authenticated channels, and backend integrations for production systems.

### For Code Examples
See the quick reference section above and the reference files for complete working examples.

## Resources

- **Repository**: https://github.com/bmoscon/cryptofeed
- **PyPI**: https://pypi.python.org/pypi/cryptofeed
- **Examples**: https://github.com/bmoscon/cryptofeed/tree/master/examples
- **Documentation**: https://github.com/bmoscon/cryptofeed/blob/master/docs/README.md
- **Discord**: https://discord.gg/zaBYaGAYfR
- **Related**: Cryptostore (containerized data storage)

## Notes

- Requires Python 3.8+
- WebSocket-first approach with REST fallback
- Normalized data across all exchanges
- Active development and community support
- 40+ supported exchanges and growing

Related Skills

bgo

10
from diegosouzapw/awesome-omni-skill

Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.

Coding & Development

swift-human-guidelines

16
from diegosouzapw/awesome-omni-skill

Comprehensive Swift 6 and SwiftUI development guidelines for building iOS 26, iOS 18, iPadOS, macOS, watchOS, visionOS, and tvOS applications. Covers Foundation Models API, BGContinuedProcessingTask, Call Translation API, Liquid Glass design system, data-race safety, typed throws, synchronization primitives, SwiftUI/UIKit interoperability, zoom transitions, and document-based apps. Use when building new Apple platform apps, implementing Apple Intelligence features, optimizing performance with Swift 6 concurrency, following Apple Human Interface Guidelines, creating cross-platform applications, or working with iOS 26/18 APIs. Triggers on Swift code, SwiftUI views, Xcode projects, app architecture, background processing, translation features, Foundation Models, synchronization, actors, Sendable types, or modern Apple platform development.

swift-conventions

16
from diegosouzapw/awesome-omni-skill

Swift coding conventions and best practices for modern Swift development. Use when writing, reviewing, or refactoring Swift code to ensure consistency with naming conventions, access control, async/await patterns, and SwiftUI/framework best practices.

swift-concurrency

16
from diegosouzapw/awesome-omni-skill

Expert guidance on Swift Concurrency best practices, patterns, and implementation. Use when developers mention: (1) Swift Concurrency, async/await, actors, or tasks, (2) "use Swift Concurrency" or "modern concurrency patterns", (3) migrating to Swift 6, (4) data races or thread safety issues, (5) refactoring closures to async/await, (6) @MainActor, Sendable, or actor isolation, (7) concurrent code architecture or performance optimization, (8) concurrency-related linter warnings (SwiftLint or similar; e.g. async_without_await, Sendable/actor isolation/MainActor lint).

swedish-medications

16
from diegosouzapw/awesome-omni-skill

Look up Swedish medication information from FASS (Farmaceutiska Specialiteter i Sverige). Use when users ask about medications, drugs, läkemedel, dosages, side effects (biverkningar), interactions, or need to understand prescriptions in Sweden. Covers all medications approved for use in Sweden.

swe-programming-elixir-phoenix

16
from diegosouzapw/awesome-omni-skill

Phoenix Framework coding standards from authoritative docs/explanation/software-engineering/platform-web/tools/elixir-phoenix/ documentation

sw-tech-stack-planner

16
from diegosouzapw/awesome-omni-skill

Use when user wants a tech stack recommendation, technology choices, docker-compose setup, or architecture decisions for a software project – reads vision.md, user-stories.md, use-cases.md and generates requirements/tech-stack.yaml silently.

sveltekit

16
from diegosouzapw/awesome-omni-skill

Expert guidance for building modern, performant web applications with SvelteKit.

sveltekit-latest

16
from diegosouzapw/awesome-omni-skill

Quick-reference for SvelteKit + Svelte 5 development (Feb 2026)

svelte-remote-functions

16
from diegosouzapw/awesome-omni-skill

Guide for SvelteKit Remote Functions. Use this skill by default for all SvelteKit projects doing type-safe client-server communication with query (data fetching), form (progressive enhancement), command (imperative actions), or data invalidation/refresh patterns.

surrealdb-ffi-codec

16
from diegosouzapw/awesome-omni-skill

A codec implementation pattern for high‑efficiency FFI data exchange between SurrealDB Embedded and Go/Swift/other languages, eliminating JSON by using FlatBuffers + MessagePack. Used for Rust FFI layer construction, SurrealDB query result conversion, and binary serialization.

superpowers-writing-skills

16
from diegosouzapw/awesome-omni-skill

Use when creating new skills, editing existing skills, or verifying skills work before deployment