Skip to content

doubledare704/aiowhitebit

Repository files navigation

aiowhitebit

Async Python client for WhiteBit API

Features

  • Private http V4 API
  • Public WS API
    • Enhanced WebSocket events with event_time and update_id metadata
    • BookTicker WebSocket stream for real-time best bid/ask prices
    • Market depth subscriptions with enhanced metadata support
  • Public http v1
  • Public http v2
  • Public http v4
    • Funding history endpoint for futures markets
  • Webhook support with examples
  • Rate limiting
  • Type hints
  • Pydantic models
  • Async/await support

Installation

pip install aiowhitebit

Quick Start

import asyncio
from aiowhitebit.clients.public import PublicV4Client

async def main():
    client = PublicV4Client()

    # Get market info
    markets = await client.get_market_info()
    print(f"Number of markets: {len(markets)}")

    # Get market activity
    activity = await client.get_market_activity()
    print(f"BTC_USDT last price: {activity.get('BTC_USDT').last_price}")

asyncio.run(main())

New Features in v0.3.0

BookTicker WebSocket Stream

import asyncio
from aiowhitebit.clients.websocket import PublicWebSocketClient, SubscribeRequest

async def bookticker_example():
    client = PublicWebSocketClient()

    # Subscribe to BookTicker stream
    response = await client.bookticker_subscribe("BTC_USDT")
    print(f"Subscribed: {response}")

    # Unsubscribe from BookTicker stream
    response = await client.bookticker_unsubscribe("BTC_USDT")
    print(f"Unsubscribed: {response}")

    await client.close()

asyncio.run(bookticker_example())

Funding History for Futures Markets

import asyncio
from aiowhitebit.clients.public import PublicV4Client

async def funding_history_example():
    client = PublicV4Client()

    # Get funding rate history for BTC_USDT futures
    history = await client.get_funding_history("BTC_USDT")

    for item in history.result:
        print(f"Time: {item.timestamp}, Rate: {item.funding_rate}")

asyncio.run(funding_history_example())

Enhanced WebSocket Events with Metadata

All WebSocket events now include optional event_time and update_id fields for better tracking and synchronization:

# WebSocket responses now include metadata
{
    "method": "depth_update",
    "params": {...},
    "event_time": 1640995200000,  # Event timestamp
    "update_id": 12345           # Unique update identifier
}

Documentation

For detailed documentation and examples, visit our GitHub repository.

Development

# Clone the repository
git clone https://github.com/doubledare704/aiowhitebit.git
cd aiowhitebit

# Install development dependencies
pip install -r requirements-dev.txt

# Install pre-commit hooks
pre-commit install

# Run tests
pytest

License

MIT License - see LICENSE file for details

About

Async Python client for WhiteBit cryptocurrency exchange API

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages