Quick Start

Prerequisites

Read-Only: Fetch Markets

No wallet needed — just connect and read.

use strike_sdk::prelude::*;

#[tokio::main]
async fn main() -> Result<()> {
    let client = StrikeClient::new(StrikeConfig::bsc_testnet()).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
    let active_markets: Vec<_> = markets.iter().filter(|m| m.status == "active").collect();
    if let Some(market) = active_markets.first() {
        let ob = client.indexer().get_orderbook(market.id as u64).await?;
        println!("market {}{} bid levels, {} ask levels", market.id, ob.bids.len(), ob.asks.len());
    }

    Ok(())
}

Trading: Place and Cancel Orders

Requires a private key with tBNB and testnet USDT.

Run it:

What's Next

Last updated