ironbeam-rs
Async Rust client for the Ironbeam futures trading API. Targets low-latency order execution and real-time streaming.
Features
- REST API — accounts, market data, orders, info, simulation
- WebSocket streaming — real-time quotes, depth, trades, indicators
- Built-in rate limiting — configurable requests-per-second throttle
- Type-safe builders —
OrderBuilder,SymbolSearchParams - Fully async (
tokio), zerounwrap()in library code
Quick Start
[]
= "0.1"
= { = "1", = ["rt-multi-thread", "macros"] }
use ;
async
Set credentials via environment variables:
Account Data
use BalanceType;
let accounts = client.all_accounts.await?;
let account_id = &accounts;
let balances = client.balance.await?;
for b in &balances
let positions = client.positions.await?;
let risks = client.risk.await?;
let fills = client.fills.await?;
Market Data
use SymbolSearchParams;
// Quotes and depth
let quotes = client.quotes.await?;
let depths = client.depth.await?;
// Historical trades
let now = now_utc;
let trades = client.trades.await?;
// Symbol search
let params = new.text.limit;
let symbols = client.symbols.await?;
Orders
use OrderBuilder;
use ;
// Place a limit order
let order = limit
.stop_loss
.take_profit;
let resp = client.place_order.await?;
// Query and cancel
let orders = client.orders.await?;
if let Some = resp.order_id.as_deref
Order types: OrderBuilder::market(...), limit(...), stop(...), stop_limit(...).
Streaming
use StreamEvent;
let mut stream = client.stream.start.await?;
stream.subscribe_quotes.await?;
while let Some = stream.next.await
Examples
License
MIT — see LICENSE.
