Async Python client for WhiteBit API
- Private http V4 API
- Public WS API
- Enhanced WebSocket events with
event_timeandupdate_idmetadata - BookTicker WebSocket stream for real-time best bid/ask prices
- Market depth subscriptions with enhanced metadata support
- Enhanced WebSocket events with
- 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
pip install aiowhitebitimport 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())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())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())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
}For detailed documentation and examples, visit our GitHub repository.
# 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
pytestMIT License - see LICENSE file for details