{
  "additionalProperties": false,
  "description": "Parameters for `route.quote` and `route.subscribe`.",
  "properties": {
    "amount": {
      "description": "Exact-in amount in the {sell,buy} asset's base units (integer string, JS-safe). Must be > 0. Which asset depends on `side`.",
      "pattern": "^[1-9][0-9]*$",
      "type": "string"
    },
    "buy": {
      "description": "The bought asset, same format as `sell`.",
      "oneOf": [
        {
          "const": "bch",
          "type": "string"
        },
        {
          "description": "32-byte token category (display-order hex)",
          "pattern": "^[0-9a-fA-F]{64}$",
          "type": "string"
        }
      ]
    },
    "sell": {
      "description": "The sold asset: `\"bch\"` (case-insensitive) or a 32-byte CashToken category in display-order hex.",
      "oneOf": [
        {
          "const": "bch",
          "type": "string"
        },
        {
          "description": "32-byte token category (display-order hex)",
          "pattern": "^[0-9a-fA-F]{64}$",
          "type": "string"
        }
      ]
    },
    "side": {
      "description": "Which side `amount` fixes: `\"sell\"` or `\"buy\"`. Required. In buy mode the user specifies the desired output and the engine computes the required input.",
      "enum": [
        "sell",
        "buy"
      ],
      "type": "string"
    }
  },
  "required": [
    "sell",
    "buy",
    "amount",
    "side"
  ],
  "title": "QuoteParams",
  "type": "object"
}