Architecture
System Architecture
High-Level Architecture
┌─────────────────────────────────────────────────────────────────┐
│ Your Application │
└───────────────────────────┬─────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ opinion_clob_sdk.Client │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ API Layer (opinion_api) │ │
│ │ - Market data queries │ │
│ │ - Order submission │ │
│ │ - Position tracking │ │
│ └─────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Chain Layer (Web3) │ │
│ │ - Smart contract interactions │ │
│ │ - Token operations (split/merge/redeem) │ │
│ │ - Transaction signing │ │
│ └─────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Order Utils (EIP712) │ │
│ │ - Order building │ │
│ │ - Cryptographic signing │ │
│ │ - Gnosis Safe integration │ │
│ └─────────────────────────────────────────────────────────┘ │
└───────────┬──────────────────────────────────┬─────────────────┘
│ │
▼ ▼
┌─────────────────────────┐ ┌──────────────────────────────┐
│ Opinion CLOB API │ │ BNB Chain (BSC) │
│ - Order matching │ │ - ConditionalTokens │
│ - Market data │ │ - USDT (Collateral) │
│ - User positions │ │ - Gnosis Safe │
└─────────────────────────┘ └──────────────────────────────┘Core Components
1. Client (sdk.py)
sdk.py)2. API Layer (opinion_api)
opinion_api)3. Chain Layer (chain/contract_caller.py)
chain/contract_caller.py)Contract
Address
Purpose
4. Order Utils (chain/py_order_utils/)
chain/py_order_utils/)5. Gnosis Safe Integration (chain/safe/)
chain/safe/)Data Flow Patterns
Pattern 1: Market Data Query (Gas-Free)
Pattern 2: Order Placement (Gas-Free via CLOB)
Pattern 3: Smart Contract Operation (Gas Required)
Authentication & Security
Blockchain Signing
Precision and Number Handling
Token Decimals
Price Representation
Amount Specifications
Caching Strategy
Market Cache
Quote Token Cache
Real-Time Data
Error Handling Architecture
API Errors
Chain Errors
Performance Benchmarks
API Response Times
Operation
Typical Latency
Factors
Blockchain Transactions
Operation
Block Confirmation
Finality
Python Compatibility
Extensibility
Custom RPC Providers
Next Steps
Last updated