Quick Start
Prerequisites
Read-Only: Fetch Markets
use strike_sdk::prelude::*;
#[tokio::main]
async fn main() -> Result<()> {
let client = StrikeClient::new(StrikeConfig::bsc_mainnet()).build()?;
// Fetch markets from the indexer
let markets = client.indexer().get_markets().await?;
println!("found {} markets", markets.len());
// Read on-chain state
let active = client.markets().active_market_count().await?;
println!("active markets: {active}");
// Get orderbook for first active market using the tradable OrderBook ID
let active_markets: Vec<_> = markets.iter().filter(|m| m.status == "active").collect();
if let Some(market) = active_markets.first() {
let market_id = market.tradable_market_id()?;
let ob = client.indexer().get_orderbook(market_id).await?;
println!("market {} (ob {}) — {} bid levels, {} ask levels", market.factory_market_id, market_id, ob.bids.len(), ob.asks.len());
}
Ok(())
}Trading: Place and Cancel Orders
What's Next
Last updated