Skip to main content
GET
/
api
/
v2
/
trades
Get existing trades (paginated).
curl --request GET \
  --url https://api.cow.fi/mainnet/api/v2/trades
[
  {
    "blockNumber": 123,
    "logIndex": 123,
    "orderUid": "0xff2e2e54d178997f173266817c1e9ed6fee1a1aae4b43971c53b543cffcc2969845c6f5599fbb25dbdd1b9b013daf85c03f3c63763e4bc4a",
    "owner": "0x6810e776880c02933d47db1b9fc05908e5386b96",
    "sellToken": "0x6810e776880c02933d47db1b9fc05908e5386b96",
    "buyToken": "0x6810e776880c02933d47db1b9fc05908e5386b96",
    "sellAmount": "1234567890",
    "sellAmountBeforeFees": "1234567890",
    "buyAmount": "1234567890",
    "txHash": "0xd51f28edffcaaa76be4a22f6375ad289272c037f3cc072345676e88d92ced8b5",
    "executedProtocolFees": [
      {
        "policy": {
          "factor": 0.5,
          "maxVolumeFactor": 0.5
        },
        "amount": "1234567890",
        "token": "0x6810e776880c02933d47db1b9fc05908e5386b96"
      }
    ]
  }
]

Query Parameters

owner
string

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

Example:

"0x6810e776880c02933d47db1b9fc05908e5386b96"

orderUid
string

Unique identifier for the order: 56 bytes encoded as hex with 0x prefix.

Bytes 0..32 are the order digest, bytes 30..52 the owner address and bytes 52..56 the expiry (validTo) as a uint32 unix epoch timestamp.

Example:

"0xff2e2e54d178997f173266817c1e9ed6fee1a1aae4b43971c53b543cffcc2969845c6f5599fbb25dbdd1b9b013daf85c03f3c63763e4bc4a"

offset
integer

The pagination offset. Defaults to 0.

limit
integer

The maximum number of trades to return. Defaults to 10. Must be between 1 and 1000.

Required range: 1 <= x <= 1000

Response

200 - application/json

If owner is specified:

Return all trades related to that owner.

If orderUid is specified:

Return all trades related to that orderUid. Given that an order may be partially fillable, it is possible that an individual order may have multiple trades.

blockNumber
integer
required

Block in which trade occurred.

logIndex
integer
required

Index in which transaction was included in block.

orderUid
string
required

UID of the order matched by this trade.

Example:

"0xff2e2e54d178997f173266817c1e9ed6fee1a1aae4b43971c53b543cffcc2969845c6f5599fbb25dbdd1b9b013daf85c03f3c63763e4bc4a"

owner
string
required

Address of trader.

Example:

"0x6810e776880c02933d47db1b9fc05908e5386b96"

sellToken
string
required

Address of token sold.

Example:

"0x6810e776880c02933d47db1b9fc05908e5386b96"

buyToken
string
required

Address of token bought.

Example:

"0x6810e776880c02933d47db1b9fc05908e5386b96"

sellAmount
string
required

Total amount of sellToken that has been executed for this trade (including fees).

Example:

"1234567890"

sellAmountBeforeFees
string
required

The total amount of sellToken that has been executed for this order without fees.

Example:

"1234567890"

buyAmount
string
required

Total amount of buyToken received in this trade.

Example:

"1234567890"

txHash
string
required

Transaction hash of the corresponding settlement transaction containing the trade (if available).

Example:

"0xd51f28edffcaaa76be4a22f6375ad289272c037f3cc072345676e88d92ced8b5"

executedProtocolFees
object[]

Executed protocol fees for this trade, together with the fee policies used. Listed in the order they got applied.

Last modified on March 17, 2026