Skip to main content
GET
/
api
/
v1
/
account
/
{owner}
/
orders
Get orders of one user paginated.
curl --request GET \
  --url https://api.cow.fi/mainnet/api/v1/account/{owner}/orders
[
  {
    "sellToken": "0x6810e776880c02933d47db1b9fc05908e5386b96",
    "buyToken": "0x6810e776880c02933d47db1b9fc05908e5386b96",
    "sellAmount": "1234567890",
    "buyAmount": "1234567890",
    "validTo": 123,
    "feeAmount": "1234567890",
    "kind": "buy",
    "partiallyFillable": true,
    "signingScheme": "eip712",
    "signature": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
    "appData": "{\"version\":\"0.9.0\",\"metadata\":{}}",
    "creationDate": "2020-12-03T18:35:18.814523Z",
    "class": "market",
    "owner": "0x6810e776880c02933d47db1b9fc05908e5386b96",
    "uid": "0xff2e2e54d178997f173266817c1e9ed6fee1a1aae4b43971c53b543cffcc2969845c6f5599fbb25dbdd1b9b013daf85c03f3c63763e4bc4a",
    "executedSellAmount": "1234567890",
    "executedSellAmountBeforeFees": "1234567890",
    "executedBuyAmount": "1234567890",
    "executedFeeAmount": "1234567890",
    "invalidated": true,
    "status": "presignaturePending",
    "settlementContract": "0x6810e776880c02933d47db1b9fc05908e5386b96",
    "receiver": "0x6810e776880c02933d47db1b9fc05908e5386b96",
    "sellTokenBalance": "erc20",
    "buyTokenBalance": "erc20",
    "from": "0x6810e776880c02933d47db1b9fc05908e5386b96",
    "quoteId": 123,
    "appDataHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "fullBalanceCheck": false,
    "availableBalance": "1234567890",
    "isLiquidityOrder": true,
    "ethflowData": {
      "refundTxHash": "0xd51f28edffcaaa76be4a22f6375ad289272c037f3cc072345676e88d92ced8b5",
      "userValidTo": 123
    },
    "onchainUser": "0x6810e776880c02933d47db1b9fc05908e5386b96",
    "onchainOrderData": {
      "sender": "0x6810e776880c02933d47db1b9fc05908e5386b96",
      "placementError": "QuoteNotFound"
    },
    "executedFee": "1234567890",
    "executedFeeToken": "0x6810e776880c02933d47db1b9fc05908e5386b96",
    "fullAppData": "<string>",
    "quote": {
      "gasAmount": "150000",
      "gasPrice": "15000000000",
      "sellTokenPrice": "1000000000",
      "sellAmount": "1234567890",
      "buyAmount": "1234567890",
      "feeAmount": "1234567890",
      "solver": "0x6810e776880c02933d47db1b9fc05908e5386b96",
      "verified": true,
      "metadata": {}
    },
    "interactions": {
      "pre": [
        {
          "target": "0x6810e776880c02933d47db1b9fc05908e5386b96",
          "value": "1234567890",
          "callData": "0xca11da7a"
        }
      ],
      "post": [
        {
          "target": "0x6810e776880c02933d47db1b9fc05908e5386b96",
          "value": "1234567890",
          "callData": "0xca11da7a"
        }
      ]
    }
  }
]

Path Parameters

owner
string
required

20 byte Ethereum address encoded as a hex with 0x prefix.

Example:

"0x6810e776880c02933d47db1b9fc05908e5386b96"

Query Parameters

offset
integer

The pagination offset. Defaults to 0.

limit
integer

The pagination limit. Defaults to 10. Maximum 1000. Minimum 1.

Response

The orders.

sellToken
string
required

see OrderParameters::sellToken

Example:

"0x6810e776880c02933d47db1b9fc05908e5386b96"

buyToken
string
required

see OrderParameters::buyToken

Example:

"0x6810e776880c02933d47db1b9fc05908e5386b96"

sellAmount
string
required

see OrderParameters::sellAmount

Example:

"1234567890"

buyAmount
string
required

see OrderParameters::buyAmount

Example:

"1234567890"

validTo
integer
required

see OrderParameters::validTo

feeAmount
string
required

see OrderParameters::feeAmount

Example:

"1234567890"

kind
enum<string>
required

see OrderParameters::kind

Available options:
buy,
sell
partiallyFillable
boolean
required

see OrderParameters::partiallyFillable

signingScheme
enum<string>
required

How was the order signed?

Available options:
eip712,
ethsign,
presign,
eip1271
signature
required

A signature.

Example:

"0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"

appData
required

This field comes in two forms for backward compatibility. The hash form will eventually stop being accepted.

Example:

"{\"version\":\"0.9.0\",\"metadata\":{}}"

creationDate
string
required

Creation time of the order. Encoded as ISO 8601 UTC.

Example:

"2020-12-03T18:35:18.814523Z"

