All data types are Python dataclasses defined in turbine_client.types. They are returned by TurbineClient methods and can be imported directly.
from turbine_client import Side, Outcome, OrderArgs, SignedOrder
from turbine_client.types import (
Market, MarketStats, OrderBookSnapshot, PriceLevel, Trade, Position,
QuickMarket, Resolution, Order, AssetPrice, UserActivity, UserStats,
PermitSignature, Holder, PlatformStats, ChainStats,
FailedTrade, PendingTrade, FailedClaim, PendingClaim, SettlementStatus,
WSMessage, OrderBookUpdate, TradeUpdate, QuickMarketUpdate,
)
Order side. Used in OrderArgs and order filtering.
class Side(IntEnum):
BUY = 0
SELL = 1
Market outcome. Used in OrderArgs and orderbook filtering.
Arguments for creating a new order. Passed to client.create_order().
Outcome.YES or Outcome.NO
Price scaled by 1e6 (1–999999; 500000 = $0.50)
Size with 6 decimals (1000000 = 1 share)
Unix timestamp for order expiry
Auto-generated if 0 (default)
Fee recipient address (default: zero address)
Validation runs on construction. Raises ValueError if price is outside 1–999999 or size is not positive.
A signed order ready for submission via client.post_order().
Computed order hash (hex)
Optional attached USDC permit
Created by client.create_order(), client.create_limit_buy(), or client.create_limit_sell(). Call signed.to_dict() for the API-ready JSON payload.
PermitSignature
EIP-2612 permit signature for gasless USDC approval. Returned by client.sign_usdc_permit().
Permit nonce (must match on-chain)
Approved amount (6 decimals)
Signature r component (hex, 0x-prefixed)
Signature s component (hex, 0x-prefixed)
An order on the orderbook. Returned by client.get_orders(), client.get_order(), client.get_user_orders().
Original size (6 decimals)
Amount filled (6 decimals)
Amount remaining (6 decimals)
"open", "filled", or "cancelled"
A prediction market. Returned by client.get_markets().
Market ID (hex, used for API calls)
Market contract address (used for claiming)
Settlement contract address
Whether the market is resolved
0 (YES) or 1 (NO) if resolved
Total volume (6 decimals)
Statistics for a market. Returned by client.get_market(), client.get_stats().
Last trade price (6 decimals; 500000 = $0.50)
Total volume (6 decimals)
24-hour volume (6 decimals)
A 15-minute quick market. Returned by client.get_quick_market(), client.get_quick_market_history().
Asset symbol ("BTC", "ETH")
Strike price (8 decimals; divide by 1e8 for dollars)
Final price at resolution
0 (YES) or 1 (NO) if resolved
Oracle source (e.g., "pyth")
Market resolution status. Returned by client.get_resolution().
Winning outcome (0 = YES, 1 = NO)
Orderbook Types
OrderBookSnapshot
Orderbook state for a market. Returned by client.get_orderbook().
Bid levels (sorted best-first)
Ask levels (sorted best-first)
A single price level in the orderbook.
Price (6 decimals; 500000 = $0.50)
Total size at this level (6 decimals; 1000000 = 1 share)
A trade execution. Returned by client.get_trades().
Execution price (6 decimals)
Execution size (6 decimals)
Settlement transaction hash
A user's position in a market. Returned by client.get_positions(), client.get_user_positions().
YES token balance (6 decimals)
NO token balance (6 decimals)
USDC spent on YES (6 decimals)
USDC spent on NO (6 decimals)
USDC received from YES sales (6 decimals)
USDC received from NO sales (6 decimals)
Total USDC invested (6 decimals)
Total USDC cost (6 decimals)
Total USDC revenue (6 decimals)
A top holder in a market. Returned by client.get_holders().
YES token balance (6 decimals)
NO token balance (6 decimals)
Total USDC invested (6 decimals)
Trading activity summary. Returned by client.get_user_activity().
Total volume (6 decimals)
User portfolio statistics. Returned by client.get_user_stats().
Total USDC spent (6 decimals)
Total USDC invested (6 decimals)
Current position value (6 decimals)
Platform-wide statistics. Returned by client.get_platform_stats().
Total volume across all chains (6 decimals)
Total trades across all chains
Per-chain statistics.
Total volume (6 decimals)
Current price for an asset. Returned by client.get_quick_market_price().
Price in smallest units (divide by 1e8 for dollars)
Settlement Tracking Types
A failed trade settlement.
A pending trade settlement.
A failed redemption claim.
Expected payout (6 decimals)
A pending redemption claim. Same fields as FailedClaim.
SettlementStatus
Settlement status for a transaction.
Whether the transaction was found
Error message (empty if successful)
WebSocket Message Types
Base WebSocket message. All other message types inherit from this.
Message type ("orderbook", "trade", "quick_market", "order_cancelled")
OrderBookUpdate
Extends WSMessage. Has an orderbook property.
Extends WSMessage. Has a trade property.
QuickMarketUpdate
Extends WSMessage. Has a quick_market property.
Helper Functions
Available from turbine_client.order_builder.helpers: