use oxarchive::OxArchive;
#[tokio::main]
async fn main() -> oxarchive::Result<()> {
let api_key = std::env::var("OXARCHIVE_API_KEY").expect("Set OXARCHIVE_API_KEY");
let client = OxArchive::new(api_key)?;
let instruments = client.hyperliquid.instruments.list().await?;
println!("Hyperliquid: {} instruments", instruments.len());
for inst in instruments.iter().take(5) {
println!(" {} ({}x leverage)", inst.name, inst.max_leverage.unwrap_or(0));
}
let ob = client.hyperliquid.orderbook.get("BTC", None).await?;
println!(
"\nBTC orderbook: {} bids, {} asks, mid={:?}",
ob.bids.len(),
ob.asks.len(),
ob.mid_price
);
let funding = client.hyperliquid.funding.current("ETH").await?;
println!("\nETH funding rate: {}", funding.funding_rate);
let oi = client.hyperliquid.open_interest.current("BTC").await?;
println!("BTC open interest: {}", oi.open_interest);
let lighter = client.lighter.instruments.list().await?;
println!("\nLighter: {} instruments", lighter.len());
let hip3 = client.hyperliquid.hip3.instruments.list().await?;
println!("HIP-3: {} instruments", hip3.len());
let status = client.data_quality.status().await?;
println!("\nSystem status: {}", status.status);
Ok(())
}