class
enum<string>
required

The class of the order (market, limit, or liquidity). Determines how fees are handled.

Available options:
market,
limit,
liquidity
owner
string
required

The address that signed the order and owns it. For regular orders, this is the trader. For EIP 1271 orders, it's the respective contract (see onchainUser for the actual trader).

Example:

"0x6810e776880c02933d47db1b9fc05908e5386b96"

uid
string
required

Unique identifier of the order. Computed as the EIP-712 hash of the order data combined with the owner address and valid_to timestamp.

Example:

"0xff2e2e54d178997f173266817c1e9ed6fee1a1aae4b43971c53b543cffcc2969845c6f5599fbb25dbdd1b9b013daf85c03f3c63763e4bc4a"

executedSellAmount
string
required

The total amount of sellToken that has been transferred from the user for this order so far.

Example:

"1234567890"

executedSellAmountBeforeFees
string
required

The total amount of sellToken that has been transferred from the user for this order so far minus tokens that were transferred as part of the signed fee of the order. This is only relevant for old orders because now all orders have a signed fee of 0 and solvers compute an appropriate fee dynamically at the time of the order execution.

Example:

"1234567890"

executedBuyAmount
string
required

The total amount of buyToken that has been executed for this order.

Example:

"1234567890"

executedFeeAmount
string
required

[DEPRECATED] The total amount of the user signed fee that have been executed for this order. This value is only non-negative for very old orders.

Example:

"1234567890"

invalidated
boolean
required

Has this order been invalidated?

status
enum<string>
required

Order status.

Available options:
presignaturePending,
open,
fulfilled,
cancelled,
expired
settlementContract
string
required

The address of the CoW Protocol settlement contract that this order is valid for. Orders are only valid on the settlement contract they were signed for.

Example:

"0x6810e776880c02933d47db1b9fc05908e5386b96"

receiver
string

see OrderParameters::receiver

Example:

"0x6810e776880c02933d47db1b9fc05908e5386b96"

sellTokenBalance
enum<string>
default:erc20

see OrderParameters::sellTokenBalance

Available options:
erc20,
internal,
external
buyTokenBalance
enum<string>
default:erc20

see OrderParameters::buyTokenBalance

Available options:
erc20,
internal
from
string

If set, the backend enforces that this address matches what is decoded as the signer of the signature. This helps catch errors with invalid signature encodings as the backend might otherwise silently work with an unexpected address that for example does not have any balance.

Example:

"0x6810e776880c02933d47db1b9fc05908e5386b96"

quoteId
integer | null

Orders can optionally include a quote ID. This way the order can be linked to a quote and enable providing more metadata when analysing order slippage.

appDataHash
string

May be set for debugging purposes. If set, this field is compared to what the backend internally calculates as the app data hash based on the contents of appData. If the hash does not match, an error is returned. If this field is set, then appData MUST be a string encoding of a JSON object.

Example:

"0x0000000000000000000000000000000000000000000000000000000000000000"

fullBalanceCheck
boolean
default:false

If set to true, full sell amount will be checked during allowance and balance checking. This will ensure the account has correct allowance and available balance for the order to be created.

availableBalance
string
deprecated

Unused field that is currently always set to null and will be removed in the future.

Example:

"1234567890"

isLiquidityOrder
boolean

Liquidity orders are functionally the same as normal smart contract orders but are not placed with the intent of actively getting traded. Instead they facilitate the trade of normal orders by allowing them to be matched against liquidity orders which uses less gas and can have better prices than external liquidity.

As such liquidity orders will only be used in order to improve settlement of normal orders. They should not be expected to be traded otherwise and should not expect to get surplus.

ethflowData
object

Additional data specific to ethflow orders. Only present for orders placed through the EthFlow contract, which allows trading native ETH directly without wrapping to WETH first.

onchainUser
string

This represents the actual trader of an on-chain order.

ethflow orders

In this case, the owner would be the EthFlow contract and not the actual trader.

Example:

"0x6810e776880c02933d47db1b9fc05908e5386b96"

onchainOrderData
object

There is some data only available for orders that are placed on-chain. This data can be found in this object.

executedFee
string

Total fee charged for execution of the order. Contains network fee and protocol fees. This takes into account the historic static fee signed by the user and the new dynamic fee computed by solvers.

Example:

"1234567890"

executedFeeToken
string

Token the executed fee was captured in.

Example:

"0x6810e776880c02933d47db1b9fc05908e5386b96"

fullAppData
string | null

Full appData, which the contract-level appData is a hash of. See OrderCreation for more information.

quote
object

If the order was created with a quote, this field contains the original quote data for reference. Includes gas estimation and pricing information captured at the time of quoting, which can be used to analyze order execution and calculate fees.

interactions
object

Optional pre and post interactions associated with the order. Pre-interactions are executed before the order's trade, and post-interactions are executed after.

Last modified on March 17, 2026