Expand description
§polyte-clob
Rust client library for Polymarket CLOB (Centralized Limit Order Book) API.
§Features
- Order creation, signing, and posting with EIP-712
- Market data and order book retrieval
- Account balance and trade history
- HMAC-based L2 authentication
- Type-safe API with idiomatic Rust patterns
§Example
use polyte_clob::{Account, Chain, ClobBuilder, CreateOrderParams, OrderSide};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// Load account from environment variables
let account = Account::from_env()?;
// Create CLOB client
let clob = ClobBuilder::new(account)
.chain(Chain::PolygonMainnet)
.build()?;
// Place an order
let params = CreateOrderParams {
token_id: "token_id".to_string(),
price: 0.52,
size: 100.0,
side: OrderSide::Buy,
expiration: None,
};
let response = clob.place_order(¶ms).await?;
println!("Order ID: {:?}", response.order_id);
Ok(())
}Re-exports§
pub use account::Account;pub use account::AccountConfig;pub use account::Credentials;pub use account::Signer;pub use account::Wallet;pub use api::account::BalanceAllowanceResponse;pub use api::account::Trade;pub use api::markets::ListMarketsResponse;pub use api::markets::Market;pub use api::markets::MarketToken;pub use api::markets::MidpointResponse;pub use api::markets::OrderBook;pub use api::markets::OrderLevel;pub use api::markets::PriceResponse;pub use api::orders::CancelResponse;pub use api::orders::OpenOrder;pub use api::orders::OrderResponse;pub use client::Clob;pub use client::ClobBuilder;pub use client::CreateOrderParams;pub use core::chain::Chain;pub use core::chain::Contracts;pub use error::ClobError;pub use error::Result;pub use types::Order;pub use types::OrderKind;pub use types::OrderSide;pub use types::SignatureType;pub use types::SignedOrder;pub use types::TickSize;