{
  "openapi": "3.1.0",
  "info": {
    "title": "Ekubo API",
    "version": "0.0.1",
    "description": "API for querying data about Ekubo Protocol",
    "contact": {
      "url": "https://ekubo.org",
      "email": "eng@ekubo.org"
    }
  },
  "externalDocs": {
    "url": "https://docs.ekubo.org",
    "description": "Official documentation"
  },
  "servers": [
    {
      "url": "https://prod-api.ekubo.org",
      "description": "Production"
    }
  ],
  "components": {
    "schemas": {},
    "parameters": {}
  },
  "paths": {
    "/tokens": {
      "get": {
        "tags": [
          "Meta"
        ],
        "summary": "List tokens",
        "description": "Get a list of tokens for the given chain ID",
        "operationId": "get_ListTokens",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "The ID of the network that is being fetched",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": false,
            "description": "The ID of the network that is being fetched",
            "name": "chainId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 32,
              "description": "Token symbol search"
            },
            "required": false,
            "description": "Token symbol search",
            "name": "search",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 10000,
              "default": 1000
            },
            "required": false,
            "name": "pageSize",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:\\d+|0x[a-fA-F0-9]+):0x[a-fA-F0-9]+$",
              "description": "The :-concatenated chain ID and token address for pagination",
              "example": "1:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
            },
            "required": false,
            "description": "The :-concatenated chain ID and token address for pagination",
            "name": "afterToken",
            "in": "query"
          },
          {
            "schema": {
              "type": [
                "integer",
                "null"
              ],
              "minimum": -100,
              "maximum": 100,
              "title": "Visibility Priority",
              "description": "Token visibility priority threshold"
            },
            "required": false,
            "description": "Token visibility priority threshold",
            "name": "minVisibilityPriority",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "List of tokens",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "chain_id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 100,
                        "description": "Name of the token"
                      },
                      "symbol": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 32,
                        "description": "Symbol for the token"
                      },
                      "decimals": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 78,
                        "description": "The number of decimals used for display of token balances"
                      },
                      "address": {
                        "type": "string",
                        "description": "The address of the token for the specified chain"
                      },
                      "visibility_priority": {
                        "type": "integer",
                        "description": "How much this token should be surfaced relative to other tokens (higher is better)"
                      },
                      "sort_order": {
                        "type": "integer",
                        "description": "How much the token should prefer to be the numerator when displayed in prices (higher is more numerator-like)"
                      },
                      "total_supply": {
                        "type": [
                          "integer",
                          "null"
                        ],
                        "minimum": 0,
                        "description": "The total supply of the token"
                      },
                      "logo_url": {
                        "type": "string",
                        "format": "uri"
                      },
                      "usd_price": {
                        "type": [
                          "number",
                          "null"
                        ],
                        "minimum": 0,
                        "description": "The USD price for one unit of the token"
                      },
                      "bridgeInfos": {
                        "type": [
                          "object",
                          "null"
                        ],
                        "additionalProperties": {
                          "type": "object",
                          "properties": {
                            "bridge_address": {
                              "type": "string",
                              "description": "Token address for the destination chain"
                            }
                          },
                          "required": [
                            "bridge_address"
                          ]
                        }
                      }
                    },
                    "required": [
                      "chain_id",
                      "name",
                      "symbol",
                      "decimals",
                      "address",
                      "visibility_priority",
                      "sort_order",
                      "total_supply",
                      "usd_price",
                      "bridgeInfos"
                    ]
                  },
                  "description": "Array of tokens"
                }
              }
            }
          }
        }
      }
    },
    "/tokens/batch": {
      "get": {
        "tags": [
          "Meta"
        ],
        "summary": "Batch tokens",
        "description": "Fetch metadata for a specific set of tokens",
        "operationId": "get_BatchGetTokens",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:\\d+|0x[a-fA-F0-9]+):0x[a-fA-F0-9]+$",
                "description": "Token identifier formatted as chain_id:token_address where chain_id may be decimal or 0x-prefixed hexadecimal"
              },
              "description": "Repeat the id parameter to fetch multiple tokens (e.g. ?id=1:0x...&id=0x1:0x...)",
              "example": "1:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
            },
            "required": true,
            "description": "Repeat the id parameter to fetch multiple tokens (e.g. ?id=1:0x...&id=0x1:0x...)",
            "name": "id",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Tokens",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "chain_id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 100,
                        "description": "Name of the token"
                      },
                      "symbol": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 32,
                        "description": "Symbol for the token"
                      },
                      "decimals": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 78,
                        "description": "The number of decimals used for display of token balances"
                      },
                      "address": {
                        "type": "string",
                        "description": "The address of the token for the specified chain"
                      },
                      "visibility_priority": {
                        "type": "integer",
                        "description": "How much this token should be surfaced relative to other tokens (higher is better)"
                      },
                      "sort_order": {
                        "type": "integer",
                        "description": "How much the token should prefer to be the numerator when displayed in prices (higher is more numerator-like)"
                      },
                      "total_supply": {
                        "type": [
                          "integer",
                          "null"
                        ],
                        "minimum": 0,
                        "description": "The total supply of the token"
                      },
                      "logo_url": {
                        "type": "string",
                        "format": "uri"
                      },
                      "usd_price": {
                        "type": [
                          "number",
                          "null"
                        ],
                        "minimum": 0,
                        "description": "The USD price for one unit of the token"
                      },
                      "bridgeInfos": {
                        "type": [
                          "object",
                          "null"
                        ],
                        "additionalProperties": {
                          "type": "object",
                          "properties": {
                            "bridge_address": {
                              "type": "string",
                              "description": "Token address for the destination chain"
                            }
                          },
                          "required": [
                            "bridge_address"
                          ]
                        }
                      }
                    },
                    "required": [
                      "chain_id",
                      "name",
                      "symbol",
                      "decimals",
                      "address",
                      "visibility_priority",
                      "sort_order",
                      "total_supply",
                      "usd_price",
                      "bridgeInfos"
                    ]
                  },
                  "description": "Array of tokens"
                }
              }
            }
          }
        }
      }
    },
    "/tokens/{chainId}/{tokenAddress}": {
      "get": {
        "tags": [
          "Meta"
        ],
        "summary": "Get token",
        "description": "Returns metadata for a specific token on the given chain",
        "operationId": "get_GetToken",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "The ID of the network that is being fetched",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": true,
            "description": "The ID of the network that is being fetched",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "tokenAddress",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Token information",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "chain_id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 100,
                      "description": "Name of the token"
                    },
                    "symbol": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 32,
                      "description": "Symbol for the token"
                    },
                    "decimals": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 78,
                      "description": "The number of decimals used for display of token balances"
                    },
                    "address": {
                      "type": "string",
                      "description": "The address of the token for the specified chain"
                    },
                    "visibility_priority": {
                      "type": "integer",
                      "description": "How much this token should be surfaced relative to other tokens (higher is better)"
                    },
                    "sort_order": {
                      "type": "integer",
                      "description": "How much the token should prefer to be the numerator when displayed in prices (higher is more numerator-like)"
                    },
                    "total_supply": {
                      "type": [
                        "integer",
                        "null"
                      ],
                      "minimum": 0,
                      "description": "The total supply of the token"
                    },
                    "logo_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "usd_price": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "minimum": 0,
                      "description": "The USD price for one unit of the token"
                    },
                    "bridgeInfos": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "bridge_address": {
                            "type": "string",
                            "description": "Token address for the destination chain"
                          }
                        },
                        "required": [
                          "bridge_address"
                        ]
                      }
                    }
                  },
                  "required": [
                    "chain_id",
                    "name",
                    "symbol",
                    "decimals",
                    "address",
                    "visibility_priority",
                    "sort_order",
                    "total_supply",
                    "usd_price",
                    "bridgeInfos"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Token not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "integer",
                      "description": "HTTP status code for the error"
                    },
                    "error": {
                      "type": "string",
                      "description": "Human-readable description of the error"
                    }
                  },
                  "required": [
                    "status",
                    "error"
                  ],
                  "additionalProperties": {},
                  "description": "Standard error response payload",
                  "example": {
                    "status": 404,
                    "error": "Token not found"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/blocks/{chainId}/closest": {
      "get": {
        "tags": [
          "Meta"
        ],
        "summary": "Get the block closest to a given timestamp",
        "description": "Returns the block whose timestamp is nearest to the provided timestamp",
        "operationId": "get_GetClosestBlock",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "The ID of the network that is being fetched",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": true,
            "description": "The ID of the network that is being fetched",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Timestamp to find the closest block for in the ISO string format",
              "example": "2025-11-10T00:00:00Z"
            },
            "required": true,
            "description": "Timestamp to find the closest block for in the ISO string format",
            "name": "timestamp",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "The block closest to the given timestamp",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "number": {
                      "type": "integer"
                    },
                    "timestamp": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "number",
                    "timestamp"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/blocks/{chainId}/{blockTag}": {
      "get": {
        "tags": [
          "Meta"
        ],
        "summary": "Get block",
        "description": "Get information about a particular block ingested by the API",
        "operationId": "get_GetBlock",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "The ID of the network that is being fetched",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": true,
            "description": "The ID of the network that is being fetched",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 160000
                },
                {
                  "type": "string",
                  "enum": [
                    "latest"
                  ]
                }
              ],
              "description": "The tag of the block to get or the number of a block containing events"
            },
            "required": true,
            "description": "The tag of the block to get or the number of a block containing events",
            "name": "blockTag",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The timestamp of the given block number",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "number": {
                      "type": "integer"
                    },
                    "timestamp": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "number",
                    "timestamp"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/country": {
      "get": {
        "tags": [
          "Meta"
        ],
        "summary": "Get request country",
        "description": "Returns the Cloudflare country code inferred from the request IP",
        "operationId": "get_GetCountry",
        "responses": {
          "200": {
            "description": "The request country as a two-letter Cloudflare country code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "country": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "minLength": 2,
                      "maxLength": 2
                    }
                  },
                  "required": [
                    "country"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/overview/pairs": {
      "get": {
        "tags": [
          "Stats"
        ],
        "summary": "Get pairs",
        "description": "Returns stats for the top pairs",
        "operationId": "get_GetOverviewPairs",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "The ID of the network that is being fetched",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": false,
            "description": "The ID of the network that is being fetched",
            "name": "chainId",
            "in": "query"
          },
          {
            "schema": {
              "type": [
                "number",
                "null"
              ],
              "minimum": 0,
              "default": 1000,
              "description": "Minimum USD TVL required for a pair to be included"
            },
            "required": false,
            "description": "Minimum USD TVL required for a pair to be included",
            "name": "minTvlUsd",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "The stats for the protocols top pairs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "topPairs": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "chain_id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "token0": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "number"
                              }
                            ]
                          },
                          "token1": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "number"
                              }
                            ]
                          },
                          "volume0_24h": {
                            "type": "string"
                          },
                          "volume1_24h": {
                            "type": "string"
                          },
                          "fees0_24h": {
                            "type": "string"
                          },
                          "fees1_24h": {
                            "type": "string"
                          },
                          "ve33_fees0_24h": {
                            "type": "string"
                          },
                          "ve33_fees1_24h": {
                            "type": "string"
                          },
                          "tvl0_total": {
                            "type": "string"
                          },
                          "tvl1_total": {
                            "type": "string"
                          },
                          "tvl0_delta_24h": {
                            "type": "string"
                          },
                          "tvl1_delta_24h": {
                            "type": "string"
                          },
                          "depth0": {
                            "type": "string"
                          },
                          "depth1": {
                            "type": "string"
                          },
                          "min_depth_percent": {
                            "type": [
                              "number",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "chain_id",
                          "token0",
                          "token1",
                          "volume0_24h",
                          "volume1_24h",
                          "fees0_24h",
                          "fees1_24h",
                          "ve33_fees0_24h",
                          "ve33_fees1_24h",
                          "tvl0_total",
                          "tvl1_total",
                          "tvl0_delta_24h",
                          "tvl1_delta_24h",
                          "depth0",
                          "depth1",
                          "min_depth_percent"
                        ]
                      }
                    }
                  },
                  "required": [
                    "topPairs"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/overview/boosted-fees-pools": {
      "get": {
        "tags": [
          "Stats"
        ],
        "summary": "Get boosted fees pools",
        "description": "Returns pools with boosted fees state, including current and scheduled donation deltas",
        "operationId": "get_GetOverviewBoostedFeesPools",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "The ID of the network that is being fetched",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": false,
            "description": "The ID of the network that is being fetched",
            "name": "chainId",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Pools with boosted fees data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "pools": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "chain_id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "token0": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "token1": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "pool_id": {
                            "type": "string"
                          },
                          "fee": {
                            "type": "string"
                          },
                          "tick_spacing": {
                            "type": "integer"
                          },
                          "core_address": {
                            "type": "string"
                          },
                          "extension": {
                            "type": "string"
                          },
                          "volume0_24h": {
                            "type": "string"
                          },
                          "volume1_24h": {
                            "type": "string"
                          },
                          "fees0_24h": {
                            "type": "string"
                          },
                          "fees1_24h": {
                            "type": "string"
                          },
                          "ve33_fees0_24h": {
                            "type": "string"
                          },
                          "ve33_fees1_24h": {
                            "type": "string"
                          },
                          "tvl0_total": {
                            "type": "string"
                          },
                          "tvl1_total": {
                            "type": "string"
                          },
                          "tvl0_delta_24h": {
                            "type": "string"
                          },
                          "tvl1_delta_24h": {
                            "type": "string"
                          },
                          "depth0": {
                            "type": "string"
                          },
                          "depth1": {
                            "type": "string"
                          },
                          "depth_percent": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "stableswap_params": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "properties": {
                              "center_tick": {
                                "type": "integer"
                              },
                              "amplification": {
                                "type": "integer"
                              }
                            },
                            "required": [
                              "center_tick",
                              "amplification"
                            ]
                          },
                          "boosts": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "properties": {
                              "donate_rate0": {
                                "type": "string"
                              },
                              "donate_rate1": {
                                "type": "string"
                              },
                              "last_donated_time": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "future_donation_deltas": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "time": {
                                      "type": "integer",
                                      "minimum": 0
                                    },
                                    "donate_rate_delta0": {
                                      "type": "string"
                                    },
                                    "donate_rate_delta1": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "time",
                                    "donate_rate_delta0",
                                    "donate_rate_delta1"
                                  ]
                                }
                              }
                            },
                            "required": [
                              "donate_rate0",
                              "donate_rate1",
                              "last_donated_time",
                              "future_donation_deltas"
                            ]
                          }
                        },
                        "required": [
                          "chain_id",
                          "token0",
                          "token1",
                          "pool_id",
                          "fee",
                          "tick_spacing",
                          "core_address",
                          "extension",
                          "volume0_24h",
                          "volume1_24h",
                          "fees0_24h",
                          "fees1_24h",
                          "ve33_fees0_24h",
                          "ve33_fees1_24h",
                          "tvl0_total",
                          "tvl1_total",
                          "tvl0_delta_24h",
                          "tvl1_delta_24h",
                          "depth0",
                          "depth1",
                          "depth_percent",
                          "stableswap_params",
                          "boosts"
                        ]
                      }
                    }
                  },
                  "required": [
                    "pools"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/overview/revenue": {
      "get": {
        "tags": [
          "Stats"
        ],
        "summary": "Get revenue",
        "description": "Returns the revenue stats for the protocol",
        "operationId": "get_GetOverviewRevenue",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "The ID of the network that is being fetched",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": false,
            "description": "The ID of the network that is being fetched",
            "name": "chainId",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "The revenue stats for the protocol",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "revenueByTokenByDate": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "token": {
                            "type": "string"
                          },
                          "revenue": {
                            "type": "string"
                          },
                          "chain_id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "date": {
                            "anyOf": [
                              {
                                "type": "string",
                                "format": "date-time"
                              },
                              {
                                "type": "string"
                              }
                            ]
                          }
                        },
                        "required": [
                          "token",
                          "revenue",
                          "chain_id",
                          "date"
                        ]
                      }
                    },
                    "revenueByToken_24h": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "token": {
                            "type": "string"
                          },
                          "revenue": {
                            "type": "string"
                          },
                          "chain_id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          }
                        },
                        "required": [
                          "token",
                          "revenue",
                          "chain_id"
                        ]
                      }
                    }
                  },
                  "required": [
                    "revenueByTokenByDate",
                    "revenueByToken_24h"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/overview/tvl": {
      "get": {
        "tags": [
          "Stats"
        ],
        "summary": "Get TVL",
        "description": "Returns the TVL portion of the overview",
        "operationId": "get_GetOverviewTvl",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "The ID of the network that is being fetched",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": false,
            "description": "The ID of the network that is being fetched",
            "name": "chainId",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "The TVL stats",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "tvlByToken": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "token": {
                            "type": "string"
                          },
                          "balance": {
                            "type": "string"
                          },
                          "chain_id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          }
                        },
                        "required": [
                          "token",
                          "balance",
                          "chain_id"
                        ]
                      }
                    },
                    "tvlDeltaByTokenByDate": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "token": {
                            "type": "string"
                          },
                          "date": {
                            "anyOf": [
                              {
                                "type": "string",
                                "format": "date-time"
                              },
                              {
                                "type": "string"
                              }
                            ]
                          },
                          "delta": {
                            "type": "string"
                          },
                          "chain_id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          }
                        },
                        "required": [
                          "token",
                          "date",
                          "delta",
                          "chain_id"
                        ]
                      }
                    }
                  },
                  "required": [
                    "tvlByToken",
                    "tvlDeltaByTokenByDate"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/overview/volume": {
      "get": {
        "tags": [
          "Stats"
        ],
        "summary": "Get volume",
        "description": "Returns the volume portion of the overview",
        "operationId": "get_GetOverviewVolume",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "The ID of the network that is being fetched",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": false,
            "description": "The ID of the network that is being fetched",
            "name": "chainId",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "The volume stats for the protocol",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "volumeByTokenByDate": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "token": {
                            "type": "string"
                          },
                          "volume": {
                            "type": "string"
                          },
                          "fees": {
                            "type": "string"
                          },
                          "ve33_fees": {
                            "type": "string"
                          },
                          "chain_id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "date": {
                            "anyOf": [
                              {
                                "type": "string",
                                "format": "date-time"
                              },
                              {
                                "type": "string"
                              }
                            ]
                          }
                        },
                        "required": [
                          "token",
                          "volume",
                          "fees",
                          "ve33_fees",
                          "chain_id",
                          "date"
                        ]
                      }
                    },
                    "volumeByToken_24h": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "token": {
                            "type": "string"
                          },
                          "volume": {
                            "type": "string"
                          },
                          "fees": {
                            "type": "string"
                          },
                          "ve33_fees": {
                            "type": "string"
                          },
                          "chain_id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          }
                        },
                        "required": [
                          "token",
                          "volume",
                          "fees",
                          "ve33_fees",
                          "chain_id"
                        ]
                      }
                    }
                  },
                  "required": [
                    "volumeByTokenByDate",
                    "volumeByToken_24h"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/pair/{chainId}/{tokenA}/{tokenB}/tvl": {
      "get": {
        "tags": [
          "Stats"
        ],
        "summary": "Get pair TVL",
        "description": "Returns TVL stats for the pair",
        "operationId": "get_GetPairInfoTvl",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "The ID of the network that is being fetched",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": true,
            "description": "The ID of the network that is being fetched",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "tokenA",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "tokenB",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "Restrict results to pools with the given core address."
            },
            "required": false,
            "description": "Restrict results to pools with the given core address.",
            "name": "coreAddress",
            "in": "query"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "Restrict results to pools with the given pool id."
            },
            "required": false,
            "description": "Restrict results to pools with the given pool id.",
            "name": "poolId",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about the token pair TVL",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "tvlByToken": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "token": {
                            "type": "string"
                          },
                          "balance": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "token",
                          "balance"
                        ]
                      }
                    },
                    "tvlDeltaByTokenByDate": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "token": {
                            "type": "string"
                          },
                          "date": {
                            "anyOf": [
                              {
                                "type": "string",
                                "format": "date-time"
                              },
                              {
                                "type": "string"
                              }
                            ]
                          },
                          "delta": {
                            "type": "string"
                          },
                          "chain_id": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "token",
                          "date",
                          "delta",
                          "chain_id"
                        ]
                      }
                    }
                  },
                  "required": [
                    "tvlByToken",
                    "tvlDeltaByTokenByDate"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/pair/{chainId}/{tokenA}/{tokenB}/volume": {
      "get": {
        "tags": [
          "Stats"
        ],
        "summary": "Get pair volume",
        "description": "Returns volume stats for a given trading pair",
        "operationId": "get_GetPairInfoVolume",
        "parameters": [
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "A number represented in hexadecimal or decimal"
            },
            "required": true,
            "description": "A number represented in hexadecimal or decimal",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "tokenA",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "tokenB",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "Restrict results to pools with the given core address."
            },
            "required": false,
            "description": "Restrict results to pools with the given core address.",
            "name": "coreAddress",
            "in": "query"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "Restrict results to pools with the given pool id."
            },
            "required": false,
            "description": "Restrict results to pools with the given pool id.",
            "name": "poolId",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about the token pair volume",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "chain_id": {
                      "type": "string"
                    },
                    "volumeByTokenByDate": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "token": {
                            "type": "string"
                          },
                          "volume": {
                            "type": "string"
                          },
                          "fees": {
                            "type": "string"
                          },
                          "ve33_fees": {
                            "type": "string"
                          },
                          "date": {
                            "anyOf": [
                              {
                                "type": "string",
                                "format": "date-time"
                              },
                              {
                                "type": "string"
                              }
                            ]
                          }
                        },
                        "required": [
                          "token",
                          "volume",
                          "fees",
                          "ve33_fees",
                          "date"
                        ]
                      }
                    },
                    "volumeByToken_24h": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "token": {
                            "type": "string"
                          },
                          "volume": {
                            "type": "string"
                          },
                          "fees": {
                            "type": "string"
                          },
                          "ve33_fees": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "token",
                          "volume",
                          "fees",
                          "ve33_fees"
                        ]
                      }
                    }
                  },
                  "required": [
                    "chain_id",
                    "volumeByTokenByDate",
                    "volumeByToken_24h"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/pair/{chainId}/{tokenA}/{tokenB}/pools": {
      "get": {
        "tags": [
          "Stats"
        ],
        "summary": "Get pools of pair",
        "description": "Returns pool info for a pair",
        "operationId": "get_GetPairInfoPools",
        "parameters": [
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "A number represented in hexadecimal or decimal"
            },
            "required": true,
            "description": "A number represented in hexadecimal or decimal",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "tokenA",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "tokenB",
            "in": "path"
          },
          {
            "schema": {
              "type": [
                "number",
                "null"
              ],
              "minimum": 0,
              "default": 1000,
              "description": "Minimum USD TVL required for a pool to be included"
            },
            "required": false,
            "description": "Minimum USD TVL required for a pool to be included",
            "name": "minTvlUsd",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about the pools of a token pair",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "topPools": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "pool_id": {
                            "type": "string"
                          },
                          "fee": {
                            "type": "string"
                          },
                          "tick_spacing": {
                            "type": "integer"
                          },
                          "core_address": {
                            "type": "string"
                          },
                          "extension": {
                            "type": "string"
                          },
                          "volume0_24h": {
                            "type": "string"
                          },
                          "volume1_24h": {
                            "type": "string"
                          },
                          "fees0_24h": {
                            "type": "string"
                          },
                          "fees1_24h": {
                            "type": "string"
                          },
                          "ve33_fees0_24h": {
                            "type": "string"
                          },
                          "ve33_fees1_24h": {
                            "type": "string"
                          },
                          "tvl0_total": {
                            "type": "string"
                          },
                          "tvl1_total": {
                            "type": "string"
                          },
                          "tvl0_delta_24h": {
                            "type": "string"
                          },
                          "tvl1_delta_24h": {
                            "type": "string"
                          },
                          "depth0": {
                            "type": "string"
                          },
                          "depth1": {
                            "type": "string"
                          },
                          "depth_percent": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "stableswap_params": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "properties": {
                              "center_tick": {
                                "type": "integer"
                              },
                              "amplification": {
                                "type": "integer"
                              }
                            },
                            "required": [
                              "center_tick",
                              "amplification"
                            ]
                          },
                          "boosts": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "properties": {
                              "donate_rate0": {
                                "type": "string"
                              },
                              "donate_rate1": {
                                "type": "string"
                              },
                              "last_donated_time": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "future_donation_deltas": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "time": {
                                      "type": "integer",
                                      "minimum": 0
                                    },
                                    "donate_rate_delta0": {
                                      "type": "string"
                                    },
                                    "donate_rate_delta1": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "time",
                                    "donate_rate_delta0",
                                    "donate_rate_delta1"
                                  ]
                                }
                              }
                            },
                            "required": [
                              "donate_rate0",
                              "donate_rate1",
                              "last_donated_time",
                              "future_donation_deltas"
                            ]
                          }
                        },
                        "required": [
                          "pool_id",
                          "fee",
                          "tick_spacing",
                          "core_address",
                          "extension",
                          "volume0_24h",
                          "volume1_24h",
                          "fees0_24h",
                          "fees1_24h",
                          "ve33_fees0_24h",
                          "ve33_fees1_24h",
                          "tvl0_total",
                          "tvl1_total",
                          "tvl0_delta_24h",
                          "tvl1_delta_24h",
                          "depth0",
                          "depth1",
                          "depth_percent",
                          "stableswap_params",
                          "boosts"
                        ]
                      }
                    }
                  },
                  "required": [
                    "topPools"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/tokens/{chainId}/{tokenAddress}/price-history": {
      "get": {
        "tags": [
          "Prices"
        ],
        "summary": "Get token USD price history",
        "description": "Returns bounded USD price history for a token, sampled from the latest price in each interval",
        "operationId": "get_GetTokenUsdPriceHistory",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "The ID of the network that is being fetched",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": true,
            "description": "The ID of the network that is being fetched",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "tokenAddress",
            "in": "path"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 60,
              "maximum": 86400,
              "default": 900,
              "description": "Bucket size in seconds"
            },
            "required": false,
            "description": "Bucket size in seconds",
            "name": "interval",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 3600,
              "maximum": 86400,
              "default": 86400,
              "description": "History duration in seconds, up to 24 hours"
            },
            "required": false,
            "description": "History duration in seconds, up to 24 hours",
            "name": "duration",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "The token's USD price history",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "timestamp": {
                      "type": "integer"
                    },
                    "start": {
                      "type": "integer"
                    },
                    "end": {
                      "type": "integer"
                    },
                    "interval": {
                      "type": "integer"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "start": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "string",
                                "format": "date-time"
                              }
                            ]
                          },
                          "price": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          }
                        },
                        "required": [
                          "start",
                          "price"
                        ]
                      }
                    }
                  },
                  "required": [
                    "timestamp",
                    "start",
                    "end",
                    "interval",
                    "data"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Token not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "integer",
                      "description": "HTTP status code for the error"
                    },
                    "error": {
                      "type": "string",
                      "description": "Human-readable description of the error"
                    }
                  },
                  "required": [
                    "status",
                    "error"
                  ],
                  "additionalProperties": {},
                  "description": "Standard error response payload",
                  "example": {
                    "status": 404,
                    "error": "Token not found"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/price/{chainId}/{baseToken}/{quoteToken}/history": {
      "get": {
        "tags": [
          "Prices"
        ],
        "summary": "Get price history",
        "description": "Get the VWAP-based price history for the given pair",
        "operationId": "get_GetPairPriceHistory",
        "parameters": [
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network",
              "example": "0x0"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "baseToken",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network",
              "example": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "quoteToken",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "A number represented in hexadecimal or decimal",
              "example": "1"
            },
            "required": true,
            "description": "A number represented in hexadecimal or decimal",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 60
            },
            "required": false,
            "name": "interval",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "The price history of the pair",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "timestamp": {
                      "type": "integer"
                    },
                    "start": {
                      "type": "integer"
                    },
                    "end": {
                      "type": "integer"
                    },
                    "interval": {
                      "type": "integer"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "start": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "string",
                                "format": "date-time"
                              }
                            ]
                          },
                          "vwap": {
                            "type": "number"
                          },
                          "max": {
                            "type": "number"
                          },
                          "min": {
                            "type": "number"
                          },
                          "k_volume": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "start",
                          "vwap",
                          "max",
                          "min",
                          "k_volume"
                        ]
                      }
                    }
                  },
                  "required": [
                    "timestamp",
                    "start",
                    "end",
                    "interval",
                    "data"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/pools/{chainId}/{coreAddress}/{poolId}/price/history": {
      "get": {
        "tags": [
          "Prices"
        ],
        "summary": "Get pool price history",
        "description": "Returns pool OHLC history with swap candles and TWAMM-projected tail fill when needed",
        "operationId": "get_GetPoolPriceHistory",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "The ID of the network that is being fetched",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": true,
            "description": "The ID of the network that is being fetched",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network",
              "example": "0xabcd"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "coreAddress",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "A number represented in hexadecimal or decimal",
              "example": "1"
            },
            "required": true,
            "description": "A number represented in hexadecimal or decimal",
            "name": "poolId",
            "in": "path"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "description": "Bucket size in seconds"
            },
            "required": false,
            "description": "Bucket size in seconds",
            "name": "interval",
            "in": "query"
          },
          {
            "schema": {
              "type": [
                "integer",
                "null"
              ],
              "minimum": 0,
              "description": "Unix timestamp (seconds)"
            },
            "required": false,
            "description": "Unix timestamp (seconds)",
            "name": "start",
            "in": "query"
          },
          {
            "schema": {
              "type": [
                "integer",
                "null"
              ],
              "minimum": 0,
              "description": "Unix timestamp (seconds)"
            },
            "required": false,
            "description": "Unix timestamp (seconds)",
            "name": "end",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Pool-level price history and TWAMM metadata for charting",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "timestamp": {
                      "type": "integer"
                    },
                    "start": {
                      "type": "integer"
                    },
                    "end": {
                      "type": "integer"
                    },
                    "interval": {
                      "type": "integer"
                    },
                    "token0": {
                      "type": "string"
                    },
                    "token1": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "start": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "string",
                                "format": "date-time"
                              }
                            ]
                          },
                          "open": {
                            "type": "number"
                          },
                          "high": {
                            "type": "number"
                          },
                          "low": {
                            "type": "number"
                          },
                          "close": {
                            "type": "number"
                          }
                        },
                        "required": [
                          "start",
                          "open",
                          "high",
                          "low",
                          "close"
                        ]
                      }
                    }
                  },
                  "required": [
                    "timestamp",
                    "start",
                    "end",
                    "interval",
                    "token0",
                    "token1",
                    "data"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/pools/{chainId}/{coreAddress}/{poolId}/liquidity": {
      "get": {
        "tags": [
          "Swap"
        ],
        "summary": "Get pool liquidity",
        "description": "Returns the liquidity delta for each tick for the given pool key hash",
        "operationId": "get_GetPoolLiquidity",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "The ID of the network that is being fetched",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": true,
            "description": "The ID of the network that is being fetched",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network",
              "example": "0xabcd"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "coreAddress",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "A number represented in hexadecimal or decimal",
              "example": "1"
            },
            "required": true,
            "description": "A number represented in hexadecimal or decimal",
            "name": "poolId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The current liquidity chart for the given pool key hash",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "tick": {
                            "type": "string"
                          },
                          "net_liquidity_delta_diff": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "tick",
                          "net_liquidity_delta_diff"
                        ]
                      }
                    }
                  },
                  "required": [
                    "data"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/pools/{chainId}/{coreAddress}/{poolId}/key": {
      "get": {
        "tags": [
          "Swap"
        ],
        "summary": "Get pool key",
        "description": "Returns the pool key details for the given core address and pool id",
        "operationId": "get_GetPoolKey",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "The ID of the network that is being fetched",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": true,
            "description": "The ID of the network that is being fetched",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network",
              "example": "0xabcd"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "coreAddress",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "A number represented in hexadecimal or decimal",
              "example": "1"
            },
            "required": true,
            "description": "A number represented in hexadecimal or decimal",
            "name": "poolId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Pool key details for the given pool",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "pool_key": {
                      "type": "object",
                      "properties": {
                        "token0": {
                          "type": "string"
                        },
                        "token1": {
                          "type": "string"
                        },
                        "fee": {
                          "type": "string"
                        },
                        "tick_spacing": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "extension": {
                          "type": "string"
                        },
                        "stableswap_params": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "center_tick": {
                              "type": "integer"
                            },
                            "amplification": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "center_tick",
                            "amplification"
                          ]
                        }
                      },
                      "required": [
                        "token0",
                        "token1",
                        "fee",
                        "tick_spacing",
                        "extension",
                        "stableswap_params"
                      ]
                    }
                  },
                  "required": [
                    "pool_key"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/poolKeys/{chainId}/{coreAddress}/{poolId}": {
      "get": {
        "tags": [
          "Swap"
        ],
        "summary": "Get pool key by pool id",
        "description": "Returns the pool key and latest indexed state for the given core address and pool id",
        "operationId": "get_GetPoolKeyById",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "The ID of the network that is being fetched",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": true,
            "description": "The ID of the network that is being fetched",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network",
              "example": "0xabcd"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "coreAddress",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "A number represented in hexadecimal or decimal",
              "example": "1"
            },
            "required": true,
            "description": "A number represented in hexadecimal or decimal",
            "name": "poolId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Pool key and indexed state for the given pool",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "pool_id": {
                      "type": "string"
                    },
                    "pool_key": {
                      "type": "object",
                      "properties": {
                        "token0": {
                          "type": "string"
                        },
                        "token1": {
                          "type": "string"
                        },
                        "fee": {
                          "type": "string"
                        },
                        "tick_spacing": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "extension": {
                          "type": "string"
                        },
                        "stableswap_params": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "center_tick": {
                              "type": "integer"
                            },
                            "amplification": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "center_tick",
                            "amplification"
                          ]
                        },
                        "config": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      },
                      "required": [
                        "token0",
                        "token1",
                        "fee",
                        "tick_spacing",
                        "extension",
                        "stableswap_params",
                        "config"
                      ]
                    },
                    "state": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "properties": {
                        "sqrt_ratio": {
                          "type": "string",
                          "pattern": "^\\d+e?\\d*$",
                          "description": "A decimal number"
                        },
                        "tick": {
                          "type": "integer"
                        },
                        "liquidity": {
                          "type": "string",
                          "pattern": "^\\d+e?\\d*$",
                          "description": "A decimal number"
                        }
                      },
                      "required": [
                        "sqrt_ratio",
                        "tick",
                        "liquidity"
                      ]
                    }
                  },
                  "required": [
                    "pool_id",
                    "pool_key",
                    "state"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/poolKeys/{chainId}/{coreAddress}": {
      "get": {
        "tags": [
          "Swap"
        ],
        "summary": "List pool keys",
        "description": "Enumerates initialized pool keys for one core deployment in ascending pool_id order with keyset pagination, optionally filtered by one token (either side), an exact pair, or an extension",
        "operationId": "get_ListPoolKeys",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "The ID of the network that is being fetched",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": true,
            "description": "The ID of the network that is being fetched",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network",
              "example": "0xabcd"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "coreAddress",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "Keep only pools containing this token on either side; with tokenB, the exact pair (order-insensitive)"
            },
            "required": false,
            "description": "Keep only pools containing this token on either side; with tokenB, the exact pair (order-insensitive)",
            "name": "tokenA",
            "in": "query"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "Second token of an exact pair filter"
            },
            "required": false,
            "description": "Second token of an exact pair filter",
            "name": "tokenB",
            "in": "query"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "Keep only pools using this extension; 0x0 selects extensionless pools"
            },
            "required": false,
            "description": "Keep only pools using this extension; 0x0 selects extensionless pools",
            "name": "extension",
            "in": "query"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "Return pools whose pool_id is strictly greater; use next_cursor to continue"
            },
            "required": false,
            "description": "Return pools whose pool_id is strictly greater; use next_cursor to continue",
            "name": "after",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 100,
              "description": "Maximum number of pools to return"
            },
            "required": false,
            "description": "Maximum number of pools to return",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "One ascending pool_id-ordered page of pool keys; an unknown chain or core yields an empty page",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "pools": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "pool_id": {
                            "type": "string"
                          },
                          "pool_key": {
                            "type": "object",
                            "properties": {
                              "token0": {
                                "type": "string"
                              },
                              "token1": {
                                "type": "string"
                              },
                              "fee": {
                                "type": "string"
                              },
                              "tick_spacing": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "extension": {
                                "type": "string"
                              },
                              "stableswap_params": {
                                "type": [
                                  "object",
                                  "null"
                                ],
                                "properties": {
                                  "center_tick": {
                                    "type": "integer"
                                  },
                                  "amplification": {
                                    "type": "integer"
                                  }
                                },
                                "required": [
                                  "center_tick",
                                  "amplification"
                                ]
                              },
                              "config": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            },
                            "required": [
                              "token0",
                              "token1",
                              "fee",
                              "tick_spacing",
                              "extension",
                              "stableswap_params",
                              "config"
                            ]
                          },
                          "state": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "properties": {
                              "sqrt_ratio": {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              },
                              "tick": {
                                "type": "integer"
                              },
                              "liquidity": {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              }
                            },
                            "required": [
                              "sqrt_ratio",
                              "tick",
                              "liquidity"
                            ]
                          }
                        },
                        "required": [
                          "pool_id",
                          "pool_key",
                          "state"
                        ]
                      }
                    },
                    "next_cursor": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "has_more": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "pools",
                    "next_cursor",
                    "has_more"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/tokens/{chainId}/{tokenA}/{tokenB}/liquidity": {
      "get": {
        "tags": [
          "Stats"
        ],
        "summary": "Get pair liquidity",
        "description": "Returns the liquidity chart for the given token pair, aggregated across all pools",
        "operationId": "get_GetPairLiquidity",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "The ID of the network that is being fetched",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": true,
            "description": "The ID of the network that is being fetched",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "tokenA",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "tokenB",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "For each tick for pools of the pair, the liquidity delta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "tick": {
                            "type": "string"
                          },
                          "net_liquidity_delta_diff": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "tick",
                          "net_liquidity_delta_diff"
                        ]
                      }
                    }
                  },
                  "required": [
                    "data"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/pair/{chainId}/{tokenA}/{tokenB}/positions": {
      "get": {
        "tags": [
          "Stats"
        ],
        "summary": "Get top positions for pair",
        "description": "Returns the top positions (by liquidity) for the given trading pair",
        "operationId": "get_GetPairTopPositions",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "The ID of the network that is being fetched",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": true,
            "description": "The ID of the network that is being fetched",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "tokenA",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "tokenB",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "Restrict results to pools with the given core address."
            },
            "required": false,
            "description": "Restrict results to pools with the given core address.",
            "name": "coreAddress",
            "in": "query"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "Restrict results to pools with the given pool id."
            },
            "required": false,
            "description": "Restrict results to pools with the given pool id.",
            "name": "poolId",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50,
              "default": 10,
              "description": "Maximum number of positions to return"
            },
            "required": false,
            "description": "Maximum number of positions to return",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Top positions for the given pair",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "chain_id": {
                            "type": "string"
                          },
                          "nft_address": {
                            "type": "string"
                          },
                          "core_address": {
                            "type": "string"
                          },
                          "positions_address": {
                            "type": "string"
                          },
                          "owner": {
                            "anyOf": [
                              {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              }
                            ],
                            "title": "Address",
                            "description": "An address on the specified blockchain network"
                          },
                          "minted_timestamp": {
                            "anyOf": [
                              {
                                "type": "string",
                                "format": "date-time"
                              },
                              {
                                "type": "string"
                              }
                            ]
                          },
                          "pool_key": {
                            "type": "object",
                            "properties": {
                              "token0": {
                                "type": "string"
                              },
                              "token1": {
                                "type": "string"
                              },
                              "fee": {
                                "type": "string"
                              },
                              "tick_spacing": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "extension": {
                                "type": "string"
                              },
                              "stableswap_params": {
                                "type": [
                                  "object",
                                  "null"
                                ],
                                "properties": {
                                  "center_tick": {
                                    "type": "number"
                                  },
                                  "amplification": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "center_tick",
                                  "amplification"
                                ]
                              }
                            },
                            "required": [
                              "token0",
                              "token1",
                              "fee",
                              "tick_spacing",
                              "extension",
                              "stableswap_params"
                            ]
                          },
                          "bounds": {
                            "type": "object",
                            "properties": {
                              "lower": {
                                "type": "number"
                              },
                              "upper": {
                                "type": "number"
                              }
                            },
                            "required": [
                              "lower",
                              "upper"
                            ]
                          },
                          "liquidity": {
                            "type": "string"
                          },
                          "pool_state": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "properties": {
                              "sqrt_ratio": {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              },
                              "tick": {
                                "type": "integer"
                              },
                              "liquidity": {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              }
                            },
                            "required": [
                              "sqrt_ratio",
                              "tick",
                              "liquidity"
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "chain_id",
                          "nft_address",
                          "core_address",
                          "positions_address",
                          "owner",
                          "minted_timestamp",
                          "pool_key",
                          "bounds",
                          "liquidity",
                          "pool_state"
                        ]
                      }
                    }
                  },
                  "required": [
                    "data"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/pools/{chainId}/{coreAddress}/{poolId}/positions": {
      "get": {
        "tags": [
          "Stats"
        ],
        "summary": "Get top positions for pool",
        "description": "Returns the top positions (by liquidity) for the given core address and pool id",
        "operationId": "get_GetPoolTopPositions",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "The ID of the network that is being fetched",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": true,
            "description": "The ID of the network that is being fetched",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "coreAddress",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "A number represented in hexadecimal or decimal"
            },
            "required": true,
            "description": "A number represented in hexadecimal or decimal",
            "name": "poolId",
            "in": "path"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50,
              "default": 10,
              "description": "Maximum number of positions to return"
            },
            "required": false,
            "description": "Maximum number of positions to return",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Top positions for the given pool",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "chain_id": {
                            "type": "string"
                          },
                          "nft_address": {
                            "type": "string"
                          },
                          "core_address": {
                            "type": "string"
                          },
                          "positions_address": {
                            "type": "string"
                          },
                          "owner": {
                            "anyOf": [
                              {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              }
                            ],
                            "title": "Address",
                            "description": "An address on the specified blockchain network"
                          },
                          "minted_timestamp": {
                            "anyOf": [
                              {
                                "type": "string",
                                "format": "date-time"
                              },
                              {
                                "type": "string"
                              }
                            ]
                          },
                          "pool_key": {
                            "type": "object",
                            "properties": {
                              "token0": {
                                "type": "string"
                              },
                              "token1": {
                                "type": "string"
                              },
                              "fee": {
                                "type": "string"
                              },
                              "tick_spacing": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "extension": {
                                "type": "string"
                              },
                              "stableswap_params": {
                                "type": [
                                  "object",
                                  "null"
                                ],
                                "properties": {
                                  "center_tick": {
                                    "type": "number"
                                  },
                                  "amplification": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "center_tick",
                                  "amplification"
                                ]
                              }
                            },
                            "required": [
                              "token0",
                              "token1",
                              "fee",
                              "tick_spacing",
                              "extension",
                              "stableswap_params"
                            ]
                          },
                          "bounds": {
                            "type": "object",
                            "properties": {
                              "lower": {
                                "type": "number"
                              },
                              "upper": {
                                "type": "number"
                              }
                            },
                            "required": [
                              "lower",
                              "upper"
                            ]
                          },
                          "liquidity": {
                            "type": "string"
                          },
                          "pool_state": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "properties": {
                              "sqrt_ratio": {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              },
                              "tick": {
                                "type": "integer"
                              },
                              "liquidity": {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              }
                            },
                            "required": [
                              "sqrt_ratio",
                              "tick",
                              "liquidity"
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "chain_id",
                          "nft_address",
                          "core_address",
                          "positions_address",
                          "owner",
                          "minted_timestamp",
                          "pool_key",
                          "bounds",
                          "liquidity",
                          "pool_state"
                        ]
                      }
                    }
                  },
                  "required": [
                    "data"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/tokens/{chainId}/{tokenA}/{tokenB}/events": {
      "get": {
        "tags": [
          "Stats"
        ],
        "summary": "Get pair events",
        "description": "Returns a list of recent events for the given trading pair",
        "operationId": "get_ListPairEvents",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "The ID of the network that is being fetched",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": true,
            "description": "The ID of the network that is being fetched",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "tokenA",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "tokenB",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "Restrict results to pools with the given core address."
            },
            "required": false,
            "description": "Restrict results to pools with the given core address.",
            "name": "coreAddress",
            "in": "query"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "Restrict results to pools with the given pool id."
            },
            "required": false,
            "description": "Restrict results to pools with the given pool id.",
            "name": "poolId",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A list of events for the given pair",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "type": {
                            "anyOf": [
                              {
                                "type": "number",
                                "enum": [
                                  0
                                ]
                              },
                              {
                                "type": "number",
                                "enum": [
                                  1
                                ]
                              }
                            ]
                          },
                          "fee": {
                            "type": "string"
                          },
                          "tick_spacing": {
                            "type": "integer"
                          },
                          "extension": {
                            "type": "string"
                          },
                          "core_address": {
                            "type": "string"
                          },
                          "locker": {
                            "type": "string"
                          },
                          "timestamp": {
                            "anyOf": [
                              {
                                "type": "string",
                                "format": "date-time"
                              },
                              {
                                "type": "string"
                              }
                            ]
                          },
                          "transaction_hash": {
                            "type": "string"
                          },
                          "delta0": {
                            "type": "string"
                          },
                          "delta1": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "type",
                          "fee",
                          "tick_spacing",
                          "extension",
                          "core_address",
                          "locker",
                          "timestamp",
                          "transaction_hash",
                          "delta0",
                          "delta1"
                        ]
                      }
                    }
                  },
                  "required": [
                    "data"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/positions/batch": {
      "get": {
        "tags": [
          "Positions"
        ],
        "summary": "Batch list positions",
        "description": "Returns the list of position NFTs and their keys for multiple addresses",
        "operationId": "get_BatchListPositionsByAddress",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^0x[a-fA-F0-9]+$",
                    "description": "A hexadecimal number"
                  },
                  {
                    "type": "string",
                    "pattern": "^\\d+e?\\d*$",
                    "description": "A decimal number"
                  }
                ],
                "title": "Address",
                "description": "An address on the specified blockchain network"
              },
              "description": "Repeat the address parameter to merge positions from multiple addresses (e.g. ?address=0x...&address=0x...)",
              "example": "0x1234"
            },
            "required": true,
            "description": "Repeat the address parameter to merge positions from multiple addresses (e.g. ?address=0x...&address=0x...)",
            "name": "address",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "opened",
                "closed"
              ],
              "description": "Filter positions by state; defaults to returning all positions"
            },
            "required": false,
            "description": "Filter positions by state; defaults to returning all positions",
            "name": "state",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "Restrict results to a specific chain ID",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": false,
            "description": "Restrict results to a specific chain ID",
            "name": "chainId",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50,
              "description": "Maximum number of positions to return per page"
            },
            "required": false,
            "description": "Maximum number of positions to return per page",
            "name": "pageSize",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "Page number to fetch (1-indexed)"
            },
            "required": false,
            "description": "Page number to fetch (1-indexed)",
            "name": "page",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "The position NFTs owned by the provided addresses and keys",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "chain_id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "positions_address": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "owner": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "pool_key": {
                            "type": "object",
                            "properties": {
                              "token0": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "token1": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "fee": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "tick_spacing": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "extension": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "stableswap_params": {
                                "type": [
                                  "object",
                                  "null"
                                ],
                                "properties": {
                                  "center_tick": {
                                    "type": "number"
                                  },
                                  "amplification": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "center_tick",
                                  "amplification"
                                ]
                              }
                            },
                            "required": [
                              "token0",
                              "token1",
                              "fee",
                              "tick_spacing",
                              "extension",
                              "stableswap_params"
                            ]
                          },
                          "bounds": {
                            "type": "object",
                            "properties": {
                              "lower": {
                                "type": "number"
                              },
                              "upper": {
                                "type": "number"
                              }
                            },
                            "required": [
                              "lower",
                              "upper"
                            ]
                          },
                          "metadata_url": {
                            "type": "string"
                          },
                          "image": {
                            "type": "string"
                          },
                          "liquidity": {
                            "type": "string",
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          },
                          "pool_state": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "properties": {
                              "sqrt_ratio": {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              },
                              "tick": {
                                "type": "integer"
                              },
                              "liquidity": {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              },
                              "fee": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              }
                            },
                            "required": [
                              "sqrt_ratio",
                              "tick",
                              "liquidity",
                              "fee"
                            ]
                          },
                          "rewards": {
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "string",
                                  "pattern": "^\\d+e?\\d*$",
                                  "description": "A decimal number"
                                },
                                "pending": {
                                  "type": "string",
                                  "pattern": "^\\d+e?\\d*$",
                                  "description": "A decimal number"
                                }
                              },
                              "required": [
                                "amount",
                                "pending"
                              ]
                            }
                          }
                        },
                        "required": [
                          "id",
                          "chain_id",
                          "positions_address",
                          "owner",
                          "pool_key",
                          "bounds",
                          "metadata_url",
                          "image",
                          "liquidity",
                          "pool_state",
                          "rewards"
                        ]
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "properties": {
                        "page": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "pageSize": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "totalPages": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "totalItems": {
                          "type": "integer",
                          "minimum": 0
                        }
                      },
                      "required": [
                        "page",
                        "pageSize",
                        "totalPages",
                        "totalItems"
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "pagination"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/positions/{address}": {
      "get": {
        "tags": [
          "Positions"
        ],
        "summary": "List positions",
        "description": "Returns the list of position NFTs and their keys",
        "operationId": "get_ListPositionsByAddress",
        "parameters": [
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "The address for which to list positions"
            },
            "required": true,
            "description": "The address for which to list positions",
            "name": "address",
            "in": "path"
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "opened",
                "closed"
              ],
              "description": "Filter positions by state; defaults to returning all positions"
            },
            "required": false,
            "description": "Filter positions by state; defaults to returning all positions",
            "name": "state",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "Restrict results to a specific chain ID",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": false,
            "description": "Restrict results to a specific chain ID",
            "name": "chainId",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50,
              "description": "Maximum number of positions to return per page"
            },
            "required": false,
            "description": "Maximum number of positions to return per page",
            "name": "pageSize",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "Page number to fetch (1-indexed)"
            },
            "required": false,
            "description": "Page number to fetch (1-indexed)",
            "name": "page",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "The position NFTs owned by the address and keys",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "chain_id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "positions_address": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "owner": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "pool_key": {
                            "type": "object",
                            "properties": {
                              "token0": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "token1": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "fee": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "tick_spacing": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "extension": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "stableswap_params": {
                                "type": [
                                  "object",
                                  "null"
                                ],
                                "properties": {
                                  "center_tick": {
                                    "type": "number"
                                  },
                                  "amplification": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "center_tick",
                                  "amplification"
                                ]
                              }
                            },
                            "required": [
                              "token0",
                              "token1",
                              "fee",
                              "tick_spacing",
                              "extension",
                              "stableswap_params"
                            ]
                          },
                          "bounds": {
                            "type": "object",
                            "properties": {
                              "lower": {
                                "type": "number"
                              },
                              "upper": {
                                "type": "number"
                              }
                            },
                            "required": [
                              "lower",
                              "upper"
                            ]
                          },
                          "metadata_url": {
                            "type": "string"
                          },
                          "image": {
                            "type": "string"
                          },
                          "liquidity": {
                            "type": "string",
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          },
                          "pool_state": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "properties": {
                              "sqrt_ratio": {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              },
                              "tick": {
                                "type": "integer"
                              },
                              "liquidity": {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              },
                              "fee": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              }
                            },
                            "required": [
                              "sqrt_ratio",
                              "tick",
                              "liquidity",
                              "fee"
                            ]
                          },
                          "rewards": {
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "properties": {
                                "amount": {
                                  "type": "string",
                                  "pattern": "^\\d+e?\\d*$",
                                  "description": "A decimal number"
                                },
                                "pending": {
                                  "type": "string",
                                  "pattern": "^\\d+e?\\d*$",
                                  "description": "A decimal number"
                                }
                              },
                              "required": [
                                "amount",
                                "pending"
                              ]
                            }
                          }
                        },
                        "required": [
                          "id",
                          "chain_id",
                          "positions_address",
                          "owner",
                          "pool_key",
                          "bounds",
                          "metadata_url",
                          "image",
                          "liquidity",
                          "pool_state",
                          "rewards"
                        ]
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "properties": {
                        "page": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "pageSize": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "totalPages": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "totalItems": {
                          "type": "integer",
                          "minimum": 0
                        }
                      },
                      "required": [
                        "page",
                        "pageSize",
                        "totalPages",
                        "totalItems"
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "pagination"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/positions/{chainId}/events": {
      "get": {
        "tags": [
          "Positions"
        ],
        "summary": "List position events",
        "description": "Returns position NFT lifecycle, liquidity update, and fee collection events in ascending event order",
        "operationId": "get_ListPositionEvents",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "Chain ID for which to list events",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": true,
            "description": "Chain ID for which to list events",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 0,
              "maximum": 4294967295,
              "description": "Inclusive first block number"
            },
            "required": false,
            "description": "Inclusive first block number",
            "name": "fromBlock",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 0,
              "maximum": 4294967295,
              "description": "Inclusive last block number"
            },
            "required": false,
            "description": "Inclusive last block number",
            "name": "toBlock",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Return events strictly after this event_id; use next_cursor to continue"
            },
            "required": false,
            "description": "Return events strictly after this event_id; use next_cursor to continue",
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000,
              "default": 100,
              "description": "Maximum number of events to return"
            },
            "required": false,
            "description": "Maximum number of events to return",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A globally ordered page of position events",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "chain_id": {
                      "anyOf": [
                        {
                          "type": "string",
                          "pattern": "^0x[a-fA-F0-9]+$",
                          "description": "A hexadecimal number"
                        },
                        {
                          "type": "string",
                          "pattern": "^\\d+e?\\d*$",
                          "description": "A decimal number"
                        }
                      ],
                      "title": "Numeric",
                      "description": "A number represented in hexadecimal or decimal"
                    },
                    "events": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "type": "object",
                            "properties": {
                              "event_id": {
                                "type": "string",
                                "pattern": "^-?\\d+$",
                                "description": "Signed event cursor encoding block, transaction, and event order"
                              },
                              "block_number": {
                                "type": "string"
                              },
                              "transaction_index": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "event_index": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "transaction_hash": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "timestamp": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "format": "date-time"
                                  },
                                  {
                                    "type": "string"
                                  }
                                ]
                              },
                              "position_id": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "Stable core position identifier shared by NFT and pool events"
                              },
                              "nft_address": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "positions_address": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "mint",
                                  "transfer",
                                  "burn"
                                ]
                              },
                              "token_id": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "Position NFT token ID"
                              },
                              "from_address": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "to_address": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              }
                            },
                            "required": [
                              "event_id",
                              "block_number",
                              "transaction_index",
                              "event_index",
                              "transaction_hash",
                              "timestamp",
                              "position_id",
                              "nft_address",
                              "positions_address",
                              "type",
                              "token_id",
                              "from_address",
                              "to_address"
                            ]
                          },
                          {
                            "type": "object",
                            "properties": {
                              "event_id": {
                                "type": "string",
                                "pattern": "^-?\\d+$",
                                "description": "Signed event cursor encoding block, transaction, and event order"
                              },
                              "block_number": {
                                "type": "string"
                              },
                              "transaction_index": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "event_index": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "transaction_hash": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "timestamp": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "format": "date-time"
                                  },
                                  {
                                    "type": "string"
                                  }
                                ]
                              },
                              "position_id": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "Stable core position identifier shared by NFT and pool events"
                              },
                              "nft_address": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "positions_address": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "update"
                                ]
                              },
                              "pool_key": {
                                "type": "object",
                                "properties": {
                                  "core_address": {
                                    "type": "string",
                                    "pattern": "^0x[a-fA-F0-9]+$",
                                    "description": "A hexadecimal number"
                                  },
                                  "pool_id": {
                                    "type": "string",
                                    "pattern": "^0x[a-fA-F0-9]+$",
                                    "description": "A hexadecimal number"
                                  },
                                  "token0": {
                                    "type": "string",
                                    "pattern": "^0x[a-fA-F0-9]+$",
                                    "description": "A hexadecimal number"
                                  },
                                  "token1": {
                                    "type": "string",
                                    "pattern": "^0x[a-fA-F0-9]+$",
                                    "description": "A hexadecimal number"
                                  },
                                  "fee": {
                                    "type": "string",
                                    "pattern": "^0x[a-fA-F0-9]+$",
                                    "description": "A hexadecimal number"
                                  },
                                  "fee_denominator": {
                                    "type": "string",
                                    "pattern": "^0x[a-fA-F0-9]+$",
                                    "description": "A hexadecimal number"
                                  },
                                  "tick_spacing": {
                                    "type": [
                                      "string",
                                      "null"
                                    ],
                                    "pattern": "^0x[a-fA-F0-9]+$",
                                    "description": "A hexadecimal number"
                                  },
                                  "extension": {
                                    "type": "string",
                                    "pattern": "^0x[a-fA-F0-9]+$",
                                    "description": "A hexadecimal number"
                                  },
                                  "stableswap_params": {
                                    "type": [
                                      "object",
                                      "null"
                                    ],
                                    "properties": {
                                      "center_tick": {
                                        "type": "number"
                                      },
                                      "amplification": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "center_tick",
                                      "amplification"
                                    ]
                                  }
                                },
                                "required": [
                                  "core_address",
                                  "pool_id",
                                  "token0",
                                  "token1",
                                  "fee",
                                  "fee_denominator",
                                  "tick_spacing",
                                  "extension",
                                  "stableswap_params"
                                ]
                              },
                              "bounds": {
                                "type": "object",
                                "properties": {
                                  "lower": {
                                    "type": "number"
                                  },
                                  "upper": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "lower",
                                  "upper"
                                ]
                              },
                              "liquidity_delta": {
                                "type": "string"
                              },
                              "delta0": {
                                "type": "string"
                              },
                              "delta1": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "event_id",
                              "block_number",
                              "transaction_index",
                              "event_index",
                              "transaction_hash",
                              "timestamp",
                              "position_id",
                              "nft_address",
                              "positions_address",
                              "type",
                              "pool_key",
                              "bounds",
                              "liquidity_delta",
                              "delta0",
                              "delta1"
                            ]
                          },
                          {
                            "type": "object",
                            "properties": {
                              "event_id": {
                                "type": "string",
                                "pattern": "^-?\\d+$",
                                "description": "Signed event cursor encoding block, transaction, and event order"
                              },
                              "block_number": {
                                "type": "string"
                              },
                              "transaction_index": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "event_index": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "transaction_hash": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "timestamp": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "format": "date-time"
                                  },
                                  {
                                    "type": "string"
                                  }
                                ]
                              },
                              "position_id": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "Stable core position identifier shared by NFT and pool events"
                              },
                              "nft_address": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "positions_address": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "collect_fees"
                                ]
                              },
                              "pool_key": {
                                "type": "object",
                                "properties": {
                                  "core_address": {
                                    "type": "string",
                                    "pattern": "^0x[a-fA-F0-9]+$",
                                    "description": "A hexadecimal number"
                                  },
                                  "pool_id": {
                                    "type": "string",
                                    "pattern": "^0x[a-fA-F0-9]+$",
                                    "description": "A hexadecimal number"
                                  },
                                  "token0": {
                                    "type": "string",
                                    "pattern": "^0x[a-fA-F0-9]+$",
                                    "description": "A hexadecimal number"
                                  },
                                  "token1": {
                                    "type": "string",
                                    "pattern": "^0x[a-fA-F0-9]+$",
                                    "description": "A hexadecimal number"
                                  },
                                  "fee": {
                                    "type": "string",
                                    "pattern": "^0x[a-fA-F0-9]+$",
                                    "description": "A hexadecimal number"
                                  },
                                  "fee_denominator": {
                                    "type": "string",
                                    "pattern": "^0x[a-fA-F0-9]+$",
                                    "description": "A hexadecimal number"
                                  },
                                  "tick_spacing": {
                                    "type": [
                                      "string",
                                      "null"
                                    ],
                                    "pattern": "^0x[a-fA-F0-9]+$",
                                    "description": "A hexadecimal number"
                                  },
                                  "extension": {
                                    "type": "string",
                                    "pattern": "^0x[a-fA-F0-9]+$",
                                    "description": "A hexadecimal number"
                                  },
                                  "stableswap_params": {
                                    "type": [
                                      "object",
                                      "null"
                                    ],
                                    "properties": {
                                      "center_tick": {
                                        "type": "number"
                                      },
                                      "amplification": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "center_tick",
                                      "amplification"
                                    ]
                                  }
                                },
                                "required": [
                                  "core_address",
                                  "pool_id",
                                  "token0",
                                  "token1",
                                  "fee",
                                  "fee_denominator",
                                  "tick_spacing",
                                  "extension",
                                  "stableswap_params"
                                ]
                              },
                              "bounds": {
                                "type": "object",
                                "properties": {
                                  "lower": {
                                    "type": "number"
                                  },
                                  "upper": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "lower",
                                  "upper"
                                ]
                              },
                              "delta0": {
                                "type": "string"
                              },
                              "delta1": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "event_id",
                              "block_number",
                              "transaction_index",
                              "event_index",
                              "transaction_hash",
                              "timestamp",
                              "position_id",
                              "nft_address",
                              "positions_address",
                              "type",
                              "pool_key",
                              "bounds",
                              "delta0",
                              "delta1"
                            ]
                          }
                        ]
                      }
                    },
                    "next_cursor": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "pattern": "^-?\\d+$"
                    },
                    "has_more": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "chain_id",
                    "events",
                    "next_cursor",
                    "has_more"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/positions/{chainId}/{lockerAddress}/{id}/history": {
      "get": {
        "tags": [
          "Positions"
        ],
        "summary": "List position history",
        "description": "Returns the entire history of the given position ID",
        "operationId": "get_ListPositionNftEvents",
        "parameters": [
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "Chain ID for which to list events"
            },
            "required": true,
            "description": "Chain ID for which to list events",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "The address of the Positions contract"
            },
            "required": true,
            "description": "The address of the Positions contract",
            "name": "lockerAddress",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "A number represented in hexadecimal or decimal"
            },
            "required": true,
            "description": "A number represented in hexadecimal or decimal",
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The position history",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "chain_id": {
                      "anyOf": [
                        {
                          "type": "string",
                          "pattern": "^0x[a-fA-F0-9]+$",
                          "description": "A hexadecimal number"
                        },
                        {
                          "type": "string",
                          "pattern": "^\\d+e?\\d*$",
                          "description": "A decimal number"
                        }
                      ],
                      "title": "Numeric",
                      "description": "A number represented in hexadecimal or decimal"
                    },
                    "events": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "transfer"
                                ]
                              },
                              "block_number": {
                                "type": "string"
                              },
                              "transaction_hash": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "timestamp": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "format": "date-time"
                                  },
                                  {
                                    "type": "string"
                                  }
                                ]
                              },
                              "from_address": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "to_address": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              }
                            },
                            "required": [
                              "type",
                              "block_number",
                              "transaction_hash",
                              "timestamp",
                              "from_address",
                              "to_address"
                            ]
                          },
                          {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "update"
                                ]
                              },
                              "block_number": {
                                "type": "string"
                              },
                              "transaction_hash": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "timestamp": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "format": "date-time"
                                  },
                                  {
                                    "type": "string"
                                  }
                                ]
                              },
                              "liquidity_delta": {
                                "type": "string"
                              },
                              "delta0": {
                                "type": "string"
                              },
                              "delta1": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "type",
                              "block_number",
                              "transaction_hash",
                              "timestamp",
                              "liquidity_delta",
                              "delta0",
                              "delta1"
                            ]
                          },
                          {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "collect_fees"
                                ]
                              },
                              "block_number": {
                                "type": "string"
                              },
                              "transaction_hash": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "timestamp": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "format": "date-time"
                                  },
                                  {
                                    "type": "string"
                                  }
                                ]
                              },
                              "delta0": {
                                "type": "string"
                              },
                              "delta1": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "type",
                              "block_number",
                              "transaction_hash",
                              "timestamp",
                              "delta0",
                              "delta1"
                            ]
                          },
                          {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "claim_rewards"
                                ]
                              },
                              "block_number": {
                                "type": "string"
                              },
                              "transaction_hash": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "timestamp": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "format": "date-time"
                                  },
                                  {
                                    "type": "string"
                                  }
                                ]
                              },
                              "reward_amount": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "type",
                              "block_number",
                              "transaction_hash",
                              "timestamp",
                              "reward_amount"
                            ]
                          }
                        ]
                      }
                    }
                  },
                  "required": [
                    "chain_id",
                    "events"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/positions/{chainId}/{nftAddress}/{id}": {
      "get": {
        "tags": [
          "Positions"
        ],
        "summary": "Get NFT Metadata",
        "description": "Returns the ERC721 metadata for the given position token ID",
        "operationId": "get_GetPositionNftMetadata",
        "parameters": [
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "Chain ID for which to generate metadata"
            },
            "required": true,
            "description": "Chain ID for which to generate metadata",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "The address of the Positions NFT contract"
            },
            "required": true,
            "description": "The address of the Positions NFT contract",
            "name": "nftAddress",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "A number represented in hexadecimal or decimal"
            },
            "required": true,
            "description": "A number represented in hexadecimal or decimal",
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The NFT metadata for the given position ID",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "image": {
                      "type": "string"
                    },
                    "attributes": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "trait_type": {
                            "type": "string"
                          },
                          "value": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "trait_type",
                          "value"
                        ]
                      }
                    }
                  },
                  "required": [
                    "name",
                    "description",
                    "image",
                    "attributes"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orders/{chainId}/{nftAddress}/{id}/image.svg": {
      "get": {
        "tags": [
          "Orders"
        ],
        "summary": "Get NFT Image",
        "description": "Returns the generated art for the given order NFT ID",
        "operationId": "get_GetOrderNftImage",
        "parameters": [
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "A number represented in hexadecimal or decimal"
            },
            "required": true,
            "description": "A number represented in hexadecimal or decimal",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "The address of the Positions NFT contract"
            },
            "required": true,
            "description": "The address of the Positions NFT contract",
            "name": "nftAddress",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "A number represented in hexadecimal or decimal"
            },
            "required": true,
            "description": "A number represented in hexadecimal or decimal",
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The order NFT image"
          }
        }
      }
    },
    "/orders/{chainId}/{nftAddress}/{id}": {
      "get": {
        "tags": [
          "Orders"
        ],
        "summary": "Get NFT Metadata",
        "description": "Returns the ERC721 metadata for the given order token ID",
        "operationId": "get_GetOrderNftMetadata",
        "parameters": [
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "A number represented in hexadecimal or decimal"
            },
            "required": true,
            "description": "A number represented in hexadecimal or decimal",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "The address of the Positions NFT contract"
            },
            "required": true,
            "description": "The address of the Positions NFT contract",
            "name": "nftAddress",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "A number represented in hexadecimal or decimal"
            },
            "required": true,
            "description": "A number represented in hexadecimal or decimal",
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The NFT metadata for the given order ID",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "image": {
                      "type": "string"
                    },
                    "attributes": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "trait_type": {
                            "type": "string"
                          },
                          "value": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "trait_type",
                          "value"
                        ]
                      }
                    }
                  },
                  "required": [
                    "name",
                    "description",
                    "image",
                    "attributes"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/twap/pools/{chainId}/{coreAddress}/{tokenA}/{tokenB}/{fee}": {
      "get": {
        "tags": [
          "TWAP"
        ],
        "summary": "Get TWAP pool",
        "description": "Returns the current state of the given TWAMM pool, including the future order expirations",
        "operationId": "get_GetTwammPoolState",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "The ID of the network that is being fetched",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": true,
            "description": "The ID of the network that is being fetched",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network",
              "example": "0x0"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "tokenA",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network",
              "example": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "tokenB",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network",
              "example": "0xabcd"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "coreAddress",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "A number represented in hexadecimal or decimal",
              "example": ""
            },
            "required": true,
            "description": "A number represented in hexadecimal or decimal",
            "name": "fee",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The current state of the given TWAMM pool",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "saleRateDeltas": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "time": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "token0SaleRateDelta": {
                            "type": "string",
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          },
                          "token1SaleRateDelta": {
                            "type": "string",
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          }
                        },
                        "required": [
                          "time",
                          "token0SaleRateDelta",
                          "token1SaleRateDelta"
                        ]
                      }
                    }
                  },
                  "required": [
                    "saleRateDeltas"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/twap/pools/{chainId}/{coreAddress}/{poolId}": {
      "get": {
        "tags": [
          "TWAP"
        ],
        "summary": "Get TWAP pool by pool id",
        "description": "Returns the current state of the given TWAMM pool, including the future order expirations",
        "operationId": "get_GetTwammPoolStateByPoolId",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "The ID of the network that is being fetched",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": true,
            "description": "The ID of the network that is being fetched",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network",
              "example": "0xabcd"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "coreAddress",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "A number represented in hexadecimal or decimal",
              "example": "1234"
            },
            "required": true,
            "description": "A number represented in hexadecimal or decimal",
            "name": "poolId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The current state of the given TWAMM pool",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "saleRateDeltas": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "time": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "token0SaleRateDelta": {
                            "type": "string",
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          },
                          "token1SaleRateDelta": {
                            "type": "string",
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          }
                        },
                        "required": [
                          "time",
                          "token0SaleRateDelta",
                          "token1SaleRateDelta"
                        ]
                      }
                    }
                  },
                  "required": [
                    "saleRateDeltas"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/twap/pair/{chainId}/{tokenA}/{tokenB}": {
      "get": {
        "tags": [
          "TWAP"
        ],
        "summary": "Get TWAP pair",
        "description": "Returns the current state of the given TWAMM pair, including the future order expirations",
        "operationId": "get_GetTwammPairState",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "The ID of the network that is being fetched",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": true,
            "description": "The ID of the network that is being fetched",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network",
              "example": "0x0"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "tokenA",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network",
              "example": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "tokenB",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The current state of the given TWAMM pair",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "saleRateDeltas": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "time": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "token0SaleRateDelta": {
                            "type": "string",
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          },
                          "token1SaleRateDelta": {
                            "type": "string",
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          }
                        },
                        "required": [
                          "time",
                          "token0SaleRateDelta",
                          "token1SaleRateDelta"
                        ]
                      }
                    }
                  },
                  "required": [
                    "saleRateDeltas"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/twap/orders/batch": {
      "get": {
        "tags": [
          "TWAP"
        ],
        "summary": "Batch list TWAP orders",
        "description": "Returns the list of TWAP orders currently held by the given addresses",
        "operationId": "get_BatchListTwapOrders",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^0x[a-fA-F0-9]+$",
                    "description": "A hexadecimal number"
                  },
                  {
                    "type": "string",
                    "pattern": "^\\d+e?\\d*$",
                    "description": "A decimal number"
                  }
                ],
                "title": "Address",
                "description": "An address on the specified blockchain network"
              },
              "description": "Repeat the address parameter to merge orders from multiple addresses (e.g. ?address=0x...&address=0x...)",
              "example": "0x1234"
            },
            "required": true,
            "description": "Repeat the address parameter to merge orders from multiple addresses (e.g. ?address=0x...&address=0x...)",
            "name": "address",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "opened",
                "closed"
              ],
              "description": "Filter orders by state; defaults to returning all orders"
            },
            "required": false,
            "description": "Filter orders by state; defaults to returning all orders",
            "name": "state",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "Restrict results to a specific chain ID",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": false,
            "description": "Restrict results to a specific chain ID",
            "name": "chainId",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50,
              "description": "Maximum number of TWAP orders to return per page"
            },
            "required": false,
            "description": "Maximum number of TWAP orders to return per page",
            "name": "pageSize",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "Page number to fetch (1-indexed)"
            },
            "required": false,
            "description": "Page number to fetch (1-indexed)",
            "name": "page",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "The list of TWAP orders placed by the addresses",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "orders": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "chain_id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "nft_address": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "token_id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "orders": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "key": {
                                  "type": "object",
                                  "properties": {
                                    "sell_token": {
                                      "anyOf": [
                                        {
                                          "type": "string",
                                          "pattern": "^0x[a-fA-F0-9]+$",
                                          "description": "A hexadecimal number"
                                        },
                                        {
                                          "type": "string",
                                          "pattern": "^\\d+e?\\d*$",
                                          "description": "A decimal number"
                                        }
                                      ],
                                      "title": "Address",
                                      "description": "An address on the specified blockchain network",
                                      "example": "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7"
                                    },
                                    "buy_token": {
                                      "anyOf": [
                                        {
                                          "type": "string",
                                          "pattern": "^0x[a-fA-F0-9]+$",
                                          "description": "A hexadecimal number"
                                        },
                                        {
                                          "type": "string",
                                          "pattern": "^\\d+e?\\d*$",
                                          "description": "A decimal number"
                                        }
                                      ],
                                      "title": "Address",
                                      "description": "An address on the specified blockchain network",
                                      "example": "0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8"
                                    },
                                    "fee": {
                                      "type": "string",
                                      "example": "1020847100762815411640772995208708096"
                                    },
                                    "start_time": {
                                      "type": "integer",
                                      "minimum": 0,
                                      "description": "The epoch time in seconds at which the order starts"
                                    },
                                    "end_time": {
                                      "type": "integer",
                                      "minimum": 0,
                                      "description": "The epoch time in seconds at which the order ends"
                                    }
                                  },
                                  "required": [
                                    "sell_token",
                                    "buy_token",
                                    "fee",
                                    "start_time",
                                    "end_time"
                                  ],
                                  "description": "The key identifier for a TWAP order in Ekubo"
                                },
                                "total_proceeds_withdrawn": {
                                  "type": "string",
                                  "pattern": "^\\d+e?\\d*$",
                                  "description": "A decimal number"
                                },
                                "sale_rate": {
                                  "type": "string",
                                  "pattern": "^\\d+e?\\d*$",
                                  "description": "A decimal number"
                                },
                                "last_collect_proceeds": {
                                  "type": [
                                    "integer",
                                    "null"
                                  ]
                                },
                                "total_amount_sold": {
                                  "type": "string",
                                  "pattern": "^\\d+e?\\d*$",
                                  "description": "A decimal number"
                                }
                              },
                              "required": [
                                "key",
                                "total_proceeds_withdrawn",
                                "sale_rate",
                                "last_collect_proceeds",
                                "total_amount_sold"
                              ]
                            }
                          }
                        },
                        "required": [
                          "chain_id",
                          "nft_address",
                          "token_id",
                          "orders"
                        ]
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "properties": {
                        "page": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "pageSize": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "totalPages": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "totalItems": {
                          "type": "integer",
                          "minimum": 0
                        }
                      },
                      "required": [
                        "page",
                        "pageSize",
                        "totalPages",
                        "totalItems"
                      ]
                    }
                  },
                  "required": [
                    "orders",
                    "pagination"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/twap/orders/{address}": {
      "get": {
        "tags": [
          "TWAP"
        ],
        "summary": "List TWAP orders",
        "description": "Returns the list of TWAP orders currently held by the given address",
        "operationId": "get_ListTwapOrders",
        "parameters": [
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network",
              "example": "0x1234"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "address",
            "in": "path"
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "opened",
                "closed"
              ],
              "description": "Filter orders by state; defaults to returning all orders"
            },
            "required": false,
            "description": "Filter orders by state; defaults to returning all orders",
            "name": "state",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "Restrict results to a specific chain ID",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": false,
            "description": "Restrict results to a specific chain ID",
            "name": "chainId",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50,
              "description": "Maximum number of TWAP orders to return per page"
            },
            "required": false,
            "description": "Maximum number of TWAP orders to return per page",
            "name": "pageSize",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "Page number to fetch (1-indexed)"
            },
            "required": false,
            "description": "Page number to fetch (1-indexed)",
            "name": "page",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "The list of TWAP orders placed by the address",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "orders": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "chain_id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "nft_address": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "token_id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "orders": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "key": {
                                  "type": "object",
                                  "properties": {
                                    "sell_token": {
                                      "anyOf": [
                                        {
                                          "type": "string",
                                          "pattern": "^0x[a-fA-F0-9]+$",
                                          "description": "A hexadecimal number"
                                        },
                                        {
                                          "type": "string",
                                          "pattern": "^\\d+e?\\d*$",
                                          "description": "A decimal number"
                                        }
                                      ],
                                      "title": "Address",
                                      "description": "An address on the specified blockchain network",
                                      "example": "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7"
                                    },
                                    "buy_token": {
                                      "anyOf": [
                                        {
                                          "type": "string",
                                          "pattern": "^0x[a-fA-F0-9]+$",
                                          "description": "A hexadecimal number"
                                        },
                                        {
                                          "type": "string",
                                          "pattern": "^\\d+e?\\d*$",
                                          "description": "A decimal number"
                                        }
                                      ],
                                      "title": "Address",
                                      "description": "An address on the specified blockchain network",
                                      "example": "0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8"
                                    },
                                    "fee": {
                                      "type": "string",
                                      "example": "1020847100762815411640772995208708096"
                                    },
                                    "start_time": {
                                      "type": "integer",
                                      "minimum": 0,
                                      "description": "The epoch time in seconds at which the order starts"
                                    },
                                    "end_time": {
                                      "type": "integer",
                                      "minimum": 0,
                                      "description": "The epoch time in seconds at which the order ends"
                                    }
                                  },
                                  "required": [
                                    "sell_token",
                                    "buy_token",
                                    "fee",
                                    "start_time",
                                    "end_time"
                                  ],
                                  "description": "The key identifier for a TWAP order in Ekubo"
                                },
                                "total_proceeds_withdrawn": {
                                  "type": "string",
                                  "pattern": "^\\d+e?\\d*$",
                                  "description": "A decimal number"
                                },
                                "sale_rate": {
                                  "type": "string",
                                  "pattern": "^\\d+e?\\d*$",
                                  "description": "A decimal number"
                                },
                                "last_collect_proceeds": {
                                  "type": [
                                    "integer",
                                    "null"
                                  ]
                                },
                                "total_amount_sold": {
                                  "type": "string",
                                  "pattern": "^\\d+e?\\d*$",
                                  "description": "A decimal number"
                                }
                              },
                              "required": [
                                "key",
                                "total_proceeds_withdrawn",
                                "sale_rate",
                                "last_collect_proceeds",
                                "total_amount_sold"
                              ]
                            }
                          }
                        },
                        "required": [
                          "chain_id",
                          "nft_address",
                          "token_id",
                          "orders"
                        ]
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "properties": {
                        "page": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "pageSize": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "totalPages": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "totalItems": {
                          "type": "integer",
                          "minimum": 0
                        }
                      },
                      "required": [
                        "page",
                        "pageSize",
                        "totalPages",
                        "totalItems"
                      ]
                    }
                  },
                  "required": [
                    "orders",
                    "pagination"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/limit-orders/orders/{address}": {
      "get": {
        "tags": [
          "Limit Orders"
        ],
        "summary": "List limit orders",
        "description": "Returns the list of limit orders currently held by the given address",
        "operationId": "get_ListLimitOrders",
        "parameters": [
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network",
              "example": "0x1234"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "address",
            "in": "path"
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "opened",
                "closed"
              ],
              "description": "Filter limit orders by state; defaults to returning all orders"
            },
            "required": false,
            "description": "Filter limit orders by state; defaults to returning all orders",
            "name": "state",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "Restrict results to a specific chain ID",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": false,
            "description": "Restrict results to a specific chain ID",
            "name": "chainId",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50,
              "description": "Maximum number of limit orders to return per page"
            },
            "required": false,
            "description": "Maximum number of limit orders to return per page",
            "name": "pageSize",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "Page number to fetch (1-indexed)"
            },
            "required": false,
            "description": "Page number to fetch (1-indexed)",
            "name": "page",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "The list of limit orders held or previously held by the address",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "orders": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "chain_id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "token_id": {
                            "type": "integer",
                            "minimum": 1
                          },
                          "orders": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "key": {
                                  "type": "object",
                                  "properties": {
                                    "token0": {
                                      "anyOf": [
                                        {
                                          "type": "string",
                                          "pattern": "^0x[a-fA-F0-9]+$",
                                          "description": "A hexadecimal number"
                                        },
                                        {
                                          "type": "string",
                                          "pattern": "^\\d+e?\\d*$",
                                          "description": "A decimal number"
                                        }
                                      ],
                                      "title": "Address",
                                      "description": "An address on the specified blockchain network",
                                      "example": "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7"
                                    },
                                    "token1": {
                                      "anyOf": [
                                        {
                                          "type": "string",
                                          "pattern": "^0x[a-fA-F0-9]+$",
                                          "description": "A hexadecimal number"
                                        },
                                        {
                                          "type": "string",
                                          "pattern": "^\\d+e?\\d*$",
                                          "description": "A decimal number"
                                        }
                                      ],
                                      "title": "Address",
                                      "description": "An address on the specified blockchain network",
                                      "example": "0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8"
                                    },
                                    "tick": {
                                      "type": "number",
                                      "example": 0
                                    }
                                  },
                                  "required": [
                                    "token0",
                                    "token1",
                                    "tick"
                                  ],
                                  "description": "The key identifier for a limit order in Ekubo"
                                },
                                "liquidity": {
                                  "type": "string",
                                  "pattern": "^\\d+e?\\d*$",
                                  "description": "A decimal number"
                                },
                                "amount": {
                                  "type": "string",
                                  "pattern": "^\\d+e?\\d*$",
                                  "description": "A decimal number"
                                },
                                "token0_amount_withdrawn": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "pattern": "^\\d+e?\\d*$",
                                  "description": "A decimal number"
                                },
                                "token1_amount_withdrawn": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "pattern": "^\\d+e?\\d*$",
                                  "description": "A decimal number"
                                }
                              },
                              "required": [
                                "key",
                                "liquidity",
                                "amount",
                                "token0_amount_withdrawn",
                                "token1_amount_withdrawn"
                              ]
                            }
                          }
                        },
                        "required": [
                          "chain_id",
                          "token_id",
                          "orders"
                        ]
                      },
                      "description": "The list of limit orders owned by the address"
                    },
                    "pagination": {
                      "type": "object",
                      "properties": {
                        "page": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "pageSize": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "totalPages": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "totalItems": {
                          "type": "integer",
                          "minimum": 0
                        }
                      },
                      "required": [
                        "page",
                        "pageSize",
                        "totalPages",
                        "totalItems"
                      ]
                    }
                  },
                  "required": [
                    "orders",
                    "pagination"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/positions/{chainId}/{nftAddress}/{id}/image.svg": {
      "get": {
        "tags": [
          "Positions"
        ],
        "summary": "Get NFT Image",
        "description": "Returns the generated art for the given position NFT ID",
        "operationId": "get_GetPositionNftImage",
        "parameters": [
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "A number represented in hexadecimal or decimal"
            },
            "required": true,
            "description": "A number represented in hexadecimal or decimal",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "The address of the Positions NFT contract"
            },
            "required": true,
            "description": "The address of the Positions NFT contract",
            "name": "nftAddress",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "A number represented in hexadecimal or decimal"
            },
            "required": true,
            "description": "A number represented in hexadecimal or decimal",
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The position NFT image"
          }
        }
      }
    },
    "/nft/{chainId}/{nftAddress}/{id}": {
      "get": {
        "tags": [
          "Positions"
        ],
        "summary": "Get NFT Metadata",
        "description": "Returns the ERC721 metadata for the given token ID, chain ID and NFT contract address",
        "operationId": "get_GetNftMetadata",
        "parameters": [
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "Chain ID for which to generate metadata"
            },
            "required": true,
            "description": "Chain ID for which to generate metadata",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "The address of the NFT contract"
            },
            "required": true,
            "description": "The address of the NFT contract",
            "name": "nftAddress",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "A number represented in hexadecimal or decimal"
            },
            "required": true,
            "description": "A number represented in hexadecimal or decimal",
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The NFT metadata for the given position ID"
          }
        }
      }
    },
    "/nft/{chainId}/{nftAddress}/{id}/image.svg": {
      "get": {
        "tags": [
          "Positions"
        ],
        "summary": "Get NFT Image",
        "description": "Returns the generated art for the given position NFT ID",
        "operationId": "get_GetNftImage",
        "parameters": [
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "Chain ID for which to generate metadata"
            },
            "required": true,
            "description": "Chain ID for which to generate metadata",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "The address of the NFT contract"
            },
            "required": true,
            "description": "The address of the NFT contract",
            "name": "nftAddress",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "A number represented in hexadecimal or decimal"
            },
            "required": true,
            "description": "A number represented in hexadecimal or decimal",
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The position NFT image"
          }
        }
      }
    },
    "/auctions": {
      "get": {
        "tags": [
          "Auctions"
        ],
        "summary": "List auction keys",
        "description": "Lists auction NFTs grouped by token_id + (token0, token1, config)",
        "operationId": "get_ListAuctions",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "Chain ID for which to list auctions",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": false,
            "description": "Chain ID for which to list auctions",
            "name": "chainId",
            "in": "query"
          },
          {
            "schema": {
              "type": [
                "integer",
                "null"
              ],
              "minimum": -100,
              "maximum": 100,
              "default": 0,
              "title": "Visibility Priority",
              "description": "Only include auction keys where both tokens meet this visibility priority threshold"
            },
            "required": false,
            "description": "Only include auction keys where both tokens meet this visibility priority threshold",
            "name": "minVisibilityPriority",
            "in": "query"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "If provided, only include auction keys linked to NFTs currently owned by this address"
            },
            "required": false,
            "description": "If provided, only include auction keys linked to NFTs currently owned by this address",
            "name": "owner",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "List of auction keys",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "auctions": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "chain_id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "key": {
                            "type": "object",
                            "properties": {
                              "token0": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "pattern": "^0x[a-fA-F0-9]+$",
                                    "description": "A hexadecimal number"
                                  },
                                  {
                                    "type": "string",
                                    "pattern": "^\\d+e?\\d*$",
                                    "description": "A decimal number"
                                  }
                                ],
                                "title": "Address",
                                "description": "An address on the specified blockchain network"
                              },
                              "token1": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "pattern": "^0x[a-fA-F0-9]+$",
                                    "description": "A hexadecimal number"
                                  },
                                  {
                                    "type": "string",
                                    "pattern": "^\\d+e?\\d*$",
                                    "description": "A decimal number"
                                  }
                                ],
                                "title": "Address",
                                "description": "An address on the specified blockchain network"
                              },
                              "config": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              }
                            },
                            "required": [
                              "token0",
                              "token1",
                              "config"
                            ]
                          },
                          "token_id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "owner": {
                            "anyOf": [
                              {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              }
                            ],
                            "title": "Address",
                            "description": "An address on the specified blockchain network"
                          },
                          "auctions_contract_address": {
                            "anyOf": [
                              {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              }
                            ],
                            "title": "Address",
                            "description": "An address on the specified blockchain network"
                          },
                          "total_sale_rate": {
                            "type": "string",
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          },
                          "boost_end_time": {
                            "anyOf": [
                              {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "title": "Numeric",
                            "description": "A number represented in hexadecimal or decimal"
                          },
                          "completed_timestamp": {
                            "anyOf": [
                              {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "title": "Numeric",
                            "description": "A number represented in hexadecimal or decimal"
                          }
                        },
                        "required": [
                          "chain_id",
                          "key",
                          "token_id",
                          "owner",
                          "auctions_contract_address",
                          "total_sale_rate",
                          "boost_end_time",
                          "completed_timestamp"
                        ]
                      }
                    }
                  },
                  "required": [
                    "auctions"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/auctions/{chainId}/{nftAddress}/{id}": {
      "get": {
        "tags": [
          "Auctions"
        ],
        "summary": "Get auction NFT metadata",
        "description": "Returns NFT metadata for auction NFTs; route shape matches positions and orders",
        "operationId": "get_GetAuctionNftMetadata",
        "parameters": [
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "Chain ID for which to generate metadata"
            },
            "required": true,
            "description": "Chain ID for which to generate metadata",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "The NFT contract address"
            },
            "required": true,
            "description": "The NFT contract address",
            "name": "nftAddress",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "A number represented in hexadecimal or decimal"
            },
            "required": true,
            "description": "A number represented in hexadecimal or decimal",
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The NFT metadata for the given token ID",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "image": {
                      "type": "string"
                    },
                    "attributes": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "trait_type": {
                            "type": "string"
                          },
                          "value": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "trait_type",
                          "value"
                        ]
                      }
                    }
                  },
                  "required": [
                    "name",
                    "description",
                    "image",
                    "attributes"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/auctions/{chainId}/{nftAddress}/{id}/state": {
      "get": {
        "tags": [
          "Auctions"
        ],
        "summary": "Get auction NFT state",
        "description": "Returns dynamic auction NFT state for UI consumption",
        "operationId": "get_GetAuctionNftState",
        "parameters": [
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "Chain ID for which to fetch state"
            },
            "required": true,
            "description": "Chain ID for which to fetch state",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "The NFT contract address"
            },
            "required": true,
            "description": "The NFT contract address",
            "name": "nftAddress",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "A number represented in hexadecimal or decimal"
            },
            "required": true,
            "description": "A number represented in hexadecimal or decimal",
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Auction NFT state data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "current_owner": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "pattern": "^0x[a-fA-F0-9]+$",
                      "description": "A hexadecimal number"
                    },
                    "auctions": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "token0": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "token1": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "config": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "total_sale_rate": {
                            "type": "string",
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          },
                          "participants_count": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "creator_proceeds_collected": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          },
                          "boost_rate": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          },
                          "boost_end_time": {
                            "anyOf": [
                              {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "title": "Numeric",
                            "description": "A number represented in hexadecimal or decimal"
                          },
                          "completed_timestamp": {
                            "anyOf": [
                              {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "title": "Numeric",
                            "description": "A number represented in hexadecimal or decimal"
                          },
                          "creator_amount": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          },
                          "boost_amount": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          }
                        },
                        "required": [
                          "token0",
                          "token1",
                          "config",
                          "total_sale_rate",
                          "participants_count",
                          "creator_proceeds_collected",
                          "boost_rate",
                          "boost_end_time",
                          "completed_timestamp",
                          "creator_amount",
                          "boost_amount"
                        ]
                      }
                    }
                  },
                  "required": [
                    "current_owner",
                    "auctions"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/auctions/{chainId}/{nftAddress}/{id}/image.svg": {
      "get": {
        "tags": [
          "Auctions"
        ],
        "summary": "Get auction NFT image",
        "description": "Returns the generated NFT image for auction NFTs; route shape matches positions and orders",
        "operationId": "get_GetAuctionNftImage",
        "parameters": [
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "Chain ID for which to generate metadata"
            },
            "required": true,
            "description": "Chain ID for which to generate metadata",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "The NFT contract address"
            },
            "required": true,
            "description": "The NFT contract address",
            "name": "nftAddress",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "A number represented in hexadecimal or decimal"
            },
            "required": true,
            "description": "A number represented in hexadecimal or decimal",
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The NFT image"
          }
        }
      }
    },
    "/governance/{chainId}/proposals": {
      "get": {
        "tags": [
          "Governance"
        ],
        "summary": "List Proposals",
        "description": "Returns the list of all proposals",
        "operationId": "get_ListProposals",
        "parameters": [
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "Chain ID for which to list proposals"
            },
            "required": true,
            "description": "Chain ID for which to list proposals",
            "name": "chainId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The list of proposals",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "proposals": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "createdTime": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "description": {
                            "anyOf": [
                              {
                                "type": "null"
                              },
                              {
                                "type": "string"
                              }
                            ]
                          },
                          "calls": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "to": {
                                  "type": "string",
                                  "pattern": "^0x[a-fA-F0-9]+$",
                                  "description": "A hexadecimal number"
                                },
                                "selector": {
                                  "type": "string",
                                  "pattern": "^0x[a-fA-F0-9]+$",
                                  "description": "A hexadecimal number"
                                },
                                "calldata": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "pattern": "^0x[a-fA-F0-9]+$",
                                    "description": "A hexadecimal number"
                                  }
                                }
                              },
                              "required": [
                                "to",
                                "selector",
                                "calldata"
                              ]
                            }
                          },
                          "results": {
                            "type": "array",
                            "items": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              }
                            }
                          },
                          "executed_tx_hash": {
                            "anyOf": [
                              {
                                "type": "null"
                              },
                              {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              }
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "createdTime",
                          "description",
                          "calls",
                          "results",
                          "executed_tx_hash"
                        ]
                      }
                    }
                  },
                  "required": [
                    "proposals"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/governance/{chainId}/delegates": {
      "get": {
        "tags": [
          "Governance"
        ],
        "summary": "List Top Delegates",
        "description": "Returns the list of top delegates",
        "operationId": "get_ListTopDelegates",
        "parameters": [
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "Chain ID for which to list top delegates"
            },
            "required": true,
            "description": "Chain ID for which to list top delegates",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "name": "pageSize",
            "in": "query"
          },
          {
            "schema": {
              "type": [
                "integer",
                "null"
              ],
              "minimum": 0
            },
            "required": false,
            "name": "start",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "The list of top delegates",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "amountDelegatedTo": {
                      "type": "string",
                      "pattern": "^\\d+e?\\d*$",
                      "description": "A decimal number"
                    },
                    "delegates": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "delegate": {
                            "anyOf": [
                              {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              }
                            ],
                            "title": "Address",
                            "description": "An address on the specified blockchain network"
                          },
                          "amount": {
                            "type": "string",
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          },
                          "votingRecord": {
                            "type": "object",
                            "properties": {
                              "yea": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "nay": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "missed": {
                                "type": "integer",
                                "minimum": 0
                              }
                            },
                            "required": [
                              "yea",
                              "nay",
                              "missed"
                            ]
                          }
                        },
                        "required": [
                          "delegate",
                          "amount",
                          "votingRecord"
                        ]
                      }
                    }
                  },
                  "required": [
                    "amountDelegatedTo",
                    "delegates"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/governance/{chainId}/proposals/{proposalId}/votes": {
      "get": {
        "tags": [
          "Governance"
        ],
        "summary": "List Votes",
        "description": "Returns the list of votes on a proposal",
        "operationId": "get_ListVotesOnProposal",
        "parameters": [
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "Chain ID for which to list proposals"
            },
            "required": true,
            "description": "Chain ID for which to list proposals",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "type": "string",
              "pattern": "^0x[a-fA-F0-9]+$",
              "description": "The ID of the proposal"
            },
            "required": true,
            "description": "The ID of the proposal",
            "name": "proposalId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The list of votes on a specific proposal",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "votes": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "time": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "voter": {
                            "anyOf": [
                              {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              }
                            ],
                            "title": "Address",
                            "description": "An address on the specified blockchain network"
                          },
                          "weight": {
                            "type": "string",
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          },
                          "yea": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "time",
                          "voter",
                          "weight",
                          "yea"
                        ]
                      }
                    }
                  },
                  "required": [
                    "votes"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/governance/{chainId}/proposals/{proposalId}/voters": {
      "get": {
        "tags": [
          "Governance"
        ],
        "summary": "List Voters",
        "description": "Returns the list of voters for a proposal and their votes",
        "operationId": "get_ListProposalVoters",
        "parameters": [
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "Chain ID for which to list proposals"
            },
            "required": true,
            "description": "Chain ID for which to list proposals",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "type": "string",
              "pattern": "^0x[a-fA-F0-9]+$",
              "description": "The ID of the proposal"
            },
            "required": true,
            "description": "The ID of the proposal",
            "name": "proposalId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The list of voters and their weights for a specific proposal",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "voters": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "voter": {
                            "anyOf": [
                              {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              }
                            ],
                            "title": "Address",
                            "description": "An address on the specified blockchain network"
                          },
                          "weight": {
                            "type": "string",
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          },
                          "vote": {
                            "anyOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "time": {
                                    "type": "integer",
                                    "minimum": 0
                                  },
                                  "yea": {
                                    "type": "boolean"
                                  }
                                },
                                "required": [
                                  "time",
                                  "yea"
                                ]
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        },
                        "required": [
                          "voter",
                          "weight",
                          "vote"
                        ]
                      }
                    }
                  },
                  "required": [
                    "voters"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/governance/{chainId}/delegates/{address}": {
      "get": {
        "tags": [
          "Governance"
        ],
        "summary": "Get Staker Info",
        "description": "Returns information about a particular staker address: the addresses they have delegated to and the total amount delegated to them",
        "operationId": "get_GetStakerInfo",
        "parameters": [
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "Chain ID for which to look up staker data"
            },
            "required": true,
            "description": "Chain ID for which to look up staker data",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "The address for which to look up staker data"
            },
            "required": true,
            "description": "The address for which to look up staker data",
            "name": "address",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about the given staker",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "amountDelegatedTo": {
                      "type": "string",
                      "pattern": "^\\d+e?\\d*$",
                      "description": "A decimal number"
                    },
                    "delegates": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "delegate": {
                            "anyOf": [
                              {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              }
                            ],
                            "title": "Address",
                            "description": "An address on the specified blockchain network"
                          },
                          "amount": {
                            "type": "string",
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          },
                          "votingRecord": {
                            "type": "object",
                            "properties": {
                              "yea": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "nay": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "missed": {
                                "type": "integer",
                                "minimum": 0
                              }
                            },
                            "required": [
                              "yea",
                              "nay",
                              "missed"
                            ]
                          }
                        },
                        "required": [
                          "delegate",
                          "amount",
                          "votingRecord"
                        ]
                      }
                    }
                  },
                  "required": [
                    "amountDelegatedTo",
                    "delegates"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/ve33/{ve33Address}/pools": {
      "get": {
        "tags": [
          "ve33"
        ],
        "summary": "List ve33 pools",
        "description": "Returns the pools for a ve33 extension",
        "operationId": "get_ListVe33Pools",
        "parameters": [
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "The ve33 extension contract address"
            },
            "required": true,
            "description": "The ve33 extension contract address",
            "name": "ve33Address",
            "in": "path"
          },
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "Restrict results to a specific chain ID",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": true,
            "description": "Restrict results to a specific chain ID",
            "name": "chainId",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "description": "Maximum number of ve33 pools to return per page. Returns all pools when omitted."
            },
            "required": false,
            "description": "Maximum number of ve33 pools to return per page. Returns all pools when omitted.",
            "name": "pageSize",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "Page number to fetch (1-indexed). Values above 1 require pageSize."
            },
            "required": false,
            "description": "Page number to fetch (1-indexed). Values above 1 require pageSize.",
            "name": "page",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "The ve33 pools",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "chain_id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "pool_key_id": {
                            "type": "string",
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          },
                          "pool_id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "token0": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "token1": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "fee": {
                            "type": "string",
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          },
                          "tick_spacing": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "core_address": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "extension": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "pool_key": {
                            "type": "object",
                            "properties": {
                              "token0": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "token1": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "fee": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "tick_spacing": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "extension": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "stableswap_params": {
                                "type": [
                                  "object",
                                  "null"
                                ],
                                "properties": {
                                  "center_tick": {
                                    "type": "integer"
                                  },
                                  "amplification": {
                                    "type": "integer"
                                  }
                                },
                                "required": [
                                  "center_tick",
                                  "amplification"
                                ]
                              }
                            },
                            "required": [
                              "token0",
                              "token1",
                              "fee",
                              "tick_spacing",
                              "extension",
                              "stableswap_params"
                            ]
                          },
                          "pool_state": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "properties": {
                              "sqrt_ratio": {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              },
                              "tick": {
                                "type": "integer"
                              },
                              "liquidity": {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              }
                            },
                            "required": [
                              "sqrt_ratio",
                              "tick",
                              "liquidity"
                            ]
                          },
                          "pool_total_vote_weight": {
                            "type": "string",
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          },
                          "swap_fee": {
                            "type": "string"
                          },
                          "volume0_24h": {
                            "type": "string"
                          },
                          "volume1_24h": {
                            "type": "string"
                          },
                          "fees0_24h": {
                            "type": "string"
                          },
                          "fees1_24h": {
                            "type": "string"
                          },
                          "ve33_fees0_24h": {
                            "type": "string"
                          },
                          "ve33_fees1_24h": {
                            "type": "string"
                          },
                          "ve33_fees0_7d": {
                            "type": "string"
                          },
                          "ve33_fees1_7d": {
                            "type": "string"
                          },
                          "ve33_fees0_all": {
                            "type": "string"
                          },
                          "ve33_fees1_all": {
                            "type": "string"
                          },
                          "ve33_fees_since": {
                            "anyOf": [
                              {
                                "type": "string",
                                "format": "date-time"
                              },
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "tvl0_delta_24h": {
                            "type": "string"
                          },
                          "tvl0_total": {
                            "type": "string"
                          },
                          "tvl1_delta_24h": {
                            "type": "string"
                          },
                          "tvl1_total": {
                            "type": "string"
                          },
                          "depth0": {
                            "type": "string"
                          },
                          "depth1": {
                            "type": "string"
                          },
                          "depth_percent": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "last_event_id": {
                            "type": "string",
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          }
                        },
                        "required": [
                          "chain_id",
                          "pool_key_id",
                          "pool_id",
                          "token0",
                          "token1",
                          "fee",
                          "tick_spacing",
                          "core_address",
                          "extension",
                          "pool_key",
                          "pool_state",
                          "pool_total_vote_weight",
                          "swap_fee",
                          "volume0_24h",
                          "volume1_24h",
                          "fees0_24h",
                          "fees1_24h",
                          "ve33_fees0_24h",
                          "ve33_fees1_24h",
                          "ve33_fees0_7d",
                          "ve33_fees1_7d",
                          "ve33_fees0_all",
                          "ve33_fees1_all",
                          "ve33_fees_since",
                          "tvl0_delta_24h",
                          "tvl0_total",
                          "tvl1_delta_24h",
                          "tvl1_total",
                          "depth0",
                          "depth1",
                          "depth_percent",
                          "last_event_id"
                        ]
                      }
                    },
                    "total_vote_weight": {
                      "type": "string",
                      "pattern": "^\\d+e?\\d*$",
                      "description": "A decimal number"
                    },
                    "pagination": {
                      "type": "object",
                      "properties": {
                        "page": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "pageSize": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "totalPages": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "totalItems": {
                          "type": "integer",
                          "minimum": 0
                        }
                      },
                      "required": [
                        "page",
                        "pageSize",
                        "totalPages",
                        "totalItems"
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "total_vote_weight",
                    "pagination"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/ve33/{ve33Address}/voters": {
      "get": {
        "tags": [
          "ve33"
        ],
        "summary": "List ve33 voters",
        "description": "Returns active voters and their total applied voting weight for a ve33 extension",
        "operationId": "get_ListVe33Voters",
        "parameters": [
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "The ve33 extension contract address"
            },
            "required": true,
            "description": "The ve33 extension contract address",
            "name": "ve33Address",
            "in": "path"
          },
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "Restrict results to a specific chain ID",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": true,
            "description": "Restrict results to a specific chain ID",
            "name": "chainId",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "description": "Maximum number of ve33 voters to return per page. Returns all voters when omitted."
            },
            "required": false,
            "description": "Maximum number of ve33 voters to return per page. Returns all voters when omitted.",
            "name": "pageSize",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "Page number to fetch (1-indexed). Values above 1 require pageSize."
            },
            "required": false,
            "description": "Page number to fetch (1-indexed). Values above 1 require pageSize.",
            "name": "page",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "The active ve33 voters",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "voter": {
                            "anyOf": [
                              {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              }
                            ],
                            "title": "Address",
                            "description": "An address on the specified blockchain network"
                          },
                          "total_vote_weight": {
                            "type": "string",
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          }
                        },
                        "required": [
                          "voter",
                          "total_vote_weight"
                        ]
                      }
                    },
                    "total_vote_weight": {
                      "type": "string",
                      "pattern": "^\\d+e?\\d*$",
                      "description": "A decimal number"
                    },
                    "pagination": {
                      "type": "object",
                      "properties": {
                        "page": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "pageSize": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "totalPages": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "totalItems": {
                          "type": "integer",
                          "minimum": 0
                        }
                      },
                      "required": [
                        "page",
                        "pageSize",
                        "totalPages",
                        "totalItems"
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "total_vote_weight",
                    "pagination"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/ve33/{veTokenAddress}/{address}": {
      "get": {
        "tags": [
          "ve33"
        ],
        "summary": "List ve33 tokens",
        "description": "Returns the list of ve33 tokens owned by the address",
        "operationId": "get_ListVe33TokensByAddress",
        "parameters": [
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "The veNFT contract address"
            },
            "required": true,
            "description": "The veNFT contract address",
            "name": "veTokenAddress",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "The address for which to list ve33 tokens"
            },
            "required": true,
            "description": "The address for which to list ve33 tokens",
            "name": "address",
            "in": "path"
          },
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "Restrict results to a specific chain ID",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": false,
            "description": "Restrict results to a specific chain ID",
            "name": "chainId",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50,
              "description": "Maximum number of ve33 tokens to return per page"
            },
            "required": false,
            "description": "Maximum number of ve33 tokens to return per page",
            "name": "pageSize",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "description": "Page number to fetch (1-indexed)"
            },
            "required": false,
            "description": "Page number to fetch (1-indexed)",
            "name": "page",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "The ve33 tokens owned by the address",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "chain_id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "owner": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "ve_token_address": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "ve33_address": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "token_id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "stake_id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "amount": {
                            "type": "string",
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          },
                          "end_time": {
                            "anyOf": [
                              {
                                "type": "string",
                                "format": "date-time"
                              },
                              {
                                "type": "string"
                              }
                            ]
                          },
                          "voted_pool_id": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "voted_pool_key": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "properties": {
                              "token0": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "token1": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "fee": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "tick_spacing": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "extension": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "stableswap_params": {
                                "type": [
                                  "object",
                                  "null"
                                ],
                                "properties": {
                                  "center_tick": {
                                    "type": "integer"
                                  },
                                  "amplification": {
                                    "type": "integer"
                                  }
                                },
                                "required": [
                                  "center_tick",
                                  "amplification"
                                ]
                              }
                            },
                            "required": [
                              "token0",
                              "token1",
                              "fee",
                              "tick_spacing",
                              "extension",
                              "stableswap_params"
                            ]
                          },
                          "pool_key_id": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          },
                          "applied_vote_weight": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          },
                          "voted_swap_fee": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          },
                          "pool_total_vote_weight": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          },
                          "minted_at": {
                            "anyOf": [
                              {
                                "type": "string",
                                "format": "date-time"
                              },
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "mint_transaction_hash": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "last_stake_changed_event_id": {
                            "type": "string",
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          },
                          "last_transfer_event_id": {
                            "type": "string",
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          }
                        },
                        "required": [
                          "chain_id",
                          "owner",
                          "ve_token_address",
                          "ve33_address",
                          "token_id",
                          "stake_id",
                          "amount",
                          "end_time",
                          "voted_pool_id",
                          "voted_pool_key",
                          "pool_key_id",
                          "applied_vote_weight",
                          "voted_swap_fee",
                          "pool_total_vote_weight",
                          "minted_at",
                          "mint_transaction_hash",
                          "last_stake_changed_event_id",
                          "last_transfer_event_id"
                        ]
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "properties": {
                        "page": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "pageSize": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "totalPages": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "totalItems": {
                          "type": "integer",
                          "minimum": 0
                        }
                      },
                      "required": [
                        "page",
                        "pageSize",
                        "totalPages",
                        "totalItems"
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "pagination"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/campaigns": {
      "get": {
        "tags": [
          "Incentives"
        ],
        "summary": "List campaigns",
        "description": "List all the liquidity incentive campaigns",
        "operationId": "get_ListCampaigns",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "Restrict campaigns to the specified chain ID",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": false,
            "description": "Restrict campaigns to the specified chain ID",
            "name": "chainId",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "The list of campaigns",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "campaigns": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "slug": {
                            "type": "string"
                          },
                          "chain_id": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "coreAddress": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "allowedLockers": {
                            "anyOf": [
                              {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "pattern": "^0x[a-fA-F0-9]+$",
                                  "description": "A hexadecimal number"
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "name": {
                            "type": "string"
                          },
                          "rewardToken": {
                            "anyOf": [
                              {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              }
                            ],
                            "title": "Address",
                            "description": "An address on the specified blockchain network"
                          },
                          "startTime": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "endTime": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "date-time"
                          },
                          "nextDropTime": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "allowedExtensions": {
                            "type": "array",
                            "items": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "pattern": "^0x[a-fA-F0-9]+$",
                                  "description": "A hexadecimal number"
                                },
                                {
                                  "type": "string",
                                  "pattern": "^\\d+e?\\d*$",
                                  "description": "A decimal number"
                                }
                              ],
                              "title": "Address",
                              "description": "An address on the specified blockchain network"
                            }
                          },
                          "pairs": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "token0": {
                                  "anyOf": [
                                    {
                                      "type": "string",
                                      "pattern": "^0x[a-fA-F0-9]+$",
                                      "description": "A hexadecimal number"
                                    },
                                    {
                                      "type": "string",
                                      "pattern": "^\\d+e?\\d*$",
                                      "description": "A decimal number"
                                    }
                                  ],
                                  "title": "Address",
                                  "description": "An address on the specified blockchain network"
                                },
                                "token1": {
                                  "anyOf": [
                                    {
                                      "type": "string",
                                      "pattern": "^0x[a-fA-F0-9]+$",
                                      "description": "A hexadecimal number"
                                    },
                                    {
                                      "type": "string",
                                      "pattern": "^\\d+e?\\d*$",
                                      "description": "A decimal number"
                                    }
                                  ],
                                  "title": "Address",
                                  "description": "An address on the specified blockchain network"
                                },
                                "depth_percent": {
                                  "type": [
                                    "number",
                                    "null"
                                  ],
                                  "minimum": 0
                                },
                                "depth0": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "pattern": "^\\d+e?\\d*$",
                                  "description": "A decimal number"
                                },
                                "depth1": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "pattern": "^\\d+e?\\d*$",
                                  "description": "A decimal number"
                                },
                                "distributed": {
                                  "type": "string",
                                  "pattern": "^\\d+e?\\d*$",
                                  "description": "A decimal number"
                                },
                                "scheduled": {
                                  "type": "string",
                                  "pattern": "^\\d+e?\\d*$",
                                  "description": "A decimal number"
                                },
                                "daily_rewards": {
                                  "type": "string",
                                  "pattern": "^\\d+e?\\d*$",
                                  "description": "A decimal number"
                                },
                                "daily_rewards_token0": {
                                  "type": "string",
                                  "pattern": "^\\d+e?\\d*$",
                                  "description": "A decimal number"
                                },
                                "daily_rewards_token1": {
                                  "type": "string",
                                  "pattern": "^\\d+e?\\d*$",
                                  "description": "A decimal number"
                                },
                                "realized_volatility": {
                                  "type": [
                                    "number",
                                    "null"
                                  ],
                                  "minimum": 0
                                }
                              },
                              "required": [
                                "token0",
                                "token1",
                                "depth_percent",
                                "depth0",
                                "depth1",
                                "distributed",
                                "scheduled",
                                "daily_rewards",
                                "daily_rewards_token0",
                                "daily_rewards_token1",
                                "realized_volatility"
                              ]
                            }
                          }
                        },
                        "required": [
                          "slug",
                          "chain_id",
                          "coreAddress",
                          "allowedLockers",
                          "name",
                          "rewardToken",
                          "startTime",
                          "endTime",
                          "nextDropTime",
                          "allowedExtensions",
                          "pairs"
                        ]
                      }
                    }
                  },
                  "required": [
                    "campaigns"
                  ],
                  "description": "Response for list campaigns endpoint"
                }
              }
            }
          }
        }
      }
    },
    "/rewards/{chainId}/{locker}/{salt}": {
      "get": {
        "tags": [
          "Incentives"
        ],
        "summary": "Get position rewards",
        "description": "Returns the computed rewards for a specified position",
        "operationId": "get_ListRewardsForLocker",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "The ID of the network that is being fetched",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": true,
            "description": "The ID of the network that is being fetched",
            "name": "chainId",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "locker",
            "in": "path"
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Numeric",
              "description": "A number represented in hexadecimal or decimal"
            },
            "required": true,
            "description": "A number represented in hexadecimal or decimal",
            "name": "salt",
            "in": "path"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filter to rewards in periods that started at or after this time"
            },
            "required": false,
            "description": "Filter to rewards in periods that started at or after this time",
            "name": "startTime",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filter to rewards in periods that ended at or before this time"
            },
            "required": false,
            "description": "Filter to rewards in periods that ended at or before this time",
            "name": "endTime",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "The computed rewards for each campaign and the specified position",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "rewards": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "campaignSlug": {
                            "type": "string"
                          },
                          "amount": {
                            "type": "string",
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          },
                          "pending": {
                            "type": "string",
                            "pattern": "^\\d+e?\\d*$",
                            "description": "A decimal number"
                          }
                        },
                        "required": [
                          "campaignSlug",
                          "amount",
                          "pending"
                        ]
                      }
                    }
                  },
                  "required": [
                    "rewards"
                  ],
                  "description": "The list of rewards for a specified position"
                }
              }
            }
          }
        }
      }
    },
    "/claims/{address}": {
      "get": {
        "tags": [
          "Incentives"
        ],
        "summary": "List available claims",
        "description": "Returns all the claims available for the address",
        "operationId": "get_ListClaimsForAddress",
        "parameters": [
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^0x[a-fA-F0-9]+$",
                  "description": "A hexadecimal number"
                },
                {
                  "type": "string",
                  "pattern": "^\\d+e?\\d*$",
                  "description": "A decimal number"
                }
              ],
              "title": "Address",
              "description": "An address on the specified blockchain network"
            },
            "required": true,
            "description": "An address on the specified blockchain network",
            "name": "address",
            "in": "path"
          },
          {
            "schema": {
              "type": "integer",
              "title": "Chain ID",
              "description": "Restrict claims to the specified chain ID",
              "format": "int64",
              "minimum": 1,
              "maximum": 9223372036854776000
            },
            "required": false,
            "description": "Restrict claims to the specified chain ID",
            "name": "chainId",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "The list of claims for an address",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "claims": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "campaign": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "chainId": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "dropAddress": {
                            "type": "string",
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "description": "A hexadecimal number"
                          },
                          "key": {
                            "type": "object",
                            "properties": {
                              "owner": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "pattern": "^0x[a-fA-F0-9]+$",
                                    "description": "A hexadecimal number"
                                  },
                                  {
                                    "type": "string",
                                    "pattern": "^\\d+e?\\d*$",
                                    "description": "A decimal number"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ],
                                "title": "Address",
                                "description": "An address on the specified blockchain network"
                              },
                              "token": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              },
                              "root": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "description": "A hexadecimal number"
                              }
                            },
                            "required": [
                              "owner",
                              "token",
                              "root"
                            ]
                          },
                          "claim": {
                            "type": "object",
                            "properties": {
                              "index": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "account": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "pattern": "^0x[a-fA-F0-9]+$",
                                    "description": "A hexadecimal number"
                                  },
                                  {
                                    "type": "string",
                                    "pattern": "^\\d+e?\\d*$",
                                    "description": "A decimal number"
                                  }
                                ],
                                "title": "Address",
                                "description": "An address on the specified blockchain network"
                              },
                              "amount": {
                                "type": "string",
                                "pattern": "^\\d+e?\\d*$",
                                "description": "A decimal number"
                              }
                            },
                            "required": [
                              "index",
                              "account",
                              "amount"
                            ]
                          },
                          "proof": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "pattern": "^0x[a-fA-F0-9]+$",
                              "description": "A hexadecimal number"
                            }
                          }
                        },
                        "required": [
                          "campaign",
                          "chainId",
                          "dropAddress",
                          "key",
                          "claim",
                          "proof"
                        ]
                      }
                    }
                  },
                  "required": [
                    "claims"
                  ],
                  "description": "The list of claims for the given address"
                }
              }
            }
          }
        }
      }
    }
  },
  "webhooks": {}
}
