Expand description
predict.fun SDK for Rust
Port of the TypeScript SDK for predict.fun prediction market
§Overview
This SDK provides functionality to:
- Build and sign orders using EIP-712
- Interact with predict.fun smart contracts on BNB Chain
- Calculate order amounts with proper precision
- Manage positions (split, merge, redeem)
§Example
use predict_sdk::{OrderBuilder, ChainId};
use alloy::signers::local::PrivateKeySigner;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let signer = PrivateKeySigner::random();
let builder = OrderBuilder::new(ChainId::BnbTestnet, Some(signer), None)?;
// Build and place orders...
Ok(())
}Structs§
- Auth
Message Data - Inner data from auth message response
- Auth
Message Response - Response from GET /v1/auth/message
- Auth
Request - Request body for POST /v1/auth
- Auth
Response - Response from POST /v1/auth
- Auth
Response Data - Inner data from auth response
- Category
Response - API response wrapper for category endpoint
- Create
Order Data - Inner data for create order request
- Create
Order Request - Request body for POST /v1/orders
- GetOrders
Response - Response from GET /v1/orders
- GetPositions
Response - Response from GET /v1/positions
- Place
Order Data - Inner data from place order response
- Place
Order Response - Response from POST /v1/orders (place order)
- Predict
Category - Predict category (collection of related markets)
- Predict
Market - Represents a Predict market
- Predict
Order - Represents an order on Predict (from GET /v1/orders)
- Predict
Order Book - Represents an order book for a Predict market
- Predict
Order Data - The signed order data embedded in an order response
- Predict
Outcome - Represents a market outcome
- Predict
Position - A position on Predict
- Predict
Position Market - Market info embedded in a position
- Predict
Position Outcome - Outcome info embedded in a position
- Remove
Orders Data - Inner data for remove orders request
- Remove
Orders Request - Request body for POST /v1/orders/remove
- Remove
Orders Response - Response from POST /v1/orders/remove (cancel orders)
- Wallet
Event Details - Details from a wallet event’s
detailsobject (present on transaction events)
Enums§
- Order
Status - Order status
- Predict
Wallet Event - Wallet events received via predictWalletEvents/{jwt} WebSocket topic