Skip to main content

Overview

The OrderBookApi 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
This is a “soft cancel” and may not prevent execution if the order is already being processed.

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

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:
This automatically routes requests through:
  • Production: https://partners.cow.fi
  • Staging: https://partners.barn.cow.fi

Custom Configuration

Rate Limiting

Retry Configuration

Custom Endpoints

Error Handling

See Also