Bybit Rust SDK
A Rust SDK for the Bybit API V5, providing easy access to market data and trading functionality.
Features
- ✅ Market Data API (public endpoints)
- ✅ Order Management (private endpoints)
- ✅ Account Management
- ✅ Position Management
- ✅ Asset Management (deposits, withdrawals, transfers)
- ✅ User Management (sub-accounts, API keys)
- ✅ Spot Leverage Token
- ✅ Comprehensive error handling
- ✅ Type-safe request/response structures
- ✅ Authentication and request signing
- 🚧 WebSocket support (coming soon)
Installation
Add this to your Cargo.toml:
[]
= "0.3.0"
Quick Start
Market Data (Public)
use ;
async
Trading (Private)
use ;
use PlaceOrderRequest;
async
API Coverage
Market Data
- Server Time
- Kline/Candlestick
- Mark Price Kline
- Index Price Kline
- Premium Index Price Kline
- Orderbook
- Instruments Info
- Tickers
- Funding Rate History
- Risk Limit
- Open Interest
- Insurance
- Recent Trades
- Delivery Price
- Long/Short Ratio
- Historical Volatility
Order Management
- Place Order
- Batch Place Orders
- Amend Order
- Batch Amend Orders
- Cancel Order
- Batch Cancel Orders
- Cancel All Orders
- Get Open Orders
- Get Order History
- Get Trade History
Account Management
- Get Wallet Balance
- Get Fee Rate
- Get Account Info
- Get Transaction Log
- Set Margin Mode
- Set/Reset MMP
- Get MMP State
- Get Collateral Info
- Get Borrow History
- Upgrade to Unified Account
Position Management
- Get Position Info
- Set Leverage
- Switch Margin Mode
- Switch Position Mode
- Set Trading Stop (TP/SL)
- Set Auto Add Margin
- Get Closed PnL
- Set Risk Limit
- Move Positions
- Add/Reduce Margin
Asset Management
- Deposit/Withdrawal Operations
- Internal & Universal Transfers
- Get Asset Info
- Convert Operations (Quote/Execute)
- Get Coin Info
- Delivery & Settlement Records
User Management
- Create/Manage Sub Members
- Create/Manage API Keys
- Get Member Type
- Freeze/Delete Sub Members
Spot Leverage Token
- Get Leverage Token Info
- Purchase/Redeem Operations
- Get Order Records
Environment Variables
For private endpoints, set these environment variables:
Examples
Run the examples:
# Market data example
# Trading example (requires API credentials)
Testing
For testing, use the Bybit testnet:
let rest_client = new;
License
MIT
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Development Setup
This project uses a pre-commit hook to verify code quality before committing.
This hook is automatically installed when you run cargo build.
It runs:
cargo fmtcargo checkcargo check --examplescargo check --testscargo test
Disclaimer
This is an unofficial SDK. Please use at your own risk.