Skip to main content

Module api_types

Module api_types 

Source
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§

AuthMessageData
Inner data from auth message response
AuthMessageResponse
Response from GET /v1/auth/message
AuthRequest
Request body for POST /v1/auth
AuthResponse
Response from POST /v1/auth
AuthResponseData
Inner data from auth response
CategoryResponse
API response wrapper for category endpoint
CreateOrderData
Inner data for create order request
CreateOrderRequest
Request body for POST /v1/orders
GetOrdersResponse
Response from GET /v1/orders
GetPositionsResponse
Response from GET /v1/positions
PlaceOrderData
Inner data from place order response
PlaceOrderResponse
Response from POST /v1/orders (place order)
PredictCategory
Predict category (collection of related markets)
PredictMarket
Represents a Predict market
PredictOrder
Represents an order on Predict (from GET /v1/orders)
PredictOrderBook
Represents an order book for a Predict market
PredictOrderData
The signed order data embedded in an order response
PredictOutcome
Represents a market outcome
PredictPosition
A position on Predict
PredictPositionMarket
Market info embedded in a position
PredictPositionOutcome
Outcome info embedded in a position
RemoveOrdersData
Inner data for remove orders request
RemoveOrdersRequest
Request body for POST /v1/orders/remove
RemoveOrdersResponse
Response from POST /v1/orders/remove (cancel orders)
WalletEventDetails
Details from a wallet event’s details object (present on transaction events)

Enums§

OrderStatus
Order status
PredictWalletEvent
Wallet events received via predictWalletEvents/{jwt} WebSocket topic