Client

Overview

The Client class provides the primary programmatic interface to the Opinion prediction market infrastructure. Configuration accuracy during initialization determines operational capability and security posture.

Basic Initialization

Minimal Configuration

from opinion_clob_sdk import Client

client = Client(
    host='https://proxy.opinion.trade:8443',
    apikey='your_api_key_here',
    chain_id=56,
    rpc_url='https://bsc-dataseed.binance.org',
    private_key='0x...',
    multi_sig_addr='0x...'
)

Required Parameters

host

Type: str

Description: CLOB API endpoint URL for HTTP communication.

Production Value:

Endpoint Functions:

  • Market data query routing

  • Order submission and cancellation processing

  • Position and balance data retrieval

apikey

Type: str

Description: Bearer token for API authentication and authorization.

Acquisition: Contact Opinion Labs at [email protected] for API access provisioning.

Security Best Practices:

chain_id

Type: int

Description: The blockchain network identifier.

Supported Values:

Current Support:

  • 56 - BNB Chain (BSC) Mainnet

rpc_url

Type: str

Description: JSON-RPC endpoint URL for BNB Chain node communication.

Available Providers:

private_key

Type: str

Description: secp256k1 private key for ECDSA signature generation (order signing and transaction authorization).

Format Specification:

multi_sig_addr

Type: str (ChecksumAddress)

Description: Ethereum address (checksummed format) holding USDT collateral and outcome tokens.

Gnosis Safe (Multi-Signature)

Optional Parameters

conditional_tokens_addr

Type: Optional[ChecksumAddress]

Default: 0xAD1a38cEc043e70E83a3eC30443dB285ED10D774 (BNB Chain)

Description: The ConditionalTokens smart contract address for split/merge/redeem operations.

When to Override:

  • Testing on custom networks

  • Interacting with forked contracts

  • Development environments

multisend_addr

Type: Optional[ChecksumAddress]

Default: 0x998739BFdAAdde7C933B942a68053933098f9EDa (BNB Chain)

Description: The Gnosis Safe MultiSend contract for batch transactions.

When to Override:

  • Testing batch operations

  • Custom Safe deployments

market_cache_ttl_seconds

Type: int

Default: 60 (1 minute)

Description: Time-to-live for cached market data.

Tuning Guidelines:

Trade-offs:

TTL
API Calls
Data Freshness
Use Case

0

Maximum

Real-time

HFT, critical decisions

60

Moderate

1-min delay OK

General trading

300+

Minimal

5-min+ delay OK

Analytics, monitoring

quote_token_cache_ttl_seconds

Type: int

Default: 3600 (1 hour)

Description: Time-to-live for cached quote token (currency) information.

Rationale: Quote tokens (USDT, etc.) rarely change, so aggressive caching is safe.

Validation and Error Handling

Validate Configuration

Test Connection

Common Initialization Errors

Error: Invalid Chain ID

Error: Invalid Private Key Format

Error: RPC Connection Failed

Error: API Authentication Failed

Performance Optimization

Connection Pooling

Caching Strategy

Next Steps

  • Order - Understanding market and limit orders

  • Gas Operations - When you need BNB for gas

  • Quick Start Guide - Your first API calls

Last updated