For the complete documentation index, see llms.txt. This page is also available as Markdown.

Client Reference

Complete reference for all TurbineClient methods, organized by access level.

Public Data (No Auth)

These methods work with any client, including read-only clients with no credentials.

get_markets

Fetch all markets, optionally filtered by chain.

markets = client.get_markets()
markets = client.get_markets(chain_id=137)

for m in markets:
    print(f"{m.question} | volume={m.volume / 1e6:.2f} USDC | resolved={m.resolved}")
Parameter
Type
Required
Description

chain_id

int

No

Filter by chain ID

Returns: list[Market]

get_market

Get stats for a single market.

stats = client.get_market(market_id="0x...")

print(f"Last price: {stats.last_price / 1e6:.4f} (${stats.last_price / 1e6:.4f})")
print(f"24h volume: {stats.volume_24h / 1e6:.2f} USDC")
print(f"Total volume: {stats.total_volume / 1e6:.2f} USDC")
Parameter
Type
Required
Description

market_id

str

Yes

Market ID (hex string)

Returns: MarketStats

get_orderbook

Get the orderbook snapshot for a market, optionally filtered by outcome.

Parameter
Type
Required
Description

market_id

str

Yes

Market ID

outcome

Outcome

No

Filter by Outcome.YES or Outcome.NO

Returns: OrderBookSnapshot

get_trades

Get recent trades for a market.

Parameter
Type
Required
Description

market_id

str

Yes

Market ID

limit

int

No

Max trades to return (default: 100)

Returns: list[Trade]

get_stats

Get statistics for a market. Alias for get_market.

Parameter
Type
Required
Description

market_id

str

Yes

Market ID

Returns: MarketStats

get_platform_stats

Get platform-wide statistics across all chains.

Returns: PlatformStats

get_holders

Get top position holders for a market.

Parameter
Type
Required
Description

market_id

str

Yes

Market ID

limit

int

No

Max holders to return (default: 100)

Returns: list[Holder]

get_resolution

Get resolution status for a market.

Parameter
Type
Required
Description

market_id

str

Yes

Market ID

Returns: Resolution

get_health

Check API server health.

Returns: dict

get_quick_market

Get the active quick market for an asset.

Parameter
Type
Required
Description

asset

str

Yes

Asset symbol ("BTC", "ETH")

Returns: QuickMarket

get_quick_market_history

Get historical quick markets for an asset.

Parameter
Type
Required
Description

asset

str

Yes

Asset symbol

limit

int

No

Max markets to return (default: 100)

Returns: list[QuickMarket]

get_quick_market_price

Get the current price for an asset.

Parameter
Type
Required
Description

asset

str

Yes

Asset symbol

Returns: AssetPrice

get_quick_market_price_history

Get price history for an asset.

Parameter
Type
Required
Description

asset

str

Yes

Asset symbol

limit

int

No

Max prices to return (default: 100)

Returns: list[AssetPrice]

get_failed_trades

Get all failed trade settlements.

Returns: list[FailedTrade]

get_pending_trades

Get all pending trade settlements.

Returns: list[PendingTrade]

get_failed_claims

Get all failed redemption claims.

Returns: list[FailedClaim]

get_pending_claims

Get all pending redemption claims.

Returns: list[PendingClaim]

get_settlement_status

Check the settlement status for a specific transaction.

Parameter
Type
Required
Description

tx_hash

str

Yes

Transaction hash

Returns: SettlementStatus


Order Management (Requires Signing)

These methods require a private_key in the client constructor (Level 1+).

create_order

Create and sign an order from an OrderArgs object.

Parameter
Type
Required
Description

order_args

OrderArgs

Yes

Order parameters

settlement_address

str

No

Override settlement address (auto-fetched from market if omitted)

Returns: SignedOrder

create_limit_buy

Convenience method for creating a signed buy order.

Parameter
Type
Required
Description

market_id

str

Yes

Market ID

outcome

Outcome

Yes

Outcome.YES or Outcome.NO

price

int

Yes

Price (1999999, where 500000 = $0.50)

size

int

Yes

Size in shares (6 decimals; 1000000 = 1 share)

expiration

int

No

Unix timestamp (default: 1 hour from now)

settlement_address

str

No

Override settlement address

Returns: SignedOrder

create_limit_sell

Same parameters and behavior as create_limit_buy, but creates a sell order.

Returns: SignedOrder


Authenticated Endpoints (Requires Bearer Token)

These methods require api_key_id + api_private_key (Level 2). Bearer tokens are generated automatically per request.

post_order

Submit a signed order to the orderbook.

Parameter
Type
Required
Description

signed_order

SignedOrder

Yes

A signed order

Returns: dict — API response with match/fill details

get_orders

