Overview
TheOrderBookApi class provides direct access to the CoW Protocol OrderBook API. It handles quotes, order submission, order retrieval, cancellations, and trading data with built-in rate limiting, retries, and error handling.
Installation
Constructor
PartialApiContext
API configuration options
Basic Setup
Quote Methods
getQuote
Get a quote for an order before signing and submitting.OrderQuoteRequest
required
Quote request parameters
OrderQuoteResponse
Hydrated quote ready for signing
Example
Order Management Methods
sendOrder
Submit a signed order to the order book.OrderCreation
required
Signed order data
string
Unique order identifier
Example
getOrder
Retrieve order details by UID.string
required
Unique order identifier
EnrichedOrder
Complete order information
Example
getOrders
Get all orders for a specific owner.GetOrdersRequest
required
Query parameters
Array<EnrichedOrder>
List of orders
Example
getOrderMultiEnv
Attempt to get an order from multiple environments (prod/staging).string
required
Order UID
EnrichedOrder
Order found in any environment
Example
sendSignedOrderCancellations
Cancel one or more orders (off-chain).OrderCancellations
required
Signed cancellation request
Example
Trading Data Methods
getTrades
Get all trades for an owner or order.GetTradesRequest
required
Query parameters (must specify owner OR orderUid)
Array<Trade>
List of trades
Example
getTxOrders
Get all orders from a settlement transaction.string
required
Settlement transaction hash
Array<EnrichedOrder>
Orders settled in the transaction
Example
Price & Data Methods
getNativePrice
Get the native price of a token.string
required
ERC-20 token address
NativePriceResponse
Native price (e.g., ETH price on Ethereum)
Example
getTotalSurplus
Get total surplus earned by a user.string
required
User address
TotalSurplus
Total surplus information
Example
App Data Methods
getAppData
Retrieve full app data for a given hash.string
required
App data hash (bytes32)
AppDataObject
Full app data content
Example
uploadAppData
Upload app data to the OrderBook.string
required
App data hash (bytes32)
string
required
Full app data content (JSON string)
AppDataObject
Uploaded app data
Example
Competition & Analytics Methods
getSolverCompetition
Get solver competition details for an auction.number | string
required
Auction ID or transaction hash
SolverCompetitionResponse
Solver competition data
Example
getOrderCompetitionStatus
Get competition status while order is open.string
required
Order UID
CompetitionOrderStatus
Competition status
Utility Methods
getVersion
Get API version.string
API version string
getOrderLink
Generate API endpoint URL for an order.string
required
Order UID
string
Full API URL to get the order
Example
Partner API Usage
For authenticated access with higher rate limits:- Production:
https://partners.cow.fi - Staging:
https://partners.barn.cow.fi
Custom Configuration
Rate Limiting
Retry Configuration
Custom Endpoints
Error Handling
See Also
- TradingSdk - High-level trading interface
- OrderSigningUtils - Order signing utilities
- MetadataApi - Order metadata management