1use bybit_rust_api::rest::enums::category::Category;
2use bybit_rust_api::rest::enums::interval::Interval;
3use bybit_rust_api::rest::{ApiKeyPair, MarketClient, RestClient};
4
5#[tokio::main]
6async fn main() -> anyhow::Result<()> {
7 let api_key_pair = ApiKeyPair::new("default".to_string(), "".to_string(), "".to_string());
9
10 let rest_client = RestClient::new(api_key_pair, "https://api.bybit.com".to_string());
12
13 let market_client = MarketClient::new(rest_client);
15
16 println!("Getting server time...");
18 let server_time = market_client.get_server_time().await?;
19 println!("Server time: {:?}", server_time.result);
20
21 println!("\nGetting BTC/USDT kline data...");
23 let kline_data = market_client
24 .get_kline(
25 Category::Spot,
26 "BTCUSDT",
27 Interval::OneHour,
28 None,
29 None,
30 Some(10),
31 )
32 .await?;
33 println!("Kline data count: {}", kline_data.result.list.len());
34
35 println!("\nGetting BTC/USDT orderbook...");
37 let orderbook = market_client
38 .get_orderbook(Category::Spot, "BTCUSDT", Some(5))
39 .await?;
40 println!("Orderbook: {:?}", orderbook.result);
41
42 println!("\nGetting tickers...");
44 let tickers = market_client
45 .get_tickers(Category::Spot, Some("BTCUSDT"), None, None)
46 .await?;
47 println!("Tickers: {:?}", tickers.result);
48
49 Ok(())
50}