Get orders, optionally filtered.

Parameter
Type
Required
Description

trader

str

No

Filter by trader address

market_id

str

No

Filter by market ID

status

str

No

Filter: "open", "filled", "cancelled"

Returns: list[Order]

get_order

Get a specific order by hash.

Parameter
Type
Required
Description

order_hash

str

Yes

The order hash

Returns: Order

cancel_order

Cancel a single order.

Parameter
Type
Required
Description

order_hash

str

Yes

The order hash

market_id

str

No

Market ID (for validation)

side

Side

No

Order side (for validation)

Returns: dict

cancel_market_orders

Cancel all your orders for a market.

Parameter
Type
Required
Description

market_id

str

Yes

Market ID

Returns: dict

get_positions

Get positions for a market, optionally filtered by user.

Parameter
Type
Required
Description

market_id

str

Yes

Market ID

user_address

str

No

Filter by user address

Returns: list[Position]

get_user_positions

Get all positions across markets for a user.

Parameter
Type
Required
Description

address

str

Yes

User address

chain_id

int

No

Filter by chain ID

Returns: list[Position]

get_user_orders

Get all orders for a user.

Parameter
Type
Required
Description

address

str

Yes

User address

status

str

No

Filter: "open", "filled", "cancelled"

Returns: list[Order]

get_user_activity

Get trading activity summary for a user.

Parameter
Type
Required
Description

address

str

Yes

User address

Returns: UserActivity

get_user_stats

Get statistics for the authenticated user.

Returns: UserStats


Gasless / Relayer Operations

These methods sign EIP-712 permits and submit them to the relayer for gasless execution. Requires Level 2 access (private key + API credentials). No native gas tokens are needed.

approve_usdc_for_settlement

Sign and submit a gasless max USDC permit. One-time per settlement contract — all future orders reuse the allowance.

Parameter
Type
Required
Description

settlement_address

str

No

Settlement contract (defaults to chain config)

Returns: dict — Relayer response with tx_hash

approve_ctf_for_settlement

Sign and submit a gasless CTF SetApprovalForAll permit to let the settlement contract transfer your conditional tokens.

Parameter
Type
Required
Description

settlement_address

str

No

Settlement contract (defaults to chain config)

Returns: dict — Relayer response with tx_hash

sign_usdc_permit

Sign an EIP-2612 permit for a specific USDC amount. Use this for per-order permits instead of the max permit.

Parameter
Type
Required
Description

value

int

Yes

Amount to approve (6 decimals; 1000000 = $1 USDC)

settlement_address

str

No

Spender address (defaults to chain config)

deadline

int

No

Expiration timestamp (default: 1 hour from now)

Returns: PermitSignature

approve_usdc

On-chain USDC approval (requires native gas). Alternative to permit-based approval for high-frequency scenarios.

Parameter
Type
Required
Description

amount

int

Yes

Amount to approve (6 decimals)

spender

str

No

Spender address (defaults to settlement)

Returns: str — Transaction hash

get_usdc_allowance

Query the current USDC allowance for a spender.

Parameter
Type
Required
Description

owner

str

No

Token owner (defaults to signer address)

spender

str

No

Spender (defaults to settlement contract)

Returns: int — Allowance in USDC (6 decimals)

claim_winnings

Claim winnings from a single resolved market via gasless permit.

This method:

1

Query on-chain

Queries the market contract on-chain for resolution status and condition data.

2

Check balance

Checks your balance of the winning token.

3

Sign permit

Signs an EIP-712 RedeemPositions permit.

4

Submit to relayer

Submits to the relayer for gasless execution.

Parameter
Type
Required
Description

market_contract_address

str

Yes

The market's contract address (not market ID)

Returns: dict — Relayer response with tx_hash

Raises: ValueError if the market is not resolved or you have no winning tokens.

batch_claim_winnings

Claim winnings from multiple resolved markets in a single batch transaction.

Markets that are not resolved or where you have no winning tokens are skipped automatically.

Parameter
Type
Required
Description

market_contract_addresses

list[str]

Yes

List of market contract addresses

Returns: dict — Relayer response with txHash

sync_permit_nonce

Resync the local permit nonce with the blockchain. Use after a permit failure or when nonces get out of sync.

Parameter
Type
Required
Description

contract_address

str

No

Token contract (defaults to USDC)

Returns: int — The current on-chain nonce


Static Methods

request_api_credentials

Register for API credentials by proving wallet ownership. This is a static method — no client instance needed.

Parameter
Type
Required
Description

host

str

Yes

API base URL

private_key

str

Yes

Wallet private key

name

str

No

Friendly name for the API key

Returns: dict with api_key_id, api_private_key, message

Raises: TurbineApiError with status 409 if the wallet already has a key.