use deribit_api::{
CurrencyWithAny, DeribitClient, Env, Kind, PublicGetCurrenciesRequest,
PublicGetInstrumentsRequest, PublicGetOrderBookRequest, PublicGetTimeRequest,
};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = DeribitClient::connect(Env::Production).await?;
let time = client.call(PublicGetTimeRequest {}).await?;
println!("Server time (µs): {:?}", time);
let currencies = client.call(PublicGetCurrenciesRequest {}).await?;
println!("Currencies ({}): {:?}", currencies.len(), currencies);
let instruments = client
.call(PublicGetInstrumentsRequest {
currency: CurrencyWithAny::Btc,
kind: Some(Kind::Future),
expired: Some(false),
})
.await?;
println!("BTC futures instruments: {:?}", instruments);
let order_book = client
.call(PublicGetOrderBookRequest {
instrument_name: "BTC-PERPETUAL".to_string(),
depth: Some(5),
})
.await?;
println!("Order book (top 5): {:?}", order_book);
Ok(())
}