CoW Swap · Schema

SettleFastPathRequest

Request to the `/settle_fast_path` endpoint: settle the quote solution cached under `quoteId`, re-encoded against the real signed order, outside of a competition.

DeFiEthereumSwapLiquidityGovernanceAMM

Properties

Name Type Description
quoteId integer Id of the quote whose cached solution should be settled.
order object The real signed order the cached solution is re-encoded against.
limitPrices object The sell/buy amounts defining the exact price at which the order must be filled.
submissionDeadlineLatestBlock integer The last block number in which the solution TX can be included.
auctionId integer Auction ID allocated for this settlement. The quote was solved outside of any auction, but its settlement is still attributed to one.
View JSON Schema on GitHub

JSON Schema

cow-protocol-settle-fast-path-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/cow-protocol/json-schema/cow-protocol-settle-fast-path-request-schema.json",
  "title": "SettleFastPathRequest",
  "description": "Request to the `/settle_fast_path` endpoint: settle the quote solution cached under `quoteId`, re-encoded against the real signed order, outside of a competition.\n",
  "x-generated": "2026-10-28",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/driver.yml#/components/schemas/SettleFastPathRequest",
  "type": "object",
  "required": [
    "quoteId",
    "order",
    "limitPrices",
    "submissionDeadlineLatestBlock",
    "auctionId"
  ],
  "properties": {
    "quoteId": {
      "description": "Id of the quote whose cached solution should be settled.",
      "type": "integer"
    },
    "order": {
      "description": "The real signed order the cached solution is re-encoded against.",
      "allOf": [
        {
          "$ref": "#/$defs/Order"
        }
      ]
    },
    "limitPrices": {
      "description": "The sell/buy amounts defining the exact price at which the order must be filled.\n",
      "type": "object",
      "required": [
        "sell",
        "buy"
      ],
      "properties": {
        "sell": {
          "$ref": "#/$defs/TokenAmount"
        },
        "buy": {
          "$ref": "#/$defs/TokenAmount"
        }
      }
    },
    "submissionDeadlineLatestBlock": {
      "description": "The last block number in which the solution TX can be included.",
      "type": "integer"
    },
    "auctionId": {
      "description": "Auction ID allocated for this settlement. The quote was solved outside of any auction, but its settlement is still attributed to one.\n",
      "type": "integer"
    }
  },
  "$defs": {
    "Address": {
      "description": "20 byte Ethereum address encoded as a hex with `0x` prefix.",
      "type": "string"
    },
    "FeePolicy": {
      "description": "A fee policy that applies to an order.\nThe solver should make sure the fee policy is applied when computing their solution.\n",
      "type": "object",
      "oneOf": [
        {
          "$ref": "#/$defs/SurplusFee"
        },
        {
          "$ref": "#/$defs/PriceImprovement"
        },
        {
          "$ref": "#/$defs/VolumeFee"
        }
      ]
    },
    "Interaction": {
      "type": "object",
      "properties": {
        "target": {
          "$ref": "#/$defs/Address"
        },
        "value": {
          "$ref": "#/$defs/TokenAmount"
        },
        "callData": {
          "description": "Hex encoded bytes with `0x` prefix.",
          "type": "string"
        }
      }
    },
    "Order": {
      "description": "Order information like what is returned by the Orderbook apis.\n",
      "type": "object",
      "properties": {
        "uid": {
          "$ref": "#/$defs/OrderUID"
        },
        "sellToken": {
          "allOf": [
            {
              "description": "Token being sold"
            },
            {
              "$ref": "#/$defs/Address"
            }
          ]
        },
        "buyToken": {
          "allOf": [
            {
              "description": "Token being bought"
            },
            {
              "$ref": "#/$defs/Address"
            }
          ]
        },
        "sellAmount": {
          "allOf": [
            {
              "description": "Amount to be sold"
            },
            {
              "$ref": "#/$defs/TokenAmount"
            }
          ]
        },
        "buyAmount": {
          "allOf": [
            {
              "description": "Amount to be bought"
            },
            {
              "$ref": "#/$defs/TokenAmount"
            }
          ]
        },
        "created": {
          "description": "Creation time of the order. Denominated in epoch seconds.",
          "type": "string"
        },
        "validTo": {
          "description": "The time until which the order is valid.",
          "type": "integer"
        },
        "kind": {
          "type": "string",
          "enum": [
            "buy",
            "sell"
          ]
        },
        "receiver": {
          "allOf": [
            {
              "description": "The address that should receive the bought tokens."
            },
            {
              "$ref": "#/$defs/Address"
            }
          ]
        },
        "owner": {
          "allOf": [
            {
              "description": "The address that created the order."
            },
            {
              "$ref": "#/$defs/Address"
            }
          ]
        },
        "partiallyFillable": {
          "description": "Whether the order can be partially filled.\n\nIf this is false then the solver must fill the entire order or not\nat all.",
          "type": "boolean"
        },
        "executed": {
          "allOf": [
            {
              "description": "The amount that has already been filled."
            },
            {
              "$ref": "#/$defs/TokenAmount"
            }
          ]
        },
        "preInteractions": {
          "description": "Interactions that must be executed before the order can be filled.",
          "type": "array",
          "items": {
            "$ref": "#/$defs/Interaction"
          }
        },
        "postInteractions": {
          "description": "Interactions that must be executed after the order has been filled.",
          "type": "array",
          "items": {
            "$ref": "#/$defs/Interaction"
          }
        },
        "sellTokenBalance": {
          "deprecated": true,
          "description": "In practice only `erc20` occurs; `internal`/`external` (Balancer Vault)  are deprecated and rejected at order creation. Retained for compatibility.\n",
          "type": "string",
          "enum": [
            "erc20",
            "internal",
            "external"
          ]
        },
        "buyTokenBalance": {
          "deprecated": true,
          "description": "In practice only `erc20` occurs; `internal` (Balancer Vault) is rejected at order creation. Retained for compatibility.\n",
          "type": "string",
          "enum": [
            "erc20",
            "internal"
          ]
        },
        "class": {
          "deprecated": true,
          "description": "Every order is a `limit` order. The field is ignored by the driver, retained for compatibility and will be removed.\n",
          "type": "string",
          "enum": [
            "market",
            "limit"
          ],
          "default": "limit"
        },
        "appData": {
          "description": "32 bytes encoded as hex with `0x` prefix.",
          "type": "string"
        },
        "signingScheme": {
          "type": "string",
          "enum": [
            "eip712",
            "ethsign",
            "presign",
            "eip1271"
          ]
        },
        "signature": {
          "description": "Hex encoded bytes with `0x` prefix.",
          "type": "string"
        },
        "protocolFees": {
          "description": "Any protocol fee policies that apply to the order.\n\nThe solver should make sure the fee policy is applied when computing\ntheir solution.",
          "type": "array",
          "items": {
            "$ref": "#/$defs/FeePolicy"
          }
        },
        "quote": {
          "allOf": [
            {
              "description": "A winning quote."
            },
            {
              "$ref": "#/$defs/Quote"
            }
          ]
        },
        "penaltyCapNative": {
          "allOf": [
            {
              "description": "Cap on the penalty a solver can incur for winning this order\nbut failing to execute it, denominated in the native token."
            },
            {
              "$ref": "#/$defs/TokenAmount"
            }
          ]
        }
      },
      "required": [
        "uid",
        "sellToken",
        "buyToken",
        "sellAmount",
        "buyAmount",
        "created",
        "validTo",
        "kind",
        "receiver",
        "owner",
        "partiallyFillable",
        "executed",
        "preInteractions",
        "postInteractions",
        "sellTokenBalance",
        "buyTokenBalance",
        "appData",
        "signature",
        "protocolFees"
      ]
    },
    "OrderUID": {
      "description": "Unique identifier for the order: 56 bytes encoded as hex with `0x`\nprefix.\n\nBytes 0 to 32 are the order digest, bytes 30 to 52 the owner address and\nbytes 52..56 valid to,",
      "type": "string"
    },
    "PriceImprovement": {
      "description": "A cut from the price improvement over the best quote is taken as a protocol fee.\n",
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "priceImprovement"
          ]
        },
        "maxVolumeFactor": {
          "description": "Never charge more than that percentage of the order volume.",
          "type": "number"
        },
        "factor": {
          "description": "The factor of the user surplus that the protocol will request from the solver after settling the order",
          "type": "number"
        },
        "quote": {
          "$ref": "#/$defs/Quote"
        }
      }
    },
    "Quote": {
      "type": "object",
      "properties": {
        "sellAmount": {
          "$ref": "#/$defs/TokenAmount"
        },
        "buyAmount": {
          "$ref": "#/$defs/TokenAmount"
        },
        "fee": {
          "$ref": "#/$defs/TokenAmount"
        },
        "solver": {
          "$ref": "#/$defs/Address"
        }
      }
    },
    "SurplusFee": {
      "description": "If the order receives more than limit price, pay the protocol a factor of the difference.\n",
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "surplus"
          ]
        },
        "maxVolumeFactor": {
          "description": "Never charge more than that percentage of the order volume.",
          "type": "number"
        },
        "factor": {
          "description": "The factor of the user surplus that the protocol will request from the solver after settling the order",
          "type": "number"
        }
      }
    },
    "TokenAmount": {
      "description": "Amount of an ERC20 token. 256 bit unsigned integer in decimal notation.",
      "type": "string"
    },
    "VolumeFee": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "volume"
          ]
        },
        "factor": {
          "description": "The fraction of the order's volume that the protocol will request from the solver after settling the order.",
          "type": "number"
        }
      }
    }
  }
}

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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/cow-protocol-settle-fast-path-request"
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.