{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/getchord-xyz/json-schema/getchord-xyz-quote-response-schema.json",
  "title": "QuoteResponse",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/getchord-xyz-quote-and-swap-api-openapi.yml#/components/schemas/QuoteResponse",
  "type": "object",
  "properties": {
    "inputMint": {
      "type": "string",
      "pattern": "^0x[a-fA-F0-9]{40}$",
      "description": "EVM address, hex, case-insensitive."
    },
    "outputMint": {
      "type": "string",
      "pattern": "^0x[a-fA-F0-9]{40}$",
      "description": "EVM address, hex, case-insensitive."
    },
    "inputAmount": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Amount in the token's smallest unit, as a decimal string. Never a float."
    },
    "outputAmount": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Amount in the token's smallest unit, as a decimal string. Never a float."
    },
    "otherAmountThreshold": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Minimum output after fee and slippage — the number the transaction enforces."
    },
    "slippageBps": {
      "type": "integer",
      "description": ""
    },
    "priceImpactPct": {
      "type": "string",
      "description": "Percent, as a string, against the spot rate of the same route."
    },
    "routePlan": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/RouteLeg"
      },
      "description": "Empty with `outputAmount` \"0\" = no route (an honest answer, never a fabricated price)."
    },
    "noRouteReason": {
      "type": "string",
      "description": "Only when `routePlan` is empty: `INSUFFICIENT_LIQUIDITY` (try a smaller amount) or `NO_POOLS`."
    },
    "gasEstimate": {
      "type": "string",
      "description": "Gas units, from the venue quoter or the RPC."
    },
    "gasCostUSD": {
      "type": "string",
      "description": ""
    },
    "blockNumber": {
      "type": "integer",
      "description": ""
    },
    "timeTaken": {
      "type": "number",
      "description": "Engine seconds."
    },
    "feeBps": {
      "type": "integer",
      "description": "Protocol fee on the output token, per token on-chain (`FeeCollector.feeBpsFor`): 5 bps by default on every chain, 0 on the stablecoins and majors a chain exempts (USDC / EURC on Arc, WETH / USDG and stocks on Robinhood Chain), capped at 100."
    },
    "feeAmount": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Amount in the token's smallest unit, as a decimal string. Never a float."
    },
    "feeMint": {
      "type": "string",
      "pattern": "^0x[a-fA-F0-9]{40}$",
      "description": "EVM address, hex, case-insensitive."
    },
    "feeTier": {
      "type": "string",
      "description": "`major` · `stable` · `standard` · `meme` · `new`."
    },
    "preliminary": {
      "type": "boolean",
      "description": "Present only on `fast=1` answers: single-hop, ~400 ms, replace it with the full quote."
    }
  },
  "$defs": {
    "RouteLeg": {
      "type": "object",
      "properties": {
        "percent": {
          "type": "integer",
          "description": "Share of the input this leg carries."
        },
        "swapInfo": {
          "type": "object",
          "properties": {
            "dex": {
              "type": "string",
              "description": "Venue id (see Resources → Venue ids)."
            },
            "pool": {
              "type": "string",
              "description": "Pool address, or the 32-byte pool id on Uniswap V4."
            },
            "inputMint": {
              "type": "string",
              "pattern": "^0x[a-fA-F0-9]{40}$",
              "description": "EVM address, hex, case-insensitive."
            },
            "outputMint": {
              "type": "string",
              "pattern": "^0x[a-fA-F0-9]{40}$",
              "description": "EVM address, hex, case-insensitive."
            },
            "inputAmount": {
              "type": "string",
              "pattern": "^\\d+$",
              "description": "Amount in the token's smallest unit, as a decimal string. Never a float."
            },
            "outputAmount": {
              "type": "string",
              "pattern": "^\\d+$",
              "description": "Amount in the token's smallest unit, as a decimal string. Never a float."
            },
            "adapter": {
              "type": "string",
              "description": "The router adapter that executes this leg — from the engine, never hardcode."
            },
            "extraData": {
              "type": "string",
              "description": "Adapter-specific calldata for the leg."
            },
            "feeAmount": {
              "type": "string",
              "pattern": "^\\d+$",
              "description": "Amount in the token's smallest unit, as a decimal string. Never a float."
            },
            "feeMint": {
              "type": "string",
              "pattern": "^0x[a-fA-F0-9]{40}$",
              "description": "EVM address, hex, case-insensitive."
            }
          }
        }
      },
      "description": "One leg of the route."
    }
  }
}