CoW Swap · Schema
OrderQuoteResponse
An order quoted by the backend that can be directly signed and submitted to the order creation backend.
DeFiEthereumSwapLiquidityGovernanceAMM
Properties
| Name | Type | Description |
|---|---|---|
| quote | object | The quoted order parameters. These values can be used directly to create and sign an order. |
| from | object | The address of the trader for whom the quote was requested. |
| expiration | string | Expiration date of the offered fee. Order service might not accept the fee after this expiration date. Encoded as ISO 8601 UTC. |
| id | integer | Quote ID linked to a quote to enable providing more metadata when analysing order slippage. |
| verified | boolean | Whether it was possible to verify that the quoted amounts are accurate using a simulation. |
| protocolFeeBps | string | Protocol fee in basis points (e.g., "2" for 0.02%). This represents the volume-based fee policy. Only present when a volume fee is configured. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/cow-protocol/json-schema/cow-protocol-order-quote-response-schema.json",
"title": "OrderQuoteResponse",
"description": "An order quoted by the backend that can be directly signed and\nsubmitted to the order creation backend.\n",
"x-generated": "2026-10-28",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/orderbook.yml#/components/schemas/OrderQuoteResponse",
"type": "object",
"properties": {
"quote": {
"description": "The quoted order parameters. These values can be used directly to create and sign an order.\n",
"allOf": [
{
"$ref": "#/$defs/OrderParameters"
}
]
},
"from": {
"description": "The address of the trader for whom the quote was requested.\n",
"allOf": [
{
"$ref": "#/$defs/Address"
}
]
},
"expiration": {
"description": "Expiration date of the offered fee. Order service might not accept\nthe fee after this expiration date. Encoded as ISO 8601 UTC.\n",
"type": "string"
},
"id": {
"description": "Quote ID linked to a quote to enable providing more metadata when analysing order slippage.\n",
"type": "integer"
},
"verified": {
"description": "Whether it was possible to verify that the quoted amounts are accurate using a simulation.\n",
"type": "boolean"
},
"protocolFeeBps": {
"description": "Protocol fee in basis points (e.g., \"2\" for 0.02%). This represents the volume-based fee policy. Only present when a volume fee is configured.\n",
"type": "string"
}
},
"required": [
"quote",
"expiration",
"verified"
],
"$defs": {
"Address": {
"description": "20 byte Ethereum address encoded as a hex with `0x` prefix.",
"type": "string"
},
"AppData": {
"description": "The string encoding of a JSON object representing some `appData`. The\nformat of the JSON expected in the `appData` field is defined\n[here](https://github.com/cowprotocol/app-data).\n",
"type": "string"
},
"AppDataHash": {
"description": "32 bytes encoded as hex with `0x` prefix.\nIt's expected to be the hash of the stringified JSON object representing the `appData`.\n",
"type": "string"
},
"BuyTokenDestination": {
"description": "Where should the `buyToken` be transferred to?\n\n**Only `erc20` is accepted for new orders.** The `internal` (Balancer Vault)\ndestination is rejected at creation with `UnsupportedBuyTokenDestination`.\nThe value remains in the enum because it may still appear on historical\norders returned by the API.",
"type": "string",
"enum": [
"erc20",
"internal"
]
},
"OrderKind": {
"description": "Is this order a buy or sell?",
"type": "string",
"enum": [
"buy",
"sell"
]
},
"OrderParameters": {
"description": "Order parameters.",
"type": "object",
"properties": {
"sellToken": {
"description": "ERC-20 token to be sold.",
"allOf": [
{
"$ref": "#/$defs/Address"
}
]
},
"buyToken": {
"description": "ERC-20 token to be bought.",
"allOf": [
{
"$ref": "#/$defs/Address"
}
]
},
"receiver": {
"description": "An optional Ethereum address to receive the proceeds of the trade instead of the owner (i.e. the order signer).\n",
"allOf": [
{
"$ref": "#/$defs/Address"
}
],
"nullable": true
},
"sellAmount": {
"description": "Amount of `sellToken` to be sold in atoms.",
"allOf": [
{
"$ref": "#/$defs/TokenAmount"
}
]
},
"buyAmount": {
"description": "Amount of `buyToken` to be bought in atoms.",
"allOf": [
{
"$ref": "#/$defs/TokenAmount"
}
]
},
"validTo": {
"description": "Unix timestamp (`uint32`) until which the order is valid.",
"type": "integer"
},
"appData": {
"description": "The app data associated with the order. In quote responses, this can be either the full app data JSON string or the app data hash, depending on what was provided in the quote request.\n",
"oneOf": [
{
"$ref": "#/$defs/AppData"
},
{
"$ref": "#/$defs/AppDataHash"
}
]
},
"appDataHash": {
"description": "The hash of the app data. Only present when the full app data is also provided in the `appData` field.\n",
"allOf": [
{
"$ref": "#/$defs/AppDataHash"
}
]
},
"feeAmount": {
"description": "The fee amount in sell token atoms. For quote responses, this represents\nthe estimated network fee, calculated as:\n`feeAmount = ceil((gasAmount * gasPrice) / sellTokenPrice)`.\n\nWhen creating an order, this should be set to zero as fees are now\ncomputed dynamically by solvers.\n",
"allOf": [
{
"$ref": "#/$defs/TokenAmount"
}
]
},
"gasAmount": {
"description": "The estimated gas units required to execute the quoted trade.\n",
"type": "string"
},
"gasPrice": {
"description": "The estimated gas price at the time of quoting, measured in Wei per gas unit.\n",
"type": "string"
},
"sellTokenPrice": {
"description": "Represents how much one atomic unit of the sell token is worth\nin the network's native token (in Wei or the equivalent atom).\n",
"type": "string"
},
"kind": {
"description": "The kind is either a buy or sell order.",
"allOf": [
{
"$ref": "#/$defs/OrderKind"
}
]
},
"partiallyFillable": {
"description": "Is the order fill-or-kill or partially fillable?",
"type": "boolean"
},
"sellTokenBalance": {
"deprecated": true,
"description": "Where the sell token should be drawn from. Defaults to `erc20` for standard ERC-20 token transfers.\n",
"allOf": [
{
"$ref": "#/$defs/SellTokenSource"
}
],
"default": "erc20"
},
"buyTokenBalance": {
"deprecated": true,
"description": "Where the buy token should be transferred to. Defaults to `erc20` for standard ERC-20 token transfers.\n",
"allOf": [
{
"$ref": "#/$defs/BuyTokenDestination"
}
],
"default": "erc20"
},
"signingScheme": {
"description": "The signing scheme to use for the order. Defaults to `eip712` for standard typed data signing.\n",
"allOf": [
{
"$ref": "#/$defs/SigningScheme"
}
],
"default": "eip712"
}
},
"required": [
"sellToken",
"buyToken",
"sellAmount",
"buyAmount",
"validTo",
"appData",
"feeAmount",
"gasAmount",
"gasPrice",
"sellTokenPrice",
"kind",
"partiallyFillable"
]
},
"SellTokenSource": {
"description": "Where should the `sellToken` be drawn from?\n\n**Only `erc20` is accepted for new orders.** The `internal` and `external`\n(Balancer Vault) sources are deprecated: orders using them are rejected at\ncreation with `UnsupportedSellTokenSource`. The values remain in the enum\nbecause they may still appear on historical orders returned by the API.",
"type": "string",
"enum": [
"erc20",
"internal",
"external"
]
},
"SigningScheme": {
"description": "How was the order signed?",
"type": "string",
"enum": [
"eip712",
"ethsign",
"presign",
"eip1271"
]
},
"TokenAmount": {
"description": "Amount of a token. `uint256` encoded in decimal.",
"type": "string"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/cow-protocol-order-quote-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.