{
  "openapi": "3.0.0",
  "info": {
    "version": "2.2",
    "title": "EVM API"
  },
  "servers": [
    {
      "url": "https://service.kayalabs.io/evm"
    }
  ],
  "paths": {
    "/{address}/nft": {
      "get": {
        "tags": [
          "NFT",
          "Get NFTs"
        ],
        "summary": "Get NFTs by wallet",
        "description": "Get NFTs owned by a given address.\n* The response will include status [SYNCED/SYNCING] based on the contracts being indexed.\n* Use the token_address param to get results for a specific contract only\n* Note that results will include all indexed NFTs\n* Any request that includes the token_address param will start the indexing process for that NFT collection the very first time it is requested.",
        "operationId": "getWalletNFTs",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "The format of the token ID",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "decimal",
                "hex"
              ],
              "default": "decimal",
              "example": "decimal"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "exclude_spam",
            "in": "query",
            "description": "Should spam NFTs be excluded from the result?",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "token_addresses",
            "in": "query",
            "description": "The addresses to get balances for (optional)",
            "required": false,
            "schema": {
              "type": "array",
              "maxItems": 10,
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "normalizeMetadata",
            "in": "query",
            "description": "Should normalized metadata be returned?",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "media_items",
            "in": "query",
            "description": "Should preview media data be returned?",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "include_prices",
            "in": "query",
            "description": "Should NFT last sale prices be included in the result?",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the wallet",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xcB1C1FdE09f811B294172696404e88E658659905"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a collection of NFT owners",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/nftOwnerCollection"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/nft/getMultipleNFTs": {
      "post": {
        "tags": [
          "NFT",
          "Get Mutiple NFTs"
        ],
        "summary": "Get Multiple NFTs",
        "description": "Returns an array of NFTs specified in the request.\n* Note that results will include all indexed NFTs\n* Any request that includes the token_address param will start the indexing process for that NFT collection the very first time it is requested.\n* Only 25 NFTs can be fetched in one API call.",
        "operationId": "getMultipleNFTs",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          }
        ],
        "requestBody": {
          "description": "Body",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetMultipleNftsDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a collection of NFT owners",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/nftOwner"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/{address}/nft/transfers": {
      "get": {
        "tags": [
          "NFT",
          "Get Transfers"
        ],
        "summary": "Get NFT transfers by wallet",
        "description": "Get transfers of NFTs given the wallet and other parameters.",
        "operationId": "getWalletNFTTransfers",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "contract_addresses",
            "in": "query",
            "description": "List of contract addresses of transfers",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "The format of the token ID",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "decimal",
                "hex"
              ],
              "default": "decimal",
              "example": "decimal"
            }
          },
          {
            "name": "from_block",
            "in": "query",
            "description": "The minimum block number from which to get the transfers\n* Provide the param 'from_block' or 'from_date'\n* If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "to_block",
            "in": "query",
            "description": "To get the reserves at this block number",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from_date",
            "in": "query",
            "description": "The date from where to get the transfers (format in seconds or datestring accepted by momentjs)\n* Provide the param 'from_block' or 'from_date'\n* If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to_date",
            "in": "query",
            "description": "Get transfers up until this date (format in seconds or datestring accepted by momentjs)\n* Provide the param 'to_block' or 'to_date'\n* If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_prices",
            "in": "query",
            "description": "Should NFT last sale prices be included in the result?",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "The order of the result, in ascending (ASC) or descending (DESC)",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/orderList"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The wallet address of the sender or recipient of the transfers",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xcB1C1FdE09f811B294172696404e88E658659905"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a collection of NFT transfers",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/nftTransferCollection"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/{address}/nft/collections": {
      "get": {
        "tags": [
          "NFT",
          "Get Collections"
        ],
        "summary": "Get NFT collections by wallet",
        "description": "Get NFT collections owned by a given wallet address.",
        "operationId": "getWalletNFTCollections",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "exclude_spam",
            "in": "query",
            "description": "Should spam NFTs be excluded from the result?",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "token_counts",
            "in": "query",
            "description": "Should token counts per collection be included in the response?",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The wallet address of the owner of NFTs in the collections",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xcB1C1FdE09f811B294172696404e88E658659905"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the NFT collections owned by a wallet",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/nftWalletCollections"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/nft/{address}": {
      "get": {
        "tags": [
          "NFT",
          "Get NFTs"
        ],
        "summary": "Get NFTs by contract",
        "description": "Get NFTs for a given contract address, including metadata for all NFTs (where available).\n* Results are limited to 100 per page by default\n* Requests for contract addresses not yet indexed will automatically start the indexing process for that NFT collection.",
        "operationId": "getContractNFTs",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "The format of the token ID",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "decimal",
                "hex"
              ],
              "default": "decimal",
              "example": "decimal"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "totalRanges",
            "in": "query",
            "description": "The number of subranges to split the results into",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "range",
            "in": "query",
            "description": "The desired subrange to query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "normalizeMetadata",
            "in": "query",
            "description": "Should normalized metadata be returned?",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "media_items",
            "in": "query",
            "description": "Should preview media data be returned?",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "include_prices",
            "in": "query",
            "description": "Should NFT last sale prices be included in the result?",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the NFT contract",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x306b1ea3ecdf94aB739F1910bbda052Ed4A9f949"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a collection of NFTs",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/nftCollection"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/nft/{address}/owners": {
      "get": {
        "tags": [
          "NFT",
          "Get Owners"
        ],
        "summary": "Get NFT owners by contract",
        "description": "Get owners of NFTs for a given contract.\n* Requests for contract addresses not yet indexed will automatically start the indexing process for that NFT collection.",
        "operationId": "getNFTOwners",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "The format of the token ID",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "decimal",
                "hex"
              ],
              "default": "decimal",
              "example": "decimal"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "normalizeMetadata",
            "in": "query",
            "description": "Should normalized metadata be returned?",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "media_items",
            "in": "query",
            "description": "Should preview media data be returned?",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the NFT contract",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x306b1ea3ecdf94ab739f1910bbda052ed4a9f949"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a collection of NFT owners",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/nftOwnerCollection"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/nft/{address}/transfers": {
      "get": {
        "tags": [
          "NFT",
          "Get Transfers"
        ],
        "summary": "Get NFT transfers by contract",
        "description": "Get transfers of NFTs for a given contract and other parameters.",
        "operationId": "getNFTContractTransfers",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "from_block",
            "in": "query",
            "description": "The minimum block number from where to get the transfers\n* Provide the param 'from_block' or 'from_date'\n* If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "to_block",
            "in": "query",
            "description": "The maximum block number from where to get the transfers.\n* Provide the param 'to_block' or 'to_date'\n* If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "from_date",
            "in": "query",
            "description": "The date from where to get the transfers (format in seconds or datestring accepted by momentjs)\n* Provide the param 'from_block' or 'from_date'\n* If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to_date",
            "in": "query",
            "description": "Get transfers up until this date (format in seconds or datestring accepted by momentjs)\n* Provide the param 'to_block' or 'to_date'\n* If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "The format of the token ID",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "decimal",
                "hex"
              ],
              "default": "decimal",
              "example": "decimal"
            }
          },
          {
            "name": "include_prices",
            "in": "query",
            "description": "Should NFT last sale prices be included in the result?",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "The order of the result, in ascending (ASC) or descending (DESC)",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/orderList"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the NFT contract",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x306b1ea3ecdf94ab739f1910bbda052ed4a9f949"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a collection of NFT transfers",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/nftTransferCollection"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/nft/{address}/nfts-by-traits": {
      "post": {
        "tags": [
          "NFT",
          "Get Market Data"
        ],
        "summary": "Get NFTs by traits",
        "description": "Get NFTs by traits for a given contract.",
        "operationId": "getNFTByContractTraits",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 100
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "The format of the token ID",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "decimal",
                "hex"
              ],
              "default": "decimal",
              "example": "decimal"
            }
          },
          {
            "name": "normalizeMetadata",
            "in": "query",
            "description": "Should normalized metadata be returned?",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "media_items",
            "in": "query",
            "description": "Should preview media data be returned?",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the NFT contract",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x524cab2ec69124574082676e6f654a18df49a048"
            }
          }
        ],
        "requestBody": {
          "description": "Body",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "traits": {
                    "type": "object"
                  }
                },
                "required": [
                  "traits"
                ],
                "example": {
                  "traits": {
                    "Legendary": "Astronaut"
                  }
                }
              },
              "examples": {
                "default": {
                  "value": {
                    "traits": {
                      "Legendary": "Astronaut"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a collection of NFTs",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/nftCollection"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/nft/{address}/traits": {
      "get": {
        "tags": [
          "NFT",
          "Get Market Data"
        ],
        "summary": "Get NFT traits by collection",
        "description": "Get traits of NFTs for a given contract.",
        "operationId": "getNFTTraitsByCollection",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the NFT contract",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x524cab2ec69124574082676e6f654a18df49a048"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the traits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/groupedTraitCollection"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/nft/{address}/traits/paginate": {
      "get": {
        "tags": [
          "NFT",
          "Get Market Data"
        ],
        "summary": "Get NFT traits by collection paginate",
        "description": "Get traits of NFTs for a given contract with pagination.",
        "operationId": "getNFTTraitsByCollectionPaginate",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page).",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "The order of the result, in ascending (ASC) or descending (DESC)",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/orderList"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the NFT contract",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x524cab2ec69124574082676e6f654a18df49a048"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the traits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/traitCollection"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/nft/{address}/traits/resync": {
      "get": {
        "tags": [
          "NFT",
          "Get Market Data"
        ],
        "summary": "Resync NFT Trait",
        "description": "Resync the NFT Trait for a given contract.",
        "operationId": "resyncNFTRarity",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the NFT contract",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x524cab2ec69124574082676e6f654a18df49a048"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The resync request was received and will be executed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/metadataResync"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/nft/{address}/trades": {
      "get": {
        "tags": [
          "NFT",
          "Get Market Data"
        ],
        "summary": "Get NFT trades by collection",
        "description": "Get trades of NFTs for a given contract with the ability to filter by marketplace.",
        "operationId": "getNFTTrades",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/nftTradesChainList"
            }
          },
          {
            "name": "from_block",
            "in": "query",
            "description": "The minimum block number from which to get the transfers\n* Provide the param 'from_block' or 'from_date'\n* If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "to_block",
            "in": "query",
            "description": "The block number to get the trades from",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from_date",
            "in": "query",
            "description": "The start date from which to get the transfers (format in seconds or datestring accepted by momentjs)\n* Provide the param 'from_block' or 'from_date'\n* If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to_date",
            "in": "query",
            "description": "The end date from which to get the transfers (format in seconds or datestring accepted by momentjs)\n* Provide the param 'to_block' or 'to_date'\n* If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "marketplace",
            "in": "query",
            "description": "Marketplace from which to get the trades. See [supported Marketplaces](https://docs.kayalabs.io/web3-data-api/evm/nft-marketplaces).",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "opensea",
                "blur",
                "looksrare",
                "x2y2",
                "0xprotocol"
              ],
              "default": "opensea",
              "example": "opensea"
            },
            "examples": {
              "default": {
                "value": "opensea"
              }
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page).",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "nft_metadata",
            "in": "query",
            "description": "Include the NFT Metadata of the NFT Token",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the NFT contract",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x524cab2ec69124574082676e6f654a18df49a048"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the trades",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tradeCollection"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/nft/{address}/{token_id}/trades": {
      "get": {
        "tags": [
          "NFT",
          "Get Market Data"
        ],
        "summary": "Get NFT trades by token",
        "description": "Get trades of NFTs for a given contract and token ID.",
        "operationId": "getNFTTradesByToken",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/nftTradesChainList"
            }
          },
          {
            "name": "from_block",
            "in": "query",
            "description": "The minimum block number from which to get the transfers\n* Provide the param 'from_block' or 'from_date'\n* If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "to_block",
            "in": "query",
            "description": "The block number to get the trades from",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from_date",
            "in": "query",
            "description": "The start date from which to get the transfers (format in seconds or datestring accepted by momentjs)\n* Provide the param 'from_block' or 'from_date'\n* If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to_date",
            "in": "query",
            "description": "The end date from which to get the transfers (format in seconds or datestring accepted by momentjs)\n* Provide the param 'to_block' or 'to_date'\n* If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page).",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "nft_metadata",
            "in": "query",
            "description": "Include the NFT Metadata of the NFT Token",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the NFT contract",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x524cab2ec69124574082676e6f654a18df49a048"
            }
          },
          {
            "name": "token_id",
            "in": "path",
            "description": "The token ID of the NFT contract",
            "required": true,
            "schema": {
              "type": "string",
              "example": "123"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the trades",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tradeCollection"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/wallets/{address}/nfts/trades": {
      "get": {
        "tags": [
          "NFT",
          "Get Market Data"
        ],
        "summary": "Get NFT trades by wallet address",
        "description": "Get trades of NFTs for a given wallet.",
        "operationId": "getNFTTradesByWallet",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/nftTradesChainList"
            }
          },
          {
            "name": "from_block",
            "in": "query",
            "description": "The minimum block number from which to get the transfers\n* Provide the param 'from_block' or 'from_date'\n* If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "to_block",
            "in": "query",
            "description": "The block number to get the trades from",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from_date",
            "in": "query",
            "description": "The start date from which to get the transfers (format in seconds or datestring accepted by momentjs)\n* Provide the param 'from_block' or 'from_date'\n* If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to_date",
            "in": "query",
            "description": "The end date from which to get the transfers (format in seconds or datestring accepted by momentjs)\n* Provide the param 'to_block' or 'to_date'\n* If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page).",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "nft_metadata",
            "in": "query",
            "description": "Include the NFT Metadata of the NFT Token",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The owner wallet address",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xcB1C1FdE09f811B294172696404e88E658659905"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the trades",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tradeCollection"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/nft/{address}/metadata": {
      "get": {
        "tags": [
          "NFT",
          "Get Collections"
        ],
        "summary": "Get NFT collection metadata",
        "description": "Get the collection / contract level metadata for a given contract (name, symbol, base token URI).\n* Requests for contract addresses not yet indexed will automatically start the indexing process for that NFT collection\n",
        "operationId": "getNFTContractMetadata",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the NFT contract",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x524cab2ec69124574082676e6f654a18df49a048"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the metadata for an NFT collection.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/nftContractMetadata"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/nft/metadata": {
      "post": {
        "tags": [
          "NFT",
          "Get Collections"
        ],
        "summary": "Get metadata for multiple NFT contracts",
        "description": "Get the collection / contract level metadata for a given list of contract addresses (name, symbol). Supports batching up to 25 addresses.\n* Requests for contract addresses not yet indexed will automatically start the indexing process for that NFT collection\n",
        "operationId": "getNFTBulkContractMetadata",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          }
        ],
        "requestBody": {
          "description": "Body",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "addresses": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 25,
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "addresses"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the metadata for the requested NFT collections.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/nftContractMetadata"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/nft/{address}/{token_id}": {
      "get": {
        "tags": [
          "NFT",
          "Get Metadata"
        ],
        "summary": "Get NFT metadata",
        "description": "Get NFT data, including metadata (where available), for the given NFT token ID and contract address.\n* Requests for contract addresses not yet indexed will automatically start the indexing process for that NFT collection\n",
        "operationId": "getNFTMetadata",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "The format of the token ID",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "decimal",
                "hex"
              ],
              "default": "decimal",
              "example": "decimal"
            }
          },
          {
            "name": "normalizeMetadata",
            "in": "query",
            "description": "Should normalized metadata be returned?",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "media_items",
            "in": "query",
            "description": "Should preview media data be returned?",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "include_prices",
            "in": "query",
            "description": "Should NFT last sale prices be included in the result?",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the NFT contract",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x524cab2ec69124574082676e6f654a18df49a048"
            }
          },
          {
            "name": "token_id",
            "in": "path",
            "description": "The ID of the token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "1"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the specified NFT.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/nft"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/nft/{address}/{token_id}/transfers": {
      "get": {
        "tags": [
          "NFT",
          "Get Transfers"
        ],
        "summary": "Get NFT transfers by token ID",
        "description": "Get transfers of an NFT given a contract address and token ID.",
        "operationId": "getNFTTransfers",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "The format of the token ID",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "decimal",
                "hex"
              ],
              "default": "decimal",
              "example": "decimal"
            }
          },
          {
            "name": "include_prices",
            "in": "query",
            "description": "Should NFT last sale prices be included in the result?",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "The order of the result, in ascending (ASC) or descending (DESC)",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/orderList"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the NFT contract",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x524cab2ec69124574082676e6f654a18df49a048"
            }
          },
          {
            "name": "token_id",
            "in": "path",
            "description": "The ID of the token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "1"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a collection of NFT transfers",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/nftTransferCollection"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/nft/{address}/{token_id}/owners": {
      "get": {
        "tags": [
          "NFT",
          "Get Owners"
        ],
        "summary": "Get NFT owners by token ID",
        "description": "Get owners of a specific NFT given the contract address and token ID. \n* Requests for contract addresses not yet indexed will automatically start the indexing process for that NFT collection\n",
        "operationId": "getNFTTokenIdOwners",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "The format of the token ID",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "decimal",
                "hex"
              ],
              "default": "decimal",
              "example": "decimal"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "normalizeMetadata",
            "in": "query",
            "description": "Should normalized metadata be returned?",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "media_items",
            "in": "query",
            "description": "Should preview media data be returned?",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the NFT contract",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x524cab2ec69124574082676e6f654a18df49a048"
            }
          },
          {
            "name": "token_id",
            "in": "path",
            "description": "The ID of the token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "1"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a collection of NFTs with their respective owners.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/nftOwnerCollection"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/nft/{address}/sync": {
      "put": {
        "tags": [
          "NFT",
          "Get Collections"
        ],
        "summary": "Resync NFT Contract",
        "description": "Initiates a sync of a previously non synced contract.",
        "operationId": "syncNFTContract",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the NFT contract",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Contract address was triggered for index.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "example": "Request Initiated"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/nft/{address}/{token_id}/metadata/resync": {
      "get": {
        "tags": [
          "NFT",
          "Get Metadata"
        ],
        "summary": "Resync NFT metadata",
        "description": "Resync the metadata for an NFT\n* The metadata flag will request the NFT's metadata from an already existing token_uri\n* The uri (default) flag will fetch the latest token_uri from the given NFT contract address. In sync mode the metadata will also be fetched\n* The sync mode will make the endpoint synchronous so it will wait for the task to be completed before responding\n* The async mode (default) will make the endpoint asynchronous so we will wait for the task to be completed before responding\n",
        "operationId": "reSyncMetadata",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "flag",
            "in": "query",
            "description": "The type of resync to operate",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "uri",
                "metadata"
              ],
              "default": "uri",
              "example": "uri"
            }
          },
          {
            "name": "mode",
            "in": "query",
            "description": "To define the behaviour of the endpoint",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "async",
                "sync"
              ],
              "default": "async",
              "example": "sync"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the NFT contract",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB"
            }
          },
          {
            "name": "token_id",
            "in": "path",
            "description": "The ID of the token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "1"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "(In sync mode) Resync request executed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/metadataResync"
                }
              }
            }
          },
          "202": {
            "description": "The resync request was received and will be executed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/metadataResync"
                }
              }
            }
          },
          "404": {
            "description": "(In sync mode) Resync request executed and metadata could not be updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/metadataResync"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/nft/{address}/price": {
      "get": {
        "tags": [
          "NFT",
          "Get Market Data"
        ],
        "summary": "Get NFT sold price by collection",
        "description": "Get the sold price for an NFT contract for the last x days (only trades paid in ETH).",
        "operationId": "getNFTContractSalePrices",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/nftTradesChainList"
            }
          },
          {
            "name": "days",
            "in": "query",
            "description": "The number of days to look back to find the lowest price\nIf not provided 7 days will be the default and 365 is the maximum\n",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the NFT collection",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the sold price details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/soldPrice"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/nft/{address}/{token_id}/price": {
      "get": {
        "tags": [
          "NFT",
          "Get Market Data"
        ],
        "summary": "Get NFT sold price by token",
        "description": "Get the sold price for an NFT token for the last x days (only trades paid in ETH).",
        "operationId": "getNFTSalePrices",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/nftTradesChainList"
            }
          },
          {
            "name": "days",
            "in": "query",
            "description": "The number of days to look back to find the lowest price\nIf not provided 7 days will be the default and 365 is the maximum\n",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the NFT collection",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D"
            }
          },
          {
            "name": "token_id",
            "in": "path",
            "description": "The token id of the NFT collection",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the sold price details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/soldPrice"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/erc20/{address}/price": {
      "get": {
        "tags": [
          "Token",
          "Get Market Data"
        ],
        "summary": "Get ERC20 token price",
        "description": "Get the token price denominated in the blockchain's native token and USD.",
        "operationId": "getTokenPrice",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "exchange",
            "in": "query",
            "description": "The factory name or address of the token exchange",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to_block",
            "in": "query",
            "description": "The block number from which the token price should be checked",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "include",
            "in": "query",
            "description": "This parameter is now deprecated as percentage change are included by default",
            "required": false,
            "deprecated": true,
            "schema": {
              "type": "string",
              "enum": [
                "percent_change"
              ],
              "default": "",
              "example": ""
            }
          },
          {
            "name": "max_token_inactivity",
            "in": "query",
            "description": "Exclude tokens inactive for more than the given amount of days",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "min_pair_side_liquidity_usd",
            "in": "query",
            "description": "Exclude tokens with liquidity less than the specified amount in USD. This parameter refers to the liquidity on a single side of the pair.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the token contract",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the price denominated in the blockchain's native token and USD for a given token contract address",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/erc20Price"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/erc20/{address}/swaps": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get swap transactions by token address.",
        "description": "Get all swap related transactions (buy, sell)",
        "operationId": "getSwapsByTokenAddress",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "The order of the result, in ascending (ASC) or descending (DESC)",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/orderList"
            }
          },
          {
            "name": "fromBlock",
            "in": "query",
            "description": "The minimum block number from which to get the token transactions\n* Provide the param 'from_block' or 'from_date'\n* If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "toBlock",
            "in": "query",
            "description": "The block number to get the token transactions from",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fromDate",
            "in": "query",
            "description": "The start date from which to get the token transactions (format in seconds or datestring accepted by momentjs)\n* Provide the param 'from_block' or 'from_date'\n* If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "description": "The end date from which to get the token transactions (format in seconds or datestring accepted by momentjs)\n* Provide the param 'to_block' or 'to_date'\n* If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transactionTypes",
            "in": "query",
            "description": "Array of transaction types. Allowed values are 'buy', 'sell'.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The token address to get transaction for",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x6982508145454ce325ddbe47a25d4ec3d2311933"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns swap transactions by wallet address.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getSwapsByWalletAddressResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/erc20/{tokenAddress}/holders": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get holders summary by token address.",
        "description": "Get token holder summary",
        "operationId": "getTokenHolders",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "tokenAddress",
            "in": "path",
            "description": "The token address to get transaction for",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x6982508145454ce325ddbe47a25d4ec3d2311933"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns token holder summary result",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TokenHolderSummaryResult"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/erc20/{tokenAddress}/holders/historical": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get holders summary by token address.",
        "description": "Get token holder summary",
        "operationId": "getHistoricalTokenHolders",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "fromDate",
            "in": "query",
            "description": "The starting date (format in seconds or datestring accepted by momentjs)\n* Provide the param 'fromBlock' or 'fromDate'\n* If 'fromDate' and 'fromBlock' are provided, 'fromBlock' will be used.\n",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2025-01-01T10:00:00"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "description": "The ending date (format in seconds or datestring accepted by momentjs)\n* Provide the param 'toBlock' or 'toDate'\n* If 'toDate' and 'toBlock' are provided, 'toBlock' will be used.\n",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2025-02-01T11:00:00"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The number of results to return",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page)",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "timeFrame",
            "in": "query",
            "description": "The time frame to group the data by",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "1min",
                "5min",
                "10min",
                "30min",
                "1h",
                "4h",
                "12h",
                "1d",
                "1w",
                "1m"
              ],
              "default": "1min",
              "example": "1d"
            }
          },
          {
            "name": "tokenAddress",
            "in": "path",
            "description": "The chain to query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TokenHolderTimelineResult"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/erc20/prices": {
      "post": {
        "tags": [
          "Token",
          "Get Market Data"
        ],
        "summary": "Get Multiple ERC20 token prices",
        "description": "Returns an array of token prices denominated in the blockchain's native token and USD for a given token contract address",
        "operationId": "getMultipleTokenPrices",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "include",
            "in": "query",
            "description": "This parameter is now deprecated as percentage change are included by default",
            "required": false,
            "deprecated": true,
            "schema": {
              "type": "string",
              "enum": [
                "percent_change"
              ],
              "default": "",
              "example": ""
            }
          },
          {
            "name": "max_token_inactivity",
            "in": "query",
            "description": "Exclude tokens inactive for more than the given amount of days",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "min_pair_side_liquidity_usd",
            "in": "query",
            "description": "Exclude tokens with liquidity less than the specified amount in USD. This parameter refers to the liquidity on a single side of the pair.",
            "required": false,
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "description": "Body",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetMultipleTokenPricesDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns an array of token prices denominated in the blockchain's native token and USD for a given token contract address",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/erc20Price"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/erc20/{token_address}/owners": {
      "get": {
        "tags": [
          "Token",
          "Get Ownership"
        ],
        "summary": "Get ERC20 token owners by contract",
        "description": "Identify the major holders of an ERC20 token and understand their ownership percentages",
        "operationId": "getTokenOwners",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page).",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "The order of the result, in ascending (ASC) or descending (DESC)",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/orderList"
            }
          },
          {
            "name": "token_address",
            "in": "path",
            "description": "The address of the token contract",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x6982508145454ce325ddbe47a25d4ec3d2311933"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a collection of owners of an ERC20 token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/erc20TokenOwnerCollection"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/{address}/erc20": {
      "get": {
        "tags": [
          "Token",
          "Get Balance"
        ],
        "summary": "Get ERC20 token balance by wallet",
        "description": "Get token balances for a specific wallet address.",
        "operationId": "getWalletTokenBalances",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "to_block",
            "in": "query",
            "description": "The block number up to which the balances will be checked.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "token_addresses",
            "in": "query",
            "description": "The addresses to get balances for (optional)",
            "required": false,
            "schema": {
              "type": "array",
              "maxItems": 10,
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "exclude_spam",
            "in": "query",
            "description": "Exclude spam tokens from the result",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address from which token balances will be checked",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xcB1C1FdE09f811B294172696404e88E658659905"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns token balances for a specific address",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/erc20TokenBalance"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/{address}/erc20/transfers": {
      "get": {
        "tags": [
          "Token",
          "Get Transactions"
        ],
        "summary": "Get ERC20 token transactions by wallet",
        "description": "Get ERC20 token transactions ordered by block number in descending order.",
        "operationId": "getWalletTokenTransfers",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "from_block",
            "in": "query",
            "description": "The minimum block number from which to get the transactions\n* Provide the param 'from_block' or 'from_date'\n* If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "to_block",
            "in": "query",
            "description": "The maximum block number from which to get the transactions.\n* Provide the param 'to_block' or 'to_date'\n* If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "from_date",
            "in": "query",
            "description": "The start date from which to get the transactions (format in seconds or datestring accepted by momentjs)\n* Provide the param 'from_block' or 'from_date'\n* If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to_date",
            "in": "query",
            "description": "Get the transactions up to this date (format in seconds or datestring accepted by momentjs)\n* Provide the param 'to_block' or 'to_date'\n* If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contract_addresses",
            "in": "query",
            "description": "List of contract addresses of transfers",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "The order of the result, in ascending (ASC) or descending (DESC)",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/orderList"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the wallet",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xcB1C1FdE09f811B294172696404e88E658659905"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a collection of token transactions.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/erc20TransactionCollection"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/erc20/metadata": {
      "get": {
        "tags": [
          "Token",
          "Get Metadata"
        ],
        "summary": "Get ERC20 token metadata by contract",
        "description": "Get the metadata for a given token contract address (name, symbol, decimals, logo).",
        "operationId": "getTokenMetadata",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "addresses",
            "in": "query",
            "description": "The addresses to get metadata for",
            "required": true,
            "schema": {
              "type": "array",
              "maxItems": 10,
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get the metadata for a given ERC20 token contract address (name, symbol, decimals, logo).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/erc20Metadata"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/erc20/metadata/symbols": {
      "get": {
        "tags": [
          "Token",
          "Get Metadata"
        ],
        "summary": "Get ERC20 token metadata by symbols",
        "description": "Get the metadata for a list of token symbols (name, symbol, decimals, logo).",
        "operationId": "getTokenMetadataBySymbol",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "symbols",
            "in": "query",
            "description": "The symbols to get metadata for",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "example": "LINK"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns metadata for a given token contract address (name, symbol, decimals, logo).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/erc20Metadata"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/erc20/{address}/transfers": {
      "get": {
        "tags": [
          "Token",
          "Get Transactions"
        ],
        "summary": "Get ERC20 token transactions by contract",
        "description": "Get ERC20 token transactions from a contract ordered by block number in descending order.",
        "operationId": "getTokenTransfers",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "from_block",
            "in": "query",
            "description": "The minimum block number from which to get the transfers\n* Provide the param 'from_block' or 'from_date'\n* If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "to_block",
            "in": "query",
            "description": "The maximum block number from which to get the transfers.\n* Provide the param 'to_block' or 'to_date'\n* If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "from_date",
            "in": "query",
            "description": "The start date from which to get the transfers (format in seconds or datestring accepted by momentjs)\n* Provide the param 'from_block' or 'from_date'\n* If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to_date",
            "in": "query",
            "description": "Get transfers up until this date (format in seconds or datestring accepted by momentjs)\n* Provide the param 'to_block' or 'to_date'\n* If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "The order of the result, in ascending (ASC) or descending (DESC)",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/orderList"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the token contract",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a collection of token contract transactions.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/erc20TransactionCollection"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/{address}/balance": {
      "get": {
        "tags": [
          "Balance"
        ],
        "summary": "Get native balance by wallet",
        "description": "Get the native balance for a specific wallet address.",
        "operationId": "getNativeBalance",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "to_block",
            "in": "query",
            "description": "The block number up to which the balances will be checked.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address from which the native balance will be checked",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the native balance for a specific address",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/nativeBalance"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "balance"
      }
    },
    "/wallets/balances": {
      "get": {
        "tags": [
          "Balance"
        ],
        "summary": "Get balance for a set of wallet",
        "description": "Get the native balances for a set of specific addresses",
        "operationId": "getNativeBalancesForAddresses",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "to_block",
            "in": "query",
            "description": "The block number on which the balances should be checked",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "wallet_addresses",
            "in": "query",
            "description": "The addresses to get metadata for",
            "required": true,
            "schema": {
              "type": "array",
              "maxItems": 25,
              "items": {
                "type": "string",
                "example": "0xE92d1A43df510F82C66382592a047d288f85226f"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a collection of balances",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/nativeBalances"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "balance"
      }
    },
    "/wallets/{address}/approvals": {
      "get": {
        "tags": [
          "Wallets"
        ],
        "summary": "Get ERC20 approvals by wallet",
        "description": "Retrieve active ERC20 token approvals for the specified wallet address",
        "operationId": "getWalletApprovals",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The wallet address from which to retrieve active ERC20 token approvals",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xcB1C1FdE09f811B294172696404e88E658659905"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns active ERC20 token approvals for the specified wallet address",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/walletApprovals"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "wallets"
      }
    },
    "/wallets/{address}/history": {
      "get": {
        "tags": [
          "Wallets"
        ],
        "summary": "Get complete history of wallets",
        "description": "Get the complete history of a wallet",
        "operationId": "getWalletHistory",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "from_block",
            "in": "query",
            "description": "The minimum block number from which to get the transactions\n* Provide the param 'from_block' or 'from_date'\n* If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "to_block",
            "in": "query",
            "description": "The maximum block number from which to get the transactions.\n* Provide the param 'to_block' or 'to_date'\n* If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "from_date",
            "in": "query",
            "description": "The start date from which to get the transactions (format in seconds or datestring accepted by momentjs)\n* Provide the param 'from_block' or 'from_date'\n* If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to_date",
            "in": "query",
            "description": "Get the transactions up to this date (format in seconds or datestring accepted by momentjs)\n* Provide the param 'to_block' or 'to_date'\n* If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_internal_transactions",
            "in": "query",
            "description": "If the result should contain the internal transactions.",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "nft_metadata",
            "in": "query",
            "description": "If the result should contain the nft metadata.",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "The order of the result, in ascending (ASC) or descending (DESC)",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/orderList"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the wallet",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xcB1C1FdE09f811B294172696404e88E658659905"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns wallet history of a wallet address",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/walletHistory"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "wallets"
      }
    },
    "/wallets/{address}/tokens": {
      "get": {
        "tags": [
          "Wallets"
        ],
        "summary": "Get ERC20 token balances with prices by wallet",
        "description": "Get token balances for a specific wallet address and their token prices in USD.",
        "operationId": "getWalletTokenBalancesPrice",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "to_block",
            "in": "query",
            "description": "The block number up to which the balances will be checked.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "token_addresses",
            "in": "query",
            "description": "The addresses to get balances for (optional)",
            "required": false,
            "schema": {
              "type": "array",
              "maxItems": 10,
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "exclude_spam",
            "in": "query",
            "description": "Exclude spam tokens from the result",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "exclude_unverified_contracts",
            "in": "query",
            "description": "Exclude unverified contracts from the result",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "exclude_native",
            "in": "query",
            "description": "Exclude native balance from the result",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "max_token_inactivity",
            "in": "query",
            "description": "Exclude tokens inactive for more than the given amount of days",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "min_pair_side_liquidity_usd",
            "in": "query",
            "description": "Exclude tokens with liquidity less than the specified amount in USD. This parameter refers to the liquidity on a single side of the pair.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address from which token balances will be checked",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xcB1C1FdE09f811B294172696404e88E658659905"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns token balances with prices for a specific address",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/erc20TokenBalanceWithPriceResult"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "wallets"
      }
    },
    "/wallets/{address}/net-worth": {
      "get": {
        "tags": [
          "Wallets"
        ],
        "summary": "Get wallet net worth",
        "description": "Get the net worth of a wallet in USD. We recommend to filter out spam tokens and unverified contracts to get a more accurate result.",
        "operationId": "getWalletNetWorth",
        "parameters": [
          {
            "name": "chains",
            "in": "query",
            "description": "The chains to query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/chainList"
              }
            }
          },
          {
            "name": "exclude_spam",
            "in": "query",
            "description": "Exclude spam tokens from the result",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "example": true
            }
          },
          {
            "name": "exclude_unverified_contracts",
            "in": "query",
            "description": "Exclude unverified contracts from the result",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "example": true
            }
          },
          {
            "name": "max_token_inactivity",
            "in": "query",
            "description": "Exclude tokens inactive for more than the given amount of days",
            "required": false,
            "schema": {
              "type": "number",
              "example": 1
            }
          },
          {
            "name": "min_pair_side_liquidity_usd",
            "in": "query",
            "description": "Exclude tokens with liquidity less than the specified amount in USD. This parameter refers to the liquidity on a single side of the pair.",
            "required": false,
            "schema": {
              "type": "number",
              "example": 1000
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The wallet address",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xcB1C1FdE09f811B294172696404e88E658659905"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the net worth of a wallet in USD",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netWorthResult"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "wallets"
      }
    },
    "/{address}": {
      "get": {
        "tags": [
          "Transaction"
        ],
        "summary": "Get native transactions by wallet",
        "description": "Get native transactions ordered by block number in descending order.",
        "operationId": "getWalletTransactions",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "from_block",
            "in": "query",
            "description": "The minimum block number from which to get the transactions\n* Provide the param 'from_block' or 'from_date'\n* If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "to_block",
            "in": "query",
            "description": "The maximum block number from which to get the transactions.\n* Provide the param 'to_block' or 'to_date'\n* If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "from_date",
            "in": "query",
            "description": "The start date from which to get the transactions (format in seconds or datestring accepted by momentjs)\n* Provide the param 'from_block' or 'from_date'\n* If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to_date",
            "in": "query",
            "description": "Get the transactions up to this date (format in seconds or datestring accepted by momentjs)\n* Provide the param 'to_block' or 'to_date'\n* If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "The order of the result, in ascending (ASC) or descending (DESC)",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/orderList"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "include",
            "in": "query",
            "description": "If the result should contain the internal transactions.",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/includeList"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the wallet",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xcB1C1FdE09f811B294172696404e88E658659905"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a collection of native transactions.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transactionCollection"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "transaction"
      }
    },
    "/{address}/verbose": {
      "get": {
        "tags": [
          "Transaction"
        ],
        "summary": "Get decoded transactions by wallet",
        "description": "Get native transactions and logs ordered by block number in descending order.",
        "operationId": "getWalletTransactionsVerbose",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "from_block",
            "in": "query",
            "description": "The minimum block number from which to get the transactions\n* Provide the param 'from_block' or 'from_date'\n* If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "to_block",
            "in": "query",
            "description": "The maximum block number from which to get the transactions.\n* Provide the param 'to_block' or 'to_date'\n* If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "from_date",
            "in": "query",
            "description": "The start date from which to get the transactions (format in seconds or datestring accepted by momentjs)\n* Provide the param 'from_block' or 'from_date'\n* If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to_date",
            "in": "query",
            "description": "Get the transactions up to this date (format in seconds or datestring accepted by momentjs)\n* Provide the param 'to_block' or 'to_date'\n* If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include",
            "in": "query",
            "description": "If the result should contain the internal transactions.",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/includeList"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "The order of the result, in ascending (ASC) or descending (DESC)",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/orderList"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the wallet",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xcB1C1FdE09f811B294172696404e88E658659905"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a collection of native transactions.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transactionCollectionVerbose"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "transaction"
      }
    },
    "/transaction/{transaction_hash}": {
      "get": {
        "tags": [
          "Transaction"
        ],
        "summary": "Get transaction by hash",
        "description": "Get the contents of a transaction by the given transaction hash.",
        "operationId": "getTransaction",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "include",
            "in": "query",
            "description": "If the result should contain the internal transactions.",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/includeList"
            }
          },
          {
            "name": "transaction_hash",
            "in": "path",
            "description": "The transaction hash",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xfeda0e8f0d6e54112c28d319c0d303c065d1125c9197bd653682f5fcb0a6c81e"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Transaction details by transaction hash",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/blockTransaction"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "transaction"
      }
    },
    "/transaction/{transaction_hash}/verbose": {
      "get": {
        "tags": [
          "Transaction"
        ],
        "summary": "Get decoded transaction by hash",
        "description": "Get the contents of a transaction by the given transaction hash.",
        "operationId": "getTransactionVerbose",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "include",
            "in": "query",
            "description": "If the result should contain the internal transactions.",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/includeList"
            }
          },
          {
            "name": "transaction_hash",
            "in": "path",
            "description": "The transaction hash",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xfeda0e8f0d6e54112c28d319c0d303c065d1125c9197bd653682f5fcb0a6c81e"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Transaction details by transaction hash",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/blockTransactionVerbose"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "transaction"
      }
    },
    "/block/{block_number_or_hash}": {
      "get": {
        "tags": [
          "Block"
        ],
        "summary": "Get block by hash",
        "description": "Get the contents of a block given the block hash.",
        "operationId": "getBlock",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "include",
            "in": "query",
            "description": "If the result should contain the internal transactions.",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/includeList"
            }
          },
          {
            "name": "block_number_or_hash",
            "in": "path",
            "description": "The block number or block hash",
            "required": true,
            "schema": {
              "type": "string",
              "example": "15863321"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the contents of a block",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/block"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "block"
      }
    },
    "/latestBlockNumber/{chain}": {
      "get": {
        "tags": [
          "Block"
        ],
        "summary": "Get latest block number.",
        "description": "Returns the latest block number for the given chain.",
        "operationId": "getLatestBlockNumber",
        "parameters": [
          {
            "name": "chain",
            "in": "path",
            "description": "The chain to query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the latest block number.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "example": "15863321"
                },
                "examples": {
                  "default": {
                    "value": "15863321"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "block"
      }
    },
    "/dateToBlock": {
      "get": {
        "tags": [
          "Block"
        ],
        "summary": "Get block by date",
        "description": "Get the closest block given the date.",
        "operationId": "getDateToBlock",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Unix date in milliseconds or a datestring (format in seconds or datestring accepted by momentjs)",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the block number and corresponding date and timestamp",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/blockDate"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "block"
      }
    },
    "/{address}/function": {
      "post": {
        "tags": [
          "Utils"
        ],
        "summary": "Run contract function",
        "description": "Run a given function of a contract ABI and retrieve readonly data. [Try it with Swagger](https://service.kayalabs.io/api-docs-2.1/#/Utils/runContractFunction).",
        "operationId": "runContractFunction",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "function_name",
            "in": "query",
            "description": "The function name of the contract",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the contract",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Body",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RunContractDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns response of the function executed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "utils"
      }
    },
    "/web3/version": {
      "get": {
        "tags": [
          "Utils"
        ],
        "summary": "Get API version",
        "description": "Get the current version of the KayaLabs Web3 API.",
        "operationId": "web3ApiVersion",
        "responses": {
          "200": {
            "description": "Get the current version of the KayaLabs Web3 API.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web3version"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "utils"
      }
    },
    "/info/endpointWeights": {
      "get": {
        "tags": [
          "Utils"
        ],
        "summary": "Get weights of endpoints",
        "description": "Get the cost and rate limit for each API endpoint.",
        "operationId": "endpointWeights",
        "responses": {
          "200": {
            "description": "The cost and rate limit for each API endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/endpointWeights"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "utils"
      }
    },
    "/resolve/{address}/reverse": {
      "get": {
        "tags": [
          "Resolve Web3 Domain"
        ],
        "summary": "ENS lookup by address",
        "description": "Reverse resolve a given ETH address to its ENS domain.",
        "operationId": "resolveAddress",
        "parameters": [
          {
            "name": "address",
            "in": "path",
            "description": "The address to be resolved",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns an ENS",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ens"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "resolve"
      }
    },
    "/resolve/{domain}": {
      "get": {
        "tags": [
          "Resolve Web3 Domain"
        ],
        "summary": "Resolve Unstoppable domain",
        "description": "Resolve a specific Unstoppable domain to its address.",
        "operationId": "resolveDomain",
        "parameters": [
          {
            "name": "currency",
            "in": "query",
            "description": "The currency to query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "eth",
                "0x1"
              ],
              "default": "eth",
              "example": "eth"
            }
          },
          {
            "name": "domain",
            "in": "path",
            "description": "The domain to be resolved",
            "required": true,
            "schema": {
              "type": "string",
              "example": "brad.crypto"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns an address",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/resolve"
                }
              }
            }
          },
          "404": {
            "description": "Returns an address",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "resolve"
      }
    },
    "/resolve/{address}/domain": {
      "get": {
        "tags": [
          "Resolve Web3 Domain"
        ],
        "summary": "Resolve Address to Unstoppable domain",
        "description": "Resolve a specific address to its Unstoppable domain",
        "operationId": "resolveAddressToDomain",
        "parameters": [
          {
            "name": "currency",
            "in": "query",
            "description": "The currency to query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "eth",
                "0x1"
              ],
              "default": "eth",
              "example": "eth"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address to be resolved",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x94ef5300cbc0aa600a821ccbc561b057e456ab23"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns an unstoppable domain",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/unstoppableDomain"
                }
              }
            }
          },
          "404": {
            "description": "Returns an unstoppable domain",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "resolve"
      }
    },
    "/resolve/ens/{domain}": {
      "get": {
        "tags": [
          "Resolve Web3 Domain"
        ],
        "summary": "ENS lookup by domain",
        "description": "Resolve a specific ENS domain to its address.",
        "operationId": "resolveENSDomain",
        "parameters": [
          {
            "name": "domain",
            "in": "path",
            "description": "The domain to be resolved",
            "required": true,
            "schema": {
              "type": "string",
              "example": "vitalik.eth"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns an address",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/resolve"
                }
              }
            }
          },
          "404": {
            "description": "Returns an address",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "resolve"
      }
    },
    "/{token0_address}/{token1_address}/price": {
      "get": {
        "tags": [
          "DeFi"
        ],
        "summary": "Get DEX token pair price",
        "description": "Get the price of a given token pair. Only Uniswap V2 based exchanges supported at the moment.",
        "operationId": "getPairPrice",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "to_block",
            "in": "query",
            "description": "The block number to get the reserves from",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to_date",
            "in": "query",
            "description": "Get the price up to this date (format in seconds or datestring accepted by momentjs)\n* Provide the param 'to_block' or 'to_date'\n* If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "exchange",
            "in": "query",
            "description": "The factory name or address of the token exchange",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "token0_address",
            "in": "path",
            "description": "The token0 address",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xae7ab96520de3a18e5e111b5eaab095312d7fe84"
            }
          },
          {
            "name": "token1_address",
            "in": "path",
            "description": "The token1 address",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the pair price",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "pair_address": {
                      "type": "string",
                      "example": "0x4028daac072e492d34a3afdbef0ba7e35d8b55c4"
                    },
                    "pair_label": {
                      "type": "string",
                      "example": "stETH/WETH"
                    },
                    "exchange": {
                      "type": "string",
                      "example": "Uniswap v2"
                    },
                    "quote_price": {
                      "type": "string",
                      "example": "1.000094331827400707"
                    },
                    "price_usd": {
                      "type": "string",
                      "example": "2905.023454928171304346"
                    },
                    "base_token": {
                      "$ref": "#/components/schemas/erc20Metadata"
                    },
                    "quote_token": {
                      "$ref": "#/components/schemas/erc20Metadata"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "defi"
      }
    },
    "/{pair_address}/reserves": {
      "get": {
        "tags": [
          "DeFi"
        ],
        "summary": "Get DEX token pair reserves",
        "description": "Get the liquidity reserves for a given pair address. Only Uniswap V2 based exchanges supported at the moment.",
        "operationId": "getPairReserves",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "to_block",
            "in": "query",
            "description": "The block number to get the reserves from",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to_date",
            "in": "query",
            "description": "Get the reserves up to this date (format in seconds or datestring accepted by momentjs)\n* Provide the param 'to_block' or 'to_date'\n* If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pair_address",
            "in": "path",
            "description": "The liquidity pair address",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xa2107fa5b38d9bbd2c461d6edf11b11a50f6b974"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the pair reserves",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "reserve0": {
                      "type": "string",
                      "example": "220969226548536862025877"
                    },
                    "reserve1": {
                      "type": "string",
                      "example": "844810441191293211036"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "defi"
      }
    },
    "/{token0_address}/{token1_address}/pairAddress": {
      "get": {
        "tags": [
          "DeFi"
        ],
        "summary": "Get DEX token pair address",
        "description": "Fetch the pair data of the provided token0+token1 combination.\nThe token0 and token1 options are interchangable (ie. there is no different outcome in \"token0=WETH and token1=USDT\" or \"token0=USDT and token1=WETH\")\n",
        "operationId": "getPairAddress",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "to_block",
            "in": "query",
            "description": "The block number to get the reserves from",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to_date",
            "in": "query",
            "description": "Get the reserves up to this date (format in seconds or datestring accepted by momentjs)\n* Provide the param 'to_block' or 'to_date'\n* If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "exchange",
            "in": "query",
            "description": "The factory name or address of the token exchange",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "uniswapv2",
                "uniswapv3",
                "sushiswapv2",
                "pancakeswapv2",
                "pancakeswapv1",
                "quickswap"
              ],
              "example": "uniswapv2"
            }
          },
          {
            "name": "token0_address",
            "in": "path",
            "description": "The token0 address",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x2b591e99afe9f32eaa6214f7b7629768c40eeb39"
            }
          },
          {
            "name": "token1_address",
            "in": "path",
            "description": "The token1 address",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xdac17f958d2ee523a2206206994597c13d831ec7"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the pair address of the two tokens.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/reservesCollection"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "defi"
      }
    },
    "/market-data/erc20s/top-tokens": {
      "get": {
        "tags": [
          "Market Data"
        ],
        "summary": "Get top ERC20 tokens",
        "description": "Get the top ERC20 tokens by market cap",
        "operationId": "getTopERC20TokensByMarketCap",
        "responses": {
          "200": {
            "description": "Returns the top ERC20 tokens by market cap",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/marketDataERC20Token"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "marketData"
      }
    },
    "/market-data/erc20s/top-movers": {
      "get": {
        "tags": [
          "Market Data"
        ],
        "summary": "Get top ERC20 tokens",
        "description": "Get the top ERC20 tokens by price change",
        "operationId": "getTopERC20TokensByPriceMovers",
        "responses": {
          "200": {
            "description": "Returns an a list of ERC20 tokens with their price change",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/marketDataERC20TokensByPriceMovers"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "marketData"
      }
    },
    "/market-data/nfts/top-collections": {
      "get": {
        "tags": [
          "Market Data"
        ],
        "summary": "Get top NFT collections",
        "description": "Get the top NFT collections by market cap",
        "operationId": "getTopNFTCollectionsByMarketCap",
        "responses": {
          "200": {
            "description": "Returns the top NFT collections by market cap",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/marketDataTopNFTCollectionByMarketCap"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "marketData"
      }
    },
    "/market-data/nfts/hottest-collections": {
      "get": {
        "tags": [
          "Market Data"
        ],
        "summary": "Get hottest NFT collections",
        "description": "Get the hottest NFT collections by trading volume",
        "operationId": "getHottestNFTCollectionsByTradingVolume",
        "responses": {
          "200": {
            "description": "Returns the hottest NFT collections by trading volume",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/marketDataHottestNFTCollectionByTradingVolume"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "marketData"
      }
    },
    "/market-data/global/market-cap": {
      "get": {
        "tags": [
          "Market Data"
        ],
        "summary": "Get top crypto currencies by market cap",
        "description": "Get the top crypto currencies by market cap",
        "operationId": "getTopCryptoCurrenciesByMarketCap",
        "responses": {
          "200": {
            "description": "Returns the top crypto currencies by market cap",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/marketDataTopCryptoCurrenciesByMarketCap"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "marketData"
      }
    },
    "/market-data/global/volume": {
      "get": {
        "tags": [
          "Market Data"
        ],
        "summary": "Get top crypto currencies by trading volume",
        "description": "Get the top crypto currencies by trading volume",
        "operationId": "getTopCryptoCurrenciesByTradingVolume",
        "responses": {
          "200": {
            "description": "Returns the top crypto currencies by trading volume",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/marketDataTopCryptoCurrenciesByMarketCap"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "marketData"
      }
    },
    "/contracts-review": {
      "post": {
        "tags": [
          "Utils"
        ],
        "summary": "Review contracts",
        "description": "Review contracts as spam or not spam",
        "operationId": "reviewContracts",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          }
        ],
        "requestBody": {
          "description": "Body",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContractsReviewDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a message acknowledging the report",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "example": "Submission successful"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "utils"
      }
    },
    "/wallets/{address}/defi/summary": {
      "get": {
        "tags": [
          "Wallets"
        ],
        "summary": "Get the defi summary of a wallet",
        "description": "Get the defi summary of a wallet address.",
        "operationId": "getDefiSummary",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "Wallet address",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xd100d8b69c5ae23d6aa30c6c3874bf47539b95fd"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the defi summary for the wallet address.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/walletDefiSummary"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "wallets"
      }
    },
    "/wallets/{address}/defi/{protocol}/positions": {
      "get": {
        "tags": [
          "Wallets"
        ],
        "summary": "Get detailed defi positions by protocol for a wallet",
        "description": "Get the detailed defi positions by protocol for a wallet address.",
        "operationId": "getDefiPositionsByProtocol",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "Wallet address",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xd100d8b69c5ae23d6aa30c6c3874bf47539b95fd"
            }
          },
          {
            "name": "protocol",
            "in": "path",
            "description": "The protocol to query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/defiProtocolList",
              "example": "aave-v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the defi positions by protocol for the wallet address.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "protocol_name": {
                      "type": "string",
                      "description": "The name of the protocol",
                      "example": "Uniswap v2"
                    },
                    "protocol_id": {
                      "type": "string",
                      "description": "The id of the protocol",
                      "example": "uniswap-v2"
                    },
                    "protocol_url": {
                      "type": "string",
                      "description": "The url of the protocol",
                      "example": "https://app.uniswap.org/pools/v2"
                    },
                    "protocol_logo": {
                      "type": "string",
                      "description": "The logo of the protocol",
                      "example": "https://cdn.kayalabs.io/defi/uniswap.png"
                    },
                    "total_usd_value": {
                      "type": "number",
                      "example": 47754.14278954011
                    },
                    "total_unclaimed_usd_value": {
                      "type": "number",
                      "nullable": true,
                      "example": null
                    },
                    "positions": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/defiProtocolPosition"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "wallets"
      }
    },
    "/wallets/{address}/defi/positions": {
      "get": {
        "tags": [
          "Wallets"
        ],
        "summary": "Get the positions summary of a wallet",
        "description": "Get the positions summary of a wallet address.",
        "operationId": "getDefiPositionsSummary",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "Wallet address",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xd100d8b69c5ae23d6aa30c6c3874bf47539b95fd"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns all defi positions for the wallet address.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/defiPositionSummaryResponse"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "wallets"
      }
    },
    "/wallets/{address}/chains": {
      "get": {
        "tags": [
          "Wallets"
        ],
        "summary": "Get the wallet active chains",
        "description": "Get the active chains for a wallet address.",
        "operationId": "getWalletActiveChains",
        "parameters": [
          {
            "name": "chains",
            "in": "query",
            "description": "The chains to query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/chainList"
              }
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "Wallet address",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xcB1C1FdE09f811B294172696404e88E658659905"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the active chains for the wallet address.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/walletActiveChains"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "wallets"
      }
    },
    "/wallets/{address}/stats": {
      "get": {
        "tags": [
          "Wallets"
        ],
        "summary": "Get the wallet stats",
        "description": "Get the stats for a wallet address.",
        "operationId": "getWalletStats",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "Wallet address",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xcB1C1FdE09f811B294172696404e88E658659905"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the stats for the wallet address.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/walletStat"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "wallets"
      }
    },
    "/nft/{address}/stats": {
      "get": {
        "tags": [
          "NFT",
          "Get Owners"
        ],
        "summary": "Get the nft collection stats",
        "description": "Get the stats for a nft collection address.",
        "operationId": "getNFTCollectionStats",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the NFT collection",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x306b1ea3ecdf94aB739F1910bbda052Ed4A9f949"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the stats for the nft collection address.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/nftCollectionStat"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/nft/{address}/floor-price": {
      "get": {
        "tags": [
          "NFT",
          "Get Floor Price"
        ],
        "summary": "Get NFT floor price by contract",
        "description": "Get floor price for a given contract.",
        "operationId": "getNFTFloorPriceByContract",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/nftFloorPriceChainList"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the NFT contract",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the conract's floor price",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contractFloorPrice"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/nft/{address}/{token_id}/floor-price": {
      "get": {
        "tags": [
          "NFT",
          "Get Floor Price"
        ],
        "summary": "Get NFT floor price by token",
        "description": "Get floor price for a given token.",
        "operationId": "getNFTFloorPriceByToken",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/nftFloorPriceChainList"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the NFT contract",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d"
            }
          },
          {
            "name": "token_id",
            "in": "path",
            "description": "The token ID of the NFT",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2441"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the token's floor price",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tokenFloorPrice"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/nft/{address}/floor-price/historical": {
      "get": {
        "tags": [
          "NFT",
          "Get Floor Price"
        ],
        "summary": "Get historical NFT floor price by contract",
        "description": "Get historical floor price for a given contract.",
        "operationId": "getNFTHistoricalFloorPriceByContract",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/nftFloorPriceChainList"
            }
          },
          {
            "name": "interval",
            "in": "query",
            "description": "The duration to query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/nftFloorPriceIntervalList"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the NFT contract",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the conract's historical floor price",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/historicalContractFloorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "nft"
      }
    },
    "/erc20/{address}/stats": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get the erc20 token stats",
        "description": "Get the stats for a erc20 token",
        "operationId": "getTokenStats",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The address of the erc20 token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x6982508145454ce325ddbe47a25d4ec3d2311933"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the stats for the erc20 token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/erc20TokenStat"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/block/{block_number_or_hash}/stats": {
      "get": {
        "tags": [
          "Block"
        ],
        "summary": "Get the block stats",
        "description": "Get the stats for a block",
        "operationId": "getBlockStats",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "block_number_or_hash",
            "in": "path",
            "description": "The block number or hash",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the stats for the block.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/blockTokenStat"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "block"
      }
    },
    "/discovery/tokens": {
      "post": {
        "tags": [
          "Discovery"
        ],
        "summary": "Returns a list of tokens that match the specified filters and criteria.",
        "description": "Returns a list of tokens that match the specified filters and criteria.",
        "operationId": "getFilteredTokens",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "chain": {
                    "type": "string",
                    "description": "The blockchain identifier",
                    "example": "0x1"
                  },
                  "filters": {
                    "type": "array",
                    "description": "List of filters to apply",
                    "items": {
                      "type": "object",
                      "properties": {
                        "metric": {
                          "$ref": "#/components/schemas/tokenExplorerMetrics",
                          "description": "The metric to filter on",
                          "example": "experiencedBuyers"
                        },
                        "timeFrame": {
                          "$ref": "#/components/schemas/tokenExplorerTimeFrames",
                          "description": "The time frame for the filter",
                          "example": "oneMonth"
                        },
                        "gt": {
                          "type": "number",
                          "description": "Greater-than value for the filter",
                          "example": 10
                        },
                        "lt": {
                          "type": "number",
                          "description": "Less-than value for the filter",
                          "example": 10
                        },
                        "eq": {
                          "type": "number",
                          "description": "Equal-to value for the filter",
                          "example": 10
                        }
                      },
                      "required": [
                        "metric",
                        "timeFrame"
                      ]
                    }
                  },
                  "sortBy": {
                    "type": "object",
                    "description": "Metric and time frame to sort by",
                    "properties": {
                      "metric": {
                        "$ref": "#/components/schemas/tokenExplorerMetrics",
                        "description": "The metric to sort by",
                        "example": "experiencedBuyers"
                      },
                      "timeFrame": {
                        "$ref": "#/components/schemas/tokenExplorerTimeFrames",
                        "description": "The time frame for sorting",
                        "example": "oneHour"
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ASC",
                          "DESC"
                        ],
                        "description": "The order of sorting",
                        "example": "DESC"
                      }
                    },
                    "required": [
                      "metric",
                      "timeFrame",
                      "type"
                    ]
                  },
                  "timeFramesToReturn": {
                    "type": "array",
                    "description": "List of time frames to return in the response",
                    "items": {
                      "$ref": "#/components/schemas/tokenExplorerTimeFrames"
                    },
                    "example": []
                  },
                  "metricsToReturn": {
                    "type": "array",
                    "description": "List of metrics to return in the response",
                    "items": {
                      "$ref": "#/components/schemas/tokenExplorerMetrics"
                    },
                    "example": []
                  },
                  "limit": {
                    "type": "number",
                    "description": "Maximum number of results",
                    "example": 100
                  }
                },
                "required": [
                  "chain",
                  "filters",
                  "sortBy",
                  "limit"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the token details",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "metadata": {
                      "type": "object",
                      "properties": {
                        "tokenAddress": {
                          "type": "string",
                          "example": "0x55d398326f99059ff775485246999027b3197955"
                        },
                        "chainId": {
                          "type": "string",
                          "example": "0x1"
                        },
                        "name": {
                          "type": "string",
                          "example": "Tether USD"
                        },
                        "symbol": {
                          "type": "string",
                          "example": "USDT"
                        },
                        "decimals": {
                          "type": "number",
                          "example": 18
                        },
                        "logo": {
                          "type": "string",
                          "example": "https://example.com/logo.png"
                        },
                        "blockNumberMinted": {
                          "type": "number",
                          "example": 176416
                        },
                        "usdPrice": {
                          "type": "number",
                          "example": 0.9982436729635321
                        },
                        "security": {
                          "type": "object",
                          "properties": {
                            "isOpenSource": {
                              "type": "boolean",
                              "example": true
                            },
                            "isProxy": {
                              "type": "boolean",
                              "example": false
                            },
                            "isMintable": {
                              "type": "boolean",
                              "example": true
                            },
                            "hiddenOwner": {
                              "type": "boolean",
                              "example": false
                            },
                            "buyTax": {
                              "type": "string",
                              "example": "0"
                            },
                            "sellTax": {
                              "type": "string",
                              "example": "0"
                            },
                            "cannotBuy": {
                              "type": "boolean",
                              "example": false
                            },
                            "cannotSellAll": {
                              "type": "boolean",
                              "example": false
                            },
                            "isHoneyPot": {
                              "type": "boolean",
                              "example": false
                            },
                            "securityScore": {
                              "type": "number",
                              "example": 70
                            },
                            "possibleSpam": {
                              "type": "boolean",
                              "example": false
                            }
                          }
                        },
                        "totalSupply": {
                          "type": "string",
                          "example": "1000000000"
                        },
                        "fullyDilutedValue": {
                          "type": "number",
                          "example": 1000000000
                        },
                        "circulatingSupply": {
                          "type": "number",
                          "example": 1000000000
                        },
                        "marketCap": {
                          "type": "number",
                          "example": 1000000000
                        },
                        "links": {
                          "$ref": "#/components/schemas/discoveryTokenLinks"
                        }
                      }
                    },
                    "metrics": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ]
      }
    },
    "/discovery/tokens/rising-liquidity": {
      "get": {
        "tags": [
          "Discovery"
        ],
        "summary": "Get tokens with rising liquidity",
        "description": "Get tokens with rising liquidity",
        "operationId": "getRisingLiquidityTokens",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/discoveryApiChainsList"
            }
          },
          {
            "name": "one_month_liquidity_change_usd",
            "in": "query",
            "description": "The minimum one month liquidity change in usd of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 500000
            }
          },
          {
            "name": "min_market_cap",
            "in": "query",
            "description": "The minimum market cap in usd of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 100000000
            }
          },
          {
            "name": "twitter_followers",
            "in": "query",
            "description": "The minimum twitter followers of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 10000
            }
          },
          {
            "name": "one_month_volume_change_usd",
            "in": "query",
            "description": "The minimum one month volume change in usd of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 10000
            }
          },
          {
            "name": "security_score",
            "in": "query",
            "description": "The minimum security score of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 70
            }
          },
          {
            "name": "one_month_price_percent_change_usd",
            "in": "query",
            "description": "The minimum one month price percent change of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the token details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/discoveryTokens"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ]
      }
    },
    "/discovery/tokens/buying-pressure": {
      "get": {
        "tags": [
          "Discovery"
        ],
        "summary": "Get tokens with buying pressure",
        "description": "Get tokens with buying pressure",
        "operationId": "getBuyingPressureTokens",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/discoveryApiChainsList"
            }
          },
          {
            "name": "one_month_net_volume_change_usd",
            "in": "query",
            "description": "The minimum one month net volume change in usd of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 1000000
            }
          },
          {
            "name": "min_market_cap",
            "in": "query",
            "description": "The minimum market cap in usd of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 100000000
            }
          },
          {
            "name": "twitter_followers",
            "in": "query",
            "description": "The minimum twitter followers of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 10000
            }
          },
          {
            "name": "one_month_volume_change_usd",
            "in": "query",
            "description": "The minimum one month volume change in usd of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 10000
            }
          },
          {
            "name": "security_score",
            "in": "query",
            "description": "The minimum security score of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 70
            }
          },
          {
            "name": "one_month_price_percent_change_usd",
            "in": "query",
            "description": "The minimum one month price percent change of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the token details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/discoveryTokens"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ]
      }
    },
    "/discovery/tokens/solid-performers": {
      "get": {
        "tags": [
          "Discovery"
        ],
        "summary": "Get tokens with solid performance",
        "description": "Get tokens with solid performance",
        "operationId": "getSolidPerformersTokens",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/discoveryApiChainsList"
            }
          },
          {
            "name": "one_month_net_volume_change_usd",
            "in": "query",
            "description": "The minimum one month net volume change in usd of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 100000
            }
          },
          {
            "name": "one_week_net_volume_change_usd",
            "in": "query",
            "description": "The minimum one week net volume change in usd of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 10000
            }
          },
          {
            "name": "one_day_net_volume_change_usd",
            "in": "query",
            "description": "The minimum one day net volume change in usd of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 0
            }
          },
          {
            "name": "one_month_volume_change_usd",
            "in": "query",
            "description": "The minimum one month volume change in usd of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 10000
            }
          },
          {
            "name": "security_score",
            "in": "query",
            "description": "The minimum security score of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 80
            }
          },
          {
            "name": "one_month_price_percent_change_usd",
            "in": "query",
            "description": "The minimum one month price percent change of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the token details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/discoveryTokens"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ]
      }
    },
    "/discovery/tokens/experienced-buyers": {
      "get": {
        "tags": [
          "Discovery"
        ],
        "summary": "Get tokens with experienced buyers",
        "description": "Get tokens with experienced buyers",
        "operationId": "getExperiencedBuyersTokens",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/discoveryApiChainsList"
            }
          },
          {
            "name": "one_week_experienced_net_buyers_change",
            "in": "query",
            "description": "The minimum one week experienced buyers change of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 150
            }
          },
          {
            "name": "min_market_cap",
            "in": "query",
            "description": "The minimum market cap in usd of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 10000000
            }
          },
          {
            "name": "security_score",
            "in": "query",
            "description": "The minimum security score of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 80
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the token details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/discoveryTokens"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ]
      }
    },
    "/discovery/tokens/risky-bets": {
      "get": {
        "tags": [
          "Discovery"
        ],
        "summary": "Get tokens with risky bets",
        "description": "Get tokens with risky bets",
        "operationId": "getRiskyBetsTokens",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/discoveryApiChainsList"
            }
          },
          {
            "name": "max_market_cap",
            "in": "query",
            "description": "The maximum market cap in usd of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 10000000
            }
          },
          {
            "name": "one_week_holders_change",
            "in": "query",
            "description": "The minimum one week holders change of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 25
            }
          },
          {
            "name": "one_week_net_volume_change_usd",
            "in": "query",
            "description": "The minimum one week net volume change in usd of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 500
            }
          },
          {
            "name": "one_month_volume_change_usd",
            "in": "query",
            "description": "The minimum one month volume change in usd of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 10000
            }
          },
          {
            "name": "security_score",
            "in": "query",
            "description": "The minimum security score of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 70
            }
          },
          {
            "name": "one_month_price_percent_change_usd",
            "in": "query",
            "description": "The minimum one month price percent change of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the token details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/discoveryTokens"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ]
      }
    },
    "/discovery/tokens/blue-chip": {
      "get": {
        "tags": [
          "Discovery"
        ],
        "summary": "Get tokens with blue chip",
        "description": "Get tokens with blue chip",
        "operationId": "getBlueChipTokens",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/discoveryApiChainsList"
            }
          },
          {
            "name": "min_market_cap",
            "in": "query",
            "description": "The minimum market cap in usd of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 150000000
            }
          },
          {
            "name": "security_score",
            "in": "query",
            "description": "The minimum security score of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 80
            }
          },
          {
            "name": "min_token_age_in_days",
            "in": "query",
            "description": "The minimum age of token in days",
            "required": false,
            "schema": {
              "type": "number",
              "example": 180
            }
          },
          {
            "name": "time_frame",
            "in": "query",
            "description": "The time frame used for price percent change ordering in response",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/discoverySupportedTimeFrames"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the token details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/discoveryTokens"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ]
      }
    },
    "/discovery/tokens/top-gainers": {
      "get": {
        "tags": [
          "Discovery"
        ],
        "summary": "Get tokens with top gainers",
        "description": "Get tokens with top gainers",
        "operationId": "getTopGainersTokens",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/discoveryApiChainsList"
            }
          },
          {
            "name": "min_market_cap",
            "in": "query",
            "description": "The minimum market cap in usd of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 50000000
            }
          },
          {
            "name": "security_score",
            "in": "query",
            "description": "The minimum security score of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 80
            }
          },
          {
            "name": "time_frame",
            "in": "query",
            "description": "The time frame used for price percent change ordering in response",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/discoverySupportedTimeFrames"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the token details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/discoveryTokens"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ]
      }
    },
    "/discovery/tokens/top-losers": {
      "get": {
        "tags": [
          "Discovery"
        ],
        "summary": "Get tokens with top losers",
        "description": "Get tokens with top losers",
        "operationId": "getTopLosersTokens",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/discoveryApiChainsList"
            }
          },
          {
            "name": "min_market_cap",
            "in": "query",
            "description": "The minimum market cap in usd of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 50000000
            }
          },
          {
            "name": "security_score",
            "in": "query",
            "description": "The minimum security score of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 80
            }
          },
          {
            "name": "time_frame",
            "in": "query",
            "description": "The time frame used for price percent change ordering in response",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/discoverySupportedTimeFrames"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the token details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/discoveryTokens"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ]
      }
    },
    "/discovery/tokens/trending": {
      "get": {
        "tags": [
          "Discovery"
        ],
        "summary": "Get trending tokens",
        "description": "Get trending tokens",
        "operationId": "getTrendingTokens",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/discoveryApiChainsList"
            }
          },
          {
            "name": "min_market_cap",
            "in": "query",
            "description": "The minimum market cap in usd of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 50000000
            }
          },
          {
            "name": "security_score",
            "in": "query",
            "description": "The minimum security score of a token",
            "required": false,
            "schema": {
              "type": "number",
              "example": 80
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the token details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/discoveryTokens"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ]
      }
    },
    "/discovery/token": {
      "get": {
        "tags": [
          "Discovery"
        ],
        "summary": "Get token details",
        "description": "Get token details",
        "operationId": "getDiscoveryToken",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/discoveryApiChainsList"
            }
          },
          {
            "name": "token_address",
            "in": "query",
            "description": "The address of the token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the token details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/discoveryToken"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ]
      }
    },
    "/wallets/{address}/profitability/summary": {
      "get": {
        "tags": [
          "Wallets"
        ],
        "summary": "Get Wallet Profitability Summary",
        "description": "Retrieves a summary of wallet profitability based on specified parameters including optional token addresses.",
        "operationId": "getWalletProfitabilitySummary",
        "parameters": [
          {
            "name": "days",
            "in": "query",
            "description": "Timeframe in days for the profitability summary. Options include 'all', '7', '30', '60', '90' default is 'all'.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/discoveryApiChainsList"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The wallet address for which profitability summary is to be retrieved.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xcB1C1FdE09f811B294172696404e88E658659905"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response with the profitability summary.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "total_count_of_trades": {
                      "type": "number",
                      "description": "Total count of trades executed by the wallet."
                    },
                    "total_trade_volume": {
                      "type": "string",
                      "description": "Total trade volume managed by the wallet."
                    },
                    "total_realized_profit_usd": {
                      "type": "string",
                      "description": "Total realized profit in USD for the wallet."
                    },
                    "total_realized_profit_percentage": {
                      "type": "number",
                      "description": "Total realized profit as a percentage."
                    },
                    "total_buys": {
                      "type": "number",
                      "description": "Total number of buy transactions."
                    },
                    "total_sells": {
                      "type": "number",
                      "description": "Total number of sell transactions."
                    },
                    "total_sold_volume_usd": {
                      "type": "string",
                      "description": "Total USD volume of tokens sold by the wallet."
                    },
                    "total_bought_volume_usd": {
                      "type": "string",
                      "description": "Total USD volume of tokens bought by the wallet."
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "wallets"
      }
    },
    "/wallets/{address}/profitability": {
      "get": {
        "tags": [
          "Wallets"
        ],
        "summary": "Get Wallet Profitability",
        "description": "Retrieves profitability information for a specific wallet address. Can be filtered by one or more tokens.",
        "operationId": "getWalletProfitability",
        "parameters": [
          {
            "name": "days",
            "in": "query",
            "description": "Timeframe in days for which profitability is calculated, Options include 'all', '7', '30', '60', '90' default is 'all'.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/discoveryApiChainsList"
            }
          },
          {
            "name": "token_addresses",
            "in": "query",
            "description": "The token addresses list to filter the result with",
            "required": false,
            "schema": {
              "type": "array",
              "maxItems": 25,
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The wallet address for which profitability is to be retrieved.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xcB1C1FdE09f811B294172696404e88E658659905"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response with profitability data.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WalletProfitabilityResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "wallets"
      }
    },
    "/erc20/{address}/top-gainers": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get Top Profitable Wallets for a Token",
        "description": "Retrieves a list of the top profitable wallets for a specific ERC20 token.",
        "operationId": "getTopProfitableWalletPerToken",
        "parameters": [
          {
            "name": "days",
            "in": "query",
            "description": "Timeframe in days for which profitability is calculated, Options include 'all', '7', '30' default is 'all'.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/discoveryApiChainsList"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The ERC20 token address.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x6982508145454ce325ddbe47a25d4ec3d2311933"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response with top profitable wallets.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WalletTopProfitableWalletPerTokenResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/tokens/search": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Search for tokens based on contract address, token name or token symbol. Premium endpoint available as an add-on. Please contact support for access details.",
        "description": "Search for tokens based on contract address, token name or token symbol. Premium endpoint available as an add-on. Please contact support for access details.",
        "operationId": "searchTokens",
        "parameters": [
          {
            "name": "chains",
            "in": "query",
            "description": "The chains to query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "query",
            "in": "query",
            "description": "The query to search",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the search results",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "total": {
                      "type": "integer",
                      "example": 10000
                    },
                    "result": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "tokenAddress": {
                            "type": "string",
                            "example": "0x6982508145454ce325ddbe47a25d4ec3d2311933"
                          },
                          "chainId": {
                            "type": "string",
                            "example": "0x1"
                          },
                          "name": {
                            "type": "string",
                            "example": "Pepe"
                          },
                          "symbol": {
                            "type": "string",
                            "example": "PEPE"
                          },
                          "blockNumber": {
                            "type": "integer",
                            "example": 17046105
                          },
                          "blockTimestamp": {
                            "type": "integer",
                            "example": 1681483883
                          },
                          "usdPrice": {
                            "type": "number",
                            "format": "float",
                            "example": 0.000024509478199144
                          },
                          "marketCap": {
                            "type": "number",
                            "format": "float",
                            "example": 9825629287.860994
                          },
                          "experiencedNetBuyers": {
                            "type": "object",
                            "properties": {
                              "oneDay": {
                                "type": "integer",
                                "example": 51
                              },
                              "oneWeek": {
                                "type": "integer",
                                "example": 77
                              }
                            }
                          },
                          "netVolumeUsd": {
                            "type": "object",
                            "properties": {
                              "oneDay": {
                                "type": "number",
                                "format": "float",
                                "example": 1188552.0639107914
                              }
                            }
                          },
                          "liquidityChangeUSD": {
                            "type": "object",
                            "properties": {
                              "oneDay": {
                                "type": "number",
                                "format": "float",
                                "example": -387308.4496394396
                              }
                            }
                          },
                          "usdPricePercentChange": {
                            "type": "object",
                            "properties": {
                              "oneDay": {
                                "type": "number",
                                "format": "float",
                                "example": 2.079210724244654
                              }
                            }
                          },
                          "volumeUsd": {
                            "type": "object",
                            "properties": {
                              "oneDay": {
                                "type": "number",
                                "format": "float",
                                "example": 76927981.5281831
                              }
                            }
                          },
                          "securityScore": {
                            "type": "integer",
                            "example": 92
                          },
                          "logo": {
                            "type": "string",
                            "nullable": true,
                            "example": "https://adds-token-info-29a861f.s3.eu-central-1.amazonaws.com/marketing/evm/0x6982508145454ce325ddbe47a25d4ec3d2311933_icon.png"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/entities/search": {
      "get": {
        "tags": [
          "Entities"
        ],
        "summary": "Search Entities",
        "description": "Search for entities, addresses and categories",
        "operationId": "searchEntities",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "description": "The search query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the search results.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/searchEntitiesResponseCollection"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "entities"
      }
    },
    "/entities/{entityId}": {
      "get": {
        "tags": [
          "Entities"
        ],
        "summary": "Get Entity By Id",
        "description": "Get entity by id",
        "operationId": "getEntity",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the entity.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/entityModelWithAddress"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "entities"
      }
    },
    "/entities/categories": {
      "get": {
        "tags": [
          "Entities"
        ],
        "summary": "Get Entity Categories",
        "description": "Get entity categories",
        "operationId": "getEntityCategories",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the entity categories.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/categoryCollection"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "entities"
      }
    },
    "/entities/categories/{categoryId}": {
      "get": {
        "tags": [
          "Entities"
        ],
        "summary": "Get Entities By Category",
        "description": "Get entities by category",
        "operationId": "getEntitiesByCategory",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "categoryId",
            "in": "path",
            "description": "The category Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the entities belonging to the category.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/entitiesWithTotalAddressCollection"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "entities"
      }
    },
    "/pairs/{address}/ohlcv": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get OHLCV by pair address",
        "description": "Get the OHLCV candle stick by using pair address",
        "operationId": "getPairCandlesticks",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "timeframe",
            "in": "query",
            "description": "The timeframe",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "1s",
                "10s",
                "30s",
                "1min",
                "5min",
                "10min",
                "30min",
                "1h",
                "4h",
                "12h",
                "1d",
                "1w",
                "1M"
              ],
              "default": "1h",
              "example": "1h"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "The currency",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "usd",
                "native"
              ],
              "default": "usd",
              "example": "usd"
            }
          },
          {
            "name": "fromDate",
            "in": "query",
            "description": "The starting date (format in seconds or datestring accepted by momentjs)\n* Provide the param 'fromBlock' or 'fromDate'\n* If 'fromDate' and 'fromBlock' are provided, 'fromBlock' will be used.\n",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2025-01-01T10:00:00.000"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "description": "The ending date (format in seconds or datestring accepted by momentjs)\n* Provide the param 'toBlock' or 'toDate'\n* If 'toDate' and 'toBlock' are provided, 'toBlock' will be used.\n",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2025-01-02T10:00:00.000"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The number of results to return",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page)",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The pair address",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xa43fe16908251ee70ef74718545e4fe6c5ccec9f"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the OHLCV data.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/candleSticksResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/pairs/{address}/stats": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get pair stats",
        "description": "Get the pair stats by using pair address",
        "operationId": "getPairStats",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The pair address",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xa43fe16908251ee70ef74718545e4fe6c5ccec9f"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the pair stats.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/pairStatsResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/erc20/{token_address}/pairs": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get token pairs by address",
        "description": "Get the supported pairs for a specific token address.",
        "operationId": "getTokenPairs",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The number of results to return",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page)",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "token_address",
            "in": "path",
            "description": "The address of the token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x6982508145454ce325ddbe47a25d4ec3d2311933"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the supported pairs for the token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tokenSupportedPairsResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/erc20/{token_address}/pairs/stats": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get aggregated token pair statistics by address",
        "description": "Get aggregated statistics across supported pairs of a token.",
        "operationId": "getAggregatedTokenPairStats",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "token_address",
            "in": "path",
            "description": "The address of the token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x6982508145454ce325ddbe47a25d4ec3d2311933"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the statistics for supported pairs of the token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tokenSupportedPairsStatsResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/wallets/{address}/swaps": {
      "get": {
        "tags": [
          "Wallets"
        ],
        "summary": "Get swap transactions by wallet address.",
        "description": "Get all swap related transactions (buy, sell)",
        "operationId": "getSwapsByWalletAddress",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "tokenAddress",
            "in": "query",
            "description": "The token address to get transaction for (optional)",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "fromBlock",
            "in": "query",
            "description": "The minimum block number from which to get the token transactions\n* Provide the param 'from_block' or 'from_date'\n* If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "toBlock",
            "in": "query",
            "description": "The block number to get the token transactions from",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fromDate",
            "in": "query",
            "description": "The start date from which to get the token transactions (format in seconds or datestring accepted by momentjs)\n* Provide the param 'from_block' or 'from_date'\n* If 'from_date' and 'from_block' are provided, 'from_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "description": "The end date from which to get the token transactions (format in seconds or datestring accepted by momentjs)\n* Provide the param 'to_block' or 'to_date'\n* If 'to_date' and 'to_block' are provided, 'to_block' will be used.\n",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "The order of the result, in ascending (ASC) or descending (DESC)",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/orderList"
            }
          },
          {
            "name": "transactionTypes",
            "in": "query",
            "description": "Array of transaction types. Allowed values are 'buy', 'sell'.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The wallet address token-transactions are to be retrieved for.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xcB1C1FdE09f811B294172696404e88E658659905"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns swap transactions by wallet address.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getSwapsByWalletAddressResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "wallets"
      }
    },
    "/pairs/{address}/swaps": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get swap transactions by pair address.",
        "description": "Get all swap related transactions (buy, sell, add liquidity & remove liquidity)",
        "operationId": "getSwapsByPairAddress",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "The cursor returned in the previous response (used for getting the next page).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "fromBlock",
            "in": "query",
            "description": "The minimum block number from which to get the token transactions\n* Provide the param 'fromBlock' or 'fromDate'\n* If 'fromDate' and 'fromBlock' are provided, 'fromBlock' will be used.\n",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "toBlock",
            "in": "query",
            "description": "The block number to get the token transactions from",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fromDate",
            "in": "query",
            "description": "The start date from which to get the token transactions (format in seconds or datestring accepted by momentjs)\n* Provide the param 'fromBlock' or 'fromDate'\n* If 'fromDate' and 'fromBlock' are provided, 'fromBlock' will be used.\n",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "description": "The end date from which to get the token transactions (format in seconds or datestring accepted by momentjs)\n* Provide the param 'toBlock' or 'toDate'\n* If 'toDate' and 'toBlock' are provided, 'toBlock' will be used.\n",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "The order of the result, in ascending (ASC) or descending (DESC)",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/orderList"
            }
          },
          {
            "name": "transactionTypes",
            "in": "query",
            "description": "Array of transaction types. Allowed values are 'buy', 'sell', 'addLiquidity', 'removeLiquidity'.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The pair address token-transactions are to be retrieved for.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xa43fe16908251ee70ef74718545e4fe6c5ccec9f"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns swap transactions by pair address.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getSwapsByPairAddressResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/pairs/{address}/snipers": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get snipers by pair address.",
        "description": "Get all snipers",
        "operationId": "getSnipersByPairAddress",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/chainList"
            }
          },
          {
            "name": "blocksAfterCreation",
            "in": "query",
            "description": "Number of blocks after the creation\n",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 1000,
              "default": 3
            }
          },
          {
            "name": "address",
            "in": "path",
            "description": "The pair address token-transactions are to be retrieved for.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xa3c2076eb97d573cc8842f1db1ecdf7b6f77ba27"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns snipers by pair address.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getSnipersResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/volume/chains": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get volume and chain data",
        "description": "Retrieve data for chains including volume and participant statistics over different time periods.",
        "operationId": "getVolumeStatsByChain",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VolumeChainsResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/volume/categories": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get volume and chain data by categories",
        "description": "Retrieve data for chains including volume and participant statistics over different time periods.",
        "operationId": "getVolumeStatsByCategory",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "default": "",
              "allOf": [
                {
                  "$ref": "#/components/schemas/chainList"
                },
                {
                  "$ref": "#/components/schemas/otherChains"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VolumeCategoriesResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/volume/timeseries": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": " Retrieve timeseries volume data by chain",
        "description": " Retrieve timeseries volume data by chain",
        "operationId": "getTimeSeriesVolume",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "default": "",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/chainList"
                },
                {
                  "$ref": "#/components/schemas/otherChains"
                }
              ]
            }
          },
          {
            "name": "timeframe",
            "in": "query",
            "description": "The timeframe to query",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "1d",
                "7d",
                "30d"
              ],
              "default": "7d",
              "example": "1d"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimeSeriesVolumeResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/volume/timeseries/{categoryId}": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Retrieve timeseries volume data by category",
        "description": "Retrieve timeseries volume data by category",
        "operationId": "getTimeSeriesVolumeByCategory",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "default": "",
              "allOf": []
            }
          },
          {
            "name": "timeframe",
            "in": "query",
            "description": "The timeframe to query",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "1d",
                "7d",
                "30d"
              ],
              "default": "1d",
              "example": "1d"
            }
          },
          {
            "name": "categoryId",
            "in": "path",
            "description": "The category id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimeSeriesVolumeByCategoryResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/volume/timeseries/tokens": {
      "post": {
        "tags": [
          "Token"
        ],
        "summary": "Retrieve timeseries volume data by token addresses",
        "description": "Retrieve timeseries volume data by token addresses",
        "operationId": "getTimeSeriesVolumeByTokens",
        "parameters": [
          {
            "name": "timeframe",
            "in": "query",
            "description": "The timeframe to query",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "1d",
                "7d",
                "30d"
              ],
              "default": "1d",
              "example": "1d"
            }
          }
        ],
        "requestBody": {
          "description": "Body",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetTimeSeriesByTokensDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimeSeriesByTokensData"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/tokens/trending": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get trending tokens",
        "operationId": "getTrendingTokensV2",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "default": "",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/chainList"
                },
                {
                  "$ref": "#/components/schemas/otherChains"
                }
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The desired page size of the result.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "chainId": {
                        "type": "string",
                        "example": "solana"
                      },
                      "tokenAddress": {
                        "type": "string",
                        "example": "7E448GypzBbahPkoUaATMBdYpeycnzyZ1g43myWogxAd"
                      },
                      "name": {
                        "type": "string",
                        "example": "xyz"
                      },
                      "symbol": {
                        "type": "string",
                        "example": "XYZ"
                      },
                      "uniqueName": {
                        "type": "string",
                        "example": "virtual-protocol-1"
                      },
                      "decimals": {
                        "type": "integer",
                        "example": 6
                      },
                      "logo": {
                        "type": "string",
                        "format": "uri",
                        "example": "https://cdn.kayalabs.io/defi/uniswap.png"
                      },
                      "usdPrice": {
                        "type": "number",
                        "example": 0.0111320624006
                      },
                      "createdAt": {
                        "type": "integer",
                        "example": 1738170099
                      },
                      "marketCap": {
                        "type": "integer",
                        "example": 11131944
                      },
                      "liquidityUsd": {
                        "type": "integer",
                        "example": 293609
                      },
                      "holders": {
                        "type": "integer",
                        "example": 13936
                      },
                      "pricePercentChange": {
                        "type": "object",
                        "properties": {
                          "1h": {
                            "type": "number",
                            "example": 7.443570618670547
                          },
                          "4h": {
                            "type": "number",
                            "example": 12.766468433317087
                          },
                          "12h": {
                            "type": "number",
                            "example": 12.766468433317087
                          },
                          "24h": {
                            "type": "number",
                            "example": 12.766468433317087
                          }
                        }
                      },
                      "totalVolume": {
                        "type": "object",
                        "properties": {
                          "1h": {
                            "type": "integer",
                            "example": 19417994
                          },
                          "4h": {
                            "type": "integer",
                            "example": 34480779
                          },
                          "12h": {
                            "type": "integer",
                            "example": 34480779
                          },
                          "24h": {
                            "type": "integer",
                            "example": 34480779
                          }
                        }
                      },
                      "transactions": {
                        "type": "object",
                        "properties": {
                          "1h": {
                            "type": "integer",
                            "example": 51374
                          },
                          "4h": {
                            "type": "integer",
                            "example": 99451
                          },
                          "12h": {
                            "type": "integer",
                            "example": 99451
                          },
                          "24h": {
                            "type": "integer",
                            "example": 99451
                          }
                        }
                      },
                      "buyTransactions": {
                        "type": "object",
                        "properties": {
                          "1h": {
                            "type": "integer",
                            "example": 27703
                          },
                          "4h": {
                            "type": "integer",
                            "example": 54496
                          },
                          "12h": {
                            "type": "integer",
                            "example": 54496
                          },
                          "24h": {
                            "type": "integer",
                            "example": 54496
                          }
                        }
                      },
                      "sellTransactions": {
                        "type": "object",
                        "properties": {
                          "1h": {
                            "type": "integer",
                            "example": 23671
                          },
                          "4h": {
                            "type": "integer",
                            "example": 44955
                          },
                          "12h": {
                            "type": "integer",
                            "example": 44955
                          },
                          "24h": {
                            "type": "integer",
                            "example": 44955
                          }
                        }
                      },
                      "buyers": {
                        "type": "object",
                        "properties": {
                          "1h": {
                            "type": "integer",
                            "example": 14267
                          },
                          "4h": {
                            "type": "integer",
                            "example": 25751
                          },
                          "12h": {
                            "type": "integer",
                            "example": 25751
                          },
                          "24h": {
                            "type": "integer",
                            "example": 25751
                          }
                        }
                      },
                      "sellers": {
                        "type": "object",
                        "properties": {
                          "1h": {
                            "type": "integer",
                            "example": 11100
                          },
                          "4h": {
                            "type": "integer",
                            "example": 19055
                          },
                          "12h": {
                            "type": "integer",
                            "example": 19055
                          },
                          "24h": {
                            "type": "integer",
                            "example": 19055
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/tokens/{tokenAddress}/analytics": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Get token analytics of a specific token address",
        "description": "Retrieve token analytics of a specific token address over different time periods.",
        "operationId": "getTokenAnalytics",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "description": "The chain to query",
            "required": false,
            "schema": {
              "default": "",
              "allOf": [
                {
                  "$ref": "#/components/schemas/chainList"
                },
                {
                  "$ref": "#/components/schemas/otherChains"
                }
              ]
            }
          },
          {
            "name": "tokenAddress",
            "in": "path",
            "description": "The token address to query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x6982508145454ce325ddbe47a25d4ec3d2311933"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TokenAnalyticsData"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    },
    "/tokens/analytics": {
      "post": {
        "tags": [
          "Token"
        ],
        "summary": "Get token analytics of a list of token addresses",
        "description": "Retrieve token analytics of a list of token addresses over different time periods.",
        "operationId": "getMultipleTokenAnalytics",
        "requestBody": {
          "description": "Body",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetMultipleTokenAnalyticsDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MultipleTokenAnalyticsData"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://service.kayalabs.io/evm"
          }
        ],
        "x-tag-sdk": "token"
      }
    }
  },
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "name": "X-API-Key",
        "in": "header",
        "x-default": "test"
      }
    },
    "schemas": {
      "chainList": {
        "type": "string",
        "enum": [
          "eth",
          "0x1",
          "sepolia",
          "0xaa36a7",
          "polygon",
          "0x89",
          "bsc",
          "0x38",
          "bsc testnet",
          "0x61",
          "avalanche",
          "0xa86a",
          "fantom",
          "0xfa",
          "cronos",
          "0x19",
          "arbitrum",
          "0xa4b1",
          "chiliz",
          "0x15b38",
          "chiliz testnet",
          "0x15b32",
          "gnosis",
          "0x64",
          "gnosis testnet",
          "0x27d8",
          "base",
          "0x2105",
          "base sepolia",
          "0x14a34",
          "optimism",
          "0xa",
          "holesky",
          "0x4268",
          "polygon amoy",
          "0x13882",
          "linea",
          "0xe708",
          "moonbeam",
          "0x504",
          "moonriver",
          "0x505",
          "moonbase",
          "0x507",
          "linea sepolia",
          "0xe705",
          "flow",
          "0x2eb",
          "flow-testnet",
          "0x221",
          "ronin",
          "0x7e4",
          "ronin-testnet",
          "0x7e5",
          "lisk",
          "0x46f",
          "lisk-sepolia",
          "0x106a",
          "pulse",
          "0x171"
        ],
        "default": "eth",
        "example": "eth"
      },
      "nftOwnerCollection": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "The syncing status of the address [SYNCING/SYNCED]",
            "example": "SYNCING"
          },
          "page": {
            "type": "integer",
            "description": "The current page of the result",
            "example": "2"
          },
          "page_size": {
            "type": "integer",
            "description": "The number of results per page",
            "example": "100"
          },
          "cursor": {
            "type": "string",
            "description": "The cursor to get to the next page"
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/nftOwner"
            }
          }
        },
        "required": [
          "result"
        ]
      },
      "nftOwner": {
        "type": "object",
        "properties": {
          "token_address": {
            "type": "string",
            "description": "The address of the NFT contract",
            "example": "0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB"
          },
          "token_id": {
            "type": "string",
            "description": "The token ID of the NFT",
            "example": "15"
          },
          "contract_type": {
            "type": "string",
            "description": "The type of NFT contract standard",
            "example": "ERC721"
          },
          "owner_of": {
            "type": "string",
            "description": "The wallet address of the owner of the NFT",
            "example": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e"
          },
          "block_number": {
            "type": "string",
            "description": "The block number when the amount or owner changed",
            "example": "88256"
          },
          "block_number_minted": {
            "type": "string",
            "description": "The block number when the NFT was minted",
            "example": "88256"
          },
          "token_uri": {
            "type": "string",
            "description": "The URI to the metadata of the token"
          },
          "metadata": {
            "type": "string",
            "description": "The metadata of the token"
          },
          "normalized_metadata": {
            "$ref": "#/components/schemas/normalizedMetadata",
            "description": "A normalized metadata version of the NFT's metadata."
          },
          "media": {
            "$ref": "#/components/schemas/media",
            "description": "A set of links to 'thumbnail / preview' media files"
          },
          "amount": {
            "type": "string",
            "description": "The number of this item the user owns (used by ERC1155)",
            "example": "1"
          },
          "name": {
            "type": "string",
            "description": "The name of the NFT contract",
            "example": "CryptoKitties"
          },
          "symbol": {
            "type": "string",
            "description": "The symbol of the NFT contract",
            "example": "RARI"
          },
          "token_hash": {
            "type": "string",
            "description": "The token hash",
            "example": "502cee781b0fb40ea02508b21d319ced"
          },
          "rarity_rank": {
            "type": "number",
            "description": "The rarity rank",
            "example": 21669
          },
          "rarity_percentage": {
            "type": "number",
            "description": "The rarity percentage",
            "example": 98
          },
          "rarity_label": {
            "type": "string",
            "description": "The rarity label",
            "example": "Top 98%"
          },
          "last_token_uri_sync": {
            "type": "string",
            "description": "When the token_uri was last updated",
            "example": "2021-02-24T00:47:26.647Z"
          },
          "last_metadata_sync": {
            "type": "string",
            "description": "When the metadata was last updated",
            "example": "2021-02-24T00:47:26.647Z"
          },
          "possible_spam": {
            "type": "boolean",
            "description": "Indicates if a contract is possibly a spam contract",
            "example": "false"
          },
          "verified_collection": {
            "type": "boolean",
            "description": "Indicates if a contract is verified",
            "example": "false"
          },
          "floor_price": {
            "type": "string",
            "description": "The floor price of the NFT",
            "example": "12345"
          },
          "floor_price_usd": {
            "type": "string",
            "description": "The floor price of the NFT in USD",
            "example": "12345.4899"
          },
          "floor_price_currency": {
            "type": "string",
            "description": "The currency of the floor price",
            "example": "eth"
          },
          "last_sale": {
            "type": "object",
            "nullable": true,
            "description": "Details about the most recent sale involving this token.",
            "properties": {
              "transaction_hash": {
                "type": "string",
                "description": "The transaction hash of the last sale",
                "example": "0x19e14f34b8f120c980f7ba05338d64c00384857fb9c561e2c56d0f575424a95c"
              },
              "block_timestamp": {
                "type": "string",
                "description": "The block timestamp of the last sale",
                "example": "2023-04-04T15:59:11.000Z"
              },
              "buyer_address": {
                "type": "string",
                "description": "The buyer address of the last sale",
                "example": "0xcb1c1fde09f811b294172696404e88e658659905"
              },
              "seller_address": {
                "type": "string",
                "description": "The seller address of the last sale",
                "example": "0x497a7dee2f13db161eb2fec060fa783cb041419f"
              },
              "price": {
                "type": "string",
                "description": "The price of the last sale",
                "example": "7300000000000000"
              },
              "price_formatted": {
                "type": "string",
                "description": "The formatted price of the last sale",
                "example": "0.0073"
              },
              "usd_price_at_sale": {
                "type": "string",
                "description": "The USD price of the last sale",
                "example": "13.61"
              },
              "current_usd_value": {
                "type": "string",
                "description": "The USD price of the last sale at the current value",
                "example": "15.53"
              },
              "token_address": {
                "type": "string",
                "description": "The token address that is sold",
                "example": "0xe8778996e096b39705c6a0a937eb587a1ebbda17"
              },
              "token_id": {
                "type": "string",
                "description": "The token ID that is sold",
                "example": "170"
              },
              "payment_token": {
                "type": "object",
                "description": "The ERC20 token that is being traded with",
                "properties": {
                  "token_name": {
                    "type": "string",
                    "description": "The token name",
                    "example": "Ether"
                  },
                  "token_symbol": {
                    "type": "string",
                    "description": "The token symbol",
                    "example": "ETH"
                  },
                  "token_logo": {
                    "type": "string",
                    "description": "The token logo",
                    "example": "https://cdn.kayalabs.io/eth/0x.png"
                  },
                  "token_decimals": {
                    "type": "string",
                    "description": "The token decimals",
                    "example": "18"
                  },
                  "token_address": {
                    "type": "string",
                    "description": "The token address",
                    "example": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
                  }
                },
                "required": [
                  "token_name",
                  "token_symbol",
                  "token_logo",
                  "token_decimals",
                  "token_address"
                ]
              }
            },
            "required": [
              "transaction_hash",
              "block_timestamp",
              "buyer_address",
              "seller_address",
              "price",
              "price_formatted",
              "payment_token"
            ]
          }
        },
        "required": [
          "token_address",
          "token_id",
          "contract_type",
          "owner_of",
          "block_number",
          "block_number_minted",
          "name",
          "symbol",
          "token_hash",
          "last_token_uri_sync",
          "last_metadata_sync",
          "possible_spam"
        ]
      },
      "normalizedMetadata": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name or title of the NFT",
            "example": "KayaLabs Mug"
          },
          "description": {
            "type": "string",
            "description": "A detailed description of the NFT",
            "example": "KayaLabs Coffee nug 3D Asset that can be used in 3D worldspaces. This NFT is presented as a flat PNG, a Unity3D Prefab and a standard fbx."
          },
          "image": {
            "type": "string",
            "description": "The URL of the NFT's image",
            "example": "https://arw2wxg84h6b.kayalabshost.com:2053/server/files/tNJatzsHirx4V2VAep6sc923OYGxvkpBeJttR7Ks/de504bbadadcbe30c86278342fcf2560_kayalabsmug.png"
          },
          "external_link": {
            "type": "string",
            "description": "A link to additional information",
            "example": "https://giphy.com/gifs/loop-recursion-ting-aaODAv1iuQdgI"
          },
          "animation_url": {
            "type": "string",
            "description": "An animated version of the NFT's image",
            "example": "https://giphy.com/gifs/food-design-donuts-o9ngTPVYW4qo8"
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/normalizedMetadataAttribute"
            }
          }
        }
      },
      "normalizedMetadataAttribute": {
        "type": "object",
        "properties": {
          "trait_type": {
            "type": "string",
            "description": "The trait title or descriptor",
            "example": "Eye Color"
          },
          "value": {
            "type": "object",
            "description": "The value of the attribute",
            "example": "hazel"
          },
          "display_type": {
            "type": "string",
            "description": "The type the attribute value should be displayed as",
            "example": "string"
          },
          "max_value": {
            "type": "number",
            "description": "For numeric values, the upper range",
            "example": 100
          },
          "trait_count": {
            "type": "number",
            "description": "The number of possible values for this trait",
            "example": 7
          },
          "order": {
            "type": "number",
            "description": "Order the trait should appear in the attribute list.",
            "example": 1
          }
        }
      },
      "media": {
        "type": "object",
        "properties": {
          "mimetype": {
            "type": "string",
            "description": "The mimetype of the media file [see https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types]"
          },
          "category": {
            "type": "string",
            "enum": [
              "image",
              "audio",
              "video"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "success",
              "processing",
              "unsupported_media",
              "invalid_url",
              "host_unavailable",
              "temporarily_unavailable"
            ],
            "description": "<table><tr><td>success</td><td>The NFT Preview was created / retrieved successfully</td></tr><tr><td>processing</td><td>The NFT Preview was not found and has been submitted for generation.</td></tr><tr><td>unsupported_media</td><td>The mime-type of the NFT's media file indicates a type not currently supported.</td></tr><tr><td>invalid_url</td><td>The 'image' URL from the NFT's metadata is not a valid URL and cannot be processed.</td></tr><tr><td>host_unavailable</td><td>The 'image' URL from the NFT's metadata returned an HttpCode indicating the host / file is not available.</td></tr><tr><td>temporarily_unavailable</td><td>The attempt to load / parse the NFT media file failed (usually due to rate limiting) and will be tried again at next request.</td></tr></table>"
          },
          "original_media_url": {
            "type": "string",
            "description": "The url of the original media file."
          },
          "updatedAt": {
            "type": "string",
            "description": "The timestamp of the last update to this NFT media record."
          },
          "parent_hash": {
            "type": "string",
            "description": "Hash value of the original media file."
          },
          "media_collection": {
            "$ref": "#/components/schemas/mediaCollection",
            "description": "Preview item associated with the original"
          }
        }
      },
      "mediaCollection": {
        "type": "object",
        "properties": {
          "low": {
            "$ref": "#/components/schemas/mediaItem",
            "description": "Preview media file, lowest quality (for images 100px x 100px)"
          },
          "medium": {
            "$ref": "#/components/schemas/mediaItem",
            "description": "Preview media file, medium quality (for images 250px x 250px)"
          },
          "high": {
            "$ref": "#/components/schemas/mediaItem",
            "description": "Preview media file, highest quality (for images 500px x 500px)"
          }
        },
        "required": [
          "low",
          "medium",
          "high"
        ]
      },
      "mediaItem": {
        "type": "object",
        "properties": {
          "width": {
            "type": "integer",
            "description": "The width of the preview image."
          },
          "height": {
            "type": "integer",
            "description": "The height of the preview image."
          },
          "url": {
            "type": "string",
            "description": "The url of the preview file."
          }
        },
        "required": [
          "width",
          "height",
          "url"
        ]
      },
      "GetMultipleNftsDto": {
        "type": "object",
        "properties": {
          "tokens": {
            "type": "array",
            "description": "The tokens to be fetched (max 25 tokens)",
            "maxItems": 25,
            "items": {
              "$ref": "#/components/schemas/tokenItem"
            },
            "example": [
              {
                "token_address": "0xa4991609c508b6d4fb7156426db0bd49fe298bd8",
                "token_id": "12"
              },
              {
                "token_address": "0x3c64dc415ebb4690d1df2b6216148c8de6dd29f7",
                "token_id": "1"
              },
              {
                "token_address": "0x3c64dc415ebb4690d1df2b6216148c8de6dd29f7",
                "token_id": "200"
              }
            ]
          },
          "normalizeMetadata": {
            "type": "boolean",
            "description": "Should normalized metadata be returned?",
            "example": false
          },
          "media_items": {
            "type": "boolean",
            "description": "Should preview media data be returned?",
            "example": false
          }
        },
        "required": [
          "tokens"
        ]
      },
      "tokenItem": {
        "type": "object",
        "properties": {
          "token_address": {
            "type": "string",
            "description": "The contract address",
            "example": "0x06012c8cf97bead5deae237070f9587f8e7a266d"
          },
          "token_id": {
            "type": "string",
            "description": "The id of the token",
            "example": 100
          }
        }
      },
      "orderList": {
        "type": "string",
        "enum": [
          "ASC",
          "DESC"
        ],
        "default": "DESC",
        "example": "DESC"
      },
      "nftTransferCollection": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "The current page of the result",
            "example": "2"
          },
          "page_size": {
            "type": "integer",
            "description": "The number of results per page",
            "example": "100"
          },
          "cursor": {
            "type": "string",
            "description": "The cursor to get to the next page"
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/nftTransfer"
            }
          },
          "block_exists": {
            "type": "boolean",
            "description": "Indicator if the block exists",
            "example": true
          },
          "index_complete": {
            "type": "boolean",
            "description": "Indicator if the block is fully indexed",
            "example": true
          }
        },
        "required": [
          "page",
          "page_size",
          "cursor",
          "result"
        ]
      },
      "nftTransfer": {
        "type": "object",
        "properties": {
          "token_address": {
            "type": "string",
            "description": "The address of the NFT contract",
            "example": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e"
          },
          "token_id": {
            "type": "string",
            "description": "The token ID of the NFT",
            "example": "15"
          },
          "from_address_entity": {
            "type": "string",
            "description": "The from address entity",
            "example": "Opensea"
          },
          "from_address_entity_logo": {
            "type": "string",
            "description": "The logo of the from address entity",
            "example": "https://opensea.io/favicon.ico"
          },
          "from_address": {
            "type": "string",
            "description": "The address that sent the NFT",
            "example": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e"
          },
          "from_address_label": {
            "type": "string",
            "nullable": true,
            "description": "The label of the from address",
            "example": "Binance 1"
          },
          "to_address_entity": {
            "type": "string",
            "description": "The to address entity",
            "example": "Beaver Build"
          },
          "to_address_entity_logo": {
            "type": "string",
            "description": "The logo of the to address entity",
            "example": "https://beaverbuild.com/favicon.ico"
          },
          "to_address": {
            "type": "string",
            "description": "The address that received the NFT",
            "example": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e"
          },
          "to_address_label": {
            "type": "string",
            "nullable": true,
            "description": "The label of the to address",
            "example": "Binance 2"
          },
          "value": {
            "type": "string",
            "description": "The value that was sent in the transaction (ETH/BNB/etc..)",
            "example": "1000000000000000"
          },
          "amount": {
            "type": "string",
            "description": "The number of tokens transferred",
            "example": "1"
          },
          "contract_type": {
            "type": "string",
            "description": "The type of NFT contract standard",
            "example": "ERC721"
          },
          "block_number": {
            "type": "string",
            "description": "The block number of the transaction",
            "example": "88256"
          },
          "block_timestamp": {
            "type": "string",
            "description": "The block timestamp",
            "example": "2021-06-04T16:00:15"
          },
          "block_hash": {
            "type": "string",
            "description": "The block hash of the transaction"
          },
          "transaction_hash": {
            "type": "string",
            "description": "The transaction hash",
            "example": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e"
          },
          "transaction_type": {
            "type": "string",
            "description": "The transaction type"
          },
          "transaction_index": {
            "type": "integer",
            "description": "The transaction index"
          },
          "log_index": {
            "type": "integer",
            "description": "The log index"
          },
          "operator": {
            "type": "string",
            "description": "The operator present only for ERC1155 transfers",
            "example": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e"
          },
          "possible_spam": {
            "type": "boolean",
            "description": "Indicates if a contract is possibly a spam contract",
            "example": "false"
          },
          "verified_collection": {
            "type": "boolean",
            "description": "Indicates if a contract is verified",
            "example": "false"
          },
          "last_sale": {
            "type": "object",
            "nullable": true,
            "description": "Details about the most recent sale involving this token.",
            "properties": {
              "transaction_hash": {
                "type": "string",
                "description": "The transaction hash of the last sale",
                "example": "0x19e14f34b8f120c980f7ba05338d64c00384857fb9c561e2c56d0f575424a95c"
              },
              "block_timestamp": {
                "type": "string",
                "description": "The block timestamp of the last sale",
                "example": "2023-04-04T15:59:11.000Z"
              },
              "buyer_address": {
                "type": "string",
                "description": "The buyer address of the last sale",
                "example": "0xcb1c1fde09f811b294172696404e88e658659905"
              },
              "seller_address": {
                "type": "string",
                "description": "The seller address of the last sale",
                "example": "0x497a7dee2f13db161eb2fec060fa783cb041419f"
              },
              "price": {
                "type": "string",
                "description": "The price of the last sale",
                "example": "7300000000000000"
              },
              "price_formatted": {
                "type": "string",
                "description": "The formatted price of the last sale",
                "example": "0.0073"
              },
              "usd_price_at_sale": {
                "type": "string",
                "description": "The USD price of the last sale",
                "example": "13.61"
              },
              "current_usd_value": {
                "type": "string",
                "description": "The USD price of the last sale at the current value",
                "example": "15.53"
              },
              "token_address": {
                "type": "string",
                "description": "The token address that is sold",
                "example": "0xe8778996e096b39705c6a0a937eb587a1ebbda17"
              },
              "token_id": {
                "type": "string",
                "description": "The token ID that is sold",
                "example": "170"
              },
              "payment_token": {
                "type": "object",
                "description": "The ERC20 token that is being traded with",
                "properties": {
                  "token_name": {
                    "type": "string",
                    "description": "The token name",
                    "example": "Ether"
                  },
                  "token_symbol": {
                    "type": "string",
                    "description": "The token symbol",
                    "example": "ETH"
                  },
                  "token_logo": {
                    "type": "string",
                    "description": "The token logo",
                    "example": "https://cdn.kayalabs.io/eth/0x.png"
                  },
                  "token_decimals": {
                    "type": "string",
                    "description": "The token decimals",
                    "example": "18"
                  },
                  "token_address": {
                    "type": "string",
                    "description": "The token address",
                    "example": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
                  }
                },
                "required": [
                  "token_name",
                  "token_symbol",
                  "token_logo",
                  "token_decimals",
                  "token_address"
                ]
              }
            },
            "required": [
              "transaction_hash",
              "block_timestamp",
              "buyer_address",
              "seller_address",
              "price",
              "price_formatted",
              "payment_token"
            ]
          }
        },
        "required": [
          "token_address",
          "token_id",
          "contract_type",
          "block_number",
          "block_timestamp",
          "block_hash",
          "transaction_hash",
          "log_index",
          "possible_spam"
        ]
      },
      "nftWalletCollections": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "The syncing status of the address [SYNCING/SYNCED]",
            "example": "SYNCING"
          },
          "page": {
            "type": "integer",
            "description": "The current page of the result",
            "example": "2"
          },
          "page_size": {
            "type": "integer",
            "description": "The number of results per page",
            "example": "100"
          },
          "cursor": {
            "type": "string",
            "description": "The cursor to get to the next page"
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/nftCollections"
            }
          }
        },
        "required": [
          "result"
        ]
      },
      "nftCollections": {
        "type": "object",
        "properties": {
          "token_address": {
            "type": "string",
            "description": "The address of the NFT contract",
            "example": "0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB"
          },
          "contract_type": {
            "type": "string",
            "description": "The type of NFT contract standard",
            "example": "ERC721"
          },
          "name": {
            "type": "string",
            "description": "The name of the NFT contract",
            "example": "CryptoKitties"
          },
          "symbol": {
            "type": "string",
            "description": "The symbol of the NFT contract",
            "example": "RARI"
          },
          "possible_spam": {
            "type": "boolean",
            "description": "Indicates if a contract is possibly a spam contract",
            "example": "false"
          },
          "verified_collection": {
            "type": "boolean",
            "description": "Indicates if a contract is verified",
            "example": "false"
          },
          "count": {
            "type": "integer",
            "description": "The number of tokens the wallet holds in this collection",
            "example": 5
          },
          "collection_logo": {
            "type": "string",
            "description": "The logo of the collection",
            "example": "https://cdn.kayalabs.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c.png"
          },
          "collection_banner_image": {
            "type": "string",
            "description": "The banner image of the collection",
            "example": "https://cdn.kayalabs.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c.png"
          },
          "floor_price": {
            "type": "string",
            "description": "The floor price of the contract",
            "example": "12345"
          },
          "floor_price_usd": {
            "type": "string",
            "description": "The floor price of the contract in USD",
            "example": "12345.4899"
          },
          "floor_price_currency": {
            "type": "string",
            "description": "The currency of the floor price",
            "example": "eth"
          }
        },
        "required": [
          "token_address",
          "contract_type",
          "name",
          "symbol",
          "possible_spam",
          "verified_collection"
        ]
      },
      "nftCollection": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "The current page of the result",
            "example": "2"
          },
          "page_size": {
            "type": "integer",
            "description": "The number of results per page",
            "example": "100"
          },
          "cursor": {
            "type": "string",
            "description": "The cursor to get to the next page"
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/nft"
            }
          }
        },
        "required": [
          "result"
        ]
      },
      "nft": {
        "type": "object",
        "properties": {
          "token_address": {
            "type": "string",
            "description": "The address of the NFT contract",
            "example": "0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB"
          },
          "token_id": {
            "type": "string",
            "description": "The token ID of the NFT",
            "example": "15"
          },
          "owner_of": {
            "type": "string",
            "description": "The wallet address of the owner of the NFT",
            "example": "0x9c83ff0f1c8924da96cb2fcb7e093f78eb2e316b"
          },
          "token_hash": {
            "type": "string",
            "description": "The token hash",
            "example": "502cee781b0fb40ea02508b21d319ced"
          },
          "block_number": {
            "type": "string",
            "description": "The block number when the amount or owner changed",
            "example": "88256"
          },
          "block_number_minted": {
            "type": "string",
            "description": "The block number when the NFT was minted",
            "example": "88256"
          },
          "contract_type": {
            "type": "string",
            "description": "The type of NFT contract standard",
            "example": "ERC721"
          },
          "token_uri": {
            "type": "string",
            "description": "The URI to the metadata of the token"
          },
          "metadata": {
            "type": "string",
            "description": "The metadata of the token"
          },
          "normalized_metadata": {
            "$ref": "#/components/schemas/normalizedMetadata",
            "description": "A normalized metadata version of the NFT's metadata."
          },
          "media": {
            "$ref": "#/components/schemas/media",
            "description": "A set of links to 'thumbnail / preview' media files"
          },
          "minter_address": {
            "type": "string",
            "description": "The address that minted the NFT",
            "example": "0x9c83ff0f1c8924da96cb2fcb7e093f78eb2e316b"
          },
          "last_token_uri_sync": {
            "type": "string",
            "description": "When the token_uri was last updated"
          },
          "last_metadata_sync": {
            "type": "string",
            "description": "When the metadata was last updated"
          },
          "amount": {
            "type": "string",
            "description": "The quantity of this item that the user owns (used by ERC1155)",
            "example": "1"
          },
          "name": {
            "type": "string",
            "description": "The name of the NFT contract",
            "example": "CryptoKitties"
          },
          "symbol": {
            "type": "string",
            "description": "The symbol of the NFT contract",
            "example": "RARI"
          },
          "possible_spam": {
            "type": "boolean",
            "description": "Indicates if a contract is possibly a spam contract",
            "example": "false"
          },
          "verified_collection": {
            "type": "boolean",
            "description": "Indicates if a contract is verified",
            "example": "false"
          },
          "rarity_rank": {
            "type": "number",
            "description": "The rarity rank",
            "example": 21669
          },
          "rarity_percentage": {
            "type": "number",
            "description": "The rarity percentage",
            "example": 98
          },
          "rarity_label": {
            "type": "string",
            "description": "The rarity label",
            "example": "Top 98%"
          },
          "last_sale": {
            "type": "object",
            "nullable": true,
            "description": "Details about the most recent sale involving this token.",
            "properties": {
              "transaction_hash": {
                "type": "string",
                "description": "The transaction hash of the last sale",
                "example": "0x19e14f34b8f120c980f7ba05338d64c00384857fb9c561e2c56d0f575424a95c"
              },
              "block_timestamp": {
                "type": "string",
                "description": "The block timestamp of the last sale",
                "example": "2023-04-04T15:59:11.000Z"
              },
              "buyer_address": {
                "type": "string",
                "description": "The buyer address of the last sale",
                "example": "0xcb1c1fde09f811b294172696404e88e658659905"
              },
              "seller_address": {
                "type": "string",
                "description": "The seller address of the last sale",
                "example": "0x497a7dee2f13db161eb2fec060fa783cb041419f"
              },
              "price": {
                "type": "string",
                "description": "The price of the last sale",
                "example": "7300000000000000"
              },
              "price_formatted": {
                "type": "string",
                "description": "The formatted price of the last sale",
                "example": "0.0073"
              },
              "usd_price_at_sale": {
                "type": "string",
                "description": "The USD price of the last sale",
                "example": "13.61"
              },
              "current_usd_value": {
                "type": "string",
                "description": "The USD price of the last sale at the current value",
                "example": "15.53"
              },
              "token_address": {
                "type": "string",
                "description": "The token address that is sold",
                "example": "0xe8778996e096b39705c6a0a937eb587a1ebbda17"
              },
              "token_id": {
                "type": "string",
                "description": "The token ID that is sold",
                "example": "170"
              },
              "payment_token": {
                "type": "object",
                "description": "The ERC20 token that is being traded with",
                "properties": {
                  "token_name": {
                    "type": "string",
                    "description": "The token name",
                    "example": "Ether"
                  },
                  "token_symbol": {
                    "type": "string",
                    "description": "The token symbol",
                    "example": "ETH"
                  },
                  "token_logo": {
                    "type": "string",
                    "description": "The token logo",
                    "example": "https://cdn.kayalabs.io/eth/0x.png"
                  },
                  "token_decimals": {
                    "type": "string",
                    "description": "The token decimals",
                    "example": "18"
                  },
                  "token_address": {
                    "type": "string",
                    "description": "The token address",
                    "example": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
                  }
                },
                "required": [
                  "token_name",
                  "token_symbol",
                  "token_logo",
                  "token_decimals",
                  "token_address"
                ]
              }
            },
            "required": [
              "transaction_hash",
              "block_timestamp",
              "buyer_address",
              "seller_address",
              "price",
              "price_formatted",
              "payment_token"
            ]
          },
          "floor_price": {
            "type": "string",
            "description": "The floor price of the NFT",
            "example": "12345"
          },
          "floor_price_usd": {
            "type": "string",
            "description": "The floor price of the NFT in USD",
            "example": "12345.4899"
          },
          "floor_price_currency": {
            "type": "string",
            "description": "The currency of the floor price",
            "example": "eth"
          }
        },
        "required": [
          "token_address",
          "token_id",
          "contract_type",
          "name",
          "symbol",
          "possible_spam"
        ]
      },
      "groupedTraitCollection": {
        "type": "object",
        "properties": {
          "traits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/groupedTrait"
            }
          }
        }
      },
      "groupedTrait": {
        "type": "object",
        "properties": {
          "trait_type": {
            "type": "string",
            "description": "The trait type",
            "example": "Background"
          },
          "values": {
            "type": "array",
            "items": {
              "type": "object",
              "description": "The trait values",
              "properties": {
                "trait_value": {
                  "type": "string",
                  "description": "The trait value",
                  "example": "Lavendar"
                },
                "count": {
                  "type": "number",
                  "description": "The total NFT in the collection with this trait",
                  "example": 18593
                },
                "percentage": {
                  "type": "number",
                  "description": "The rarity percentage of the trait",
                  "example": 85.8
                },
                "rarity_label": {
                  "type": "string",
                  "description": "The rarity label of the trait",
                  "example": "Top 4% trait"
                }
              },
              "required": [
                "trait_value",
                "count",
                "percentage",
                "rarity_label"
              ]
            }
          }
        },
        "required": [
          "trait_type",
          "values"
        ]
      },
      "traitCollection": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "The current page of the result",
            "example": "2"
          },
          "page_size": {
            "type": "integer",
            "description": "The number of results per page",
            "example": "100"
          },
          "cursor": {
            "type": "string",
            "description": "The cursor to get to the next page"
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/trait"
            }
          }
        },
        "required": [
          "result"
        ]
      },
      "trait": {
        "type": "object",
        "properties": {
          "trait_type": {
            "type": "string",
            "description": "The trait type",
            "example": "Background"
          },
          "trait_value": {
            "type": "string",
            "description": "The trait value",
            "example": "Lavendar"
          },
          "count": {
            "type": "number",
            "description": "The total NFT in the collection with this trait",
            "example": 18593
          },
          "percentage": {
            "type": "number",
            "description": "The rarity percentage of the trait",
            "example": 85.8
          },
          "rarity_label": {
            "type": "string",
            "description": "The rarity label of the trait",
            "example": "Top 4% trait"
          }
        },
        "required": [
          "trait_type",
          "trait_value",
          "count",
          "percentage",
          "rarity_label"
        ]
      },
      "metadataResync": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "The status of the resync request"
          }
        },
        "required": [
          "status"
        ]
      },
      "nftTradesChainList": {
        "type": "string",
        "enum": [
          "eth",
          "0x1",
          "polygon",
          "0x89",
          "bsc",
          "0x38",
          "avalanche",
          "0xa86a",
          "arbitrum",
          "0xa4b1",
          "base",
          "0x2105",
          "optimism",
          "0xa"
        ],
        "default": "eth",
        "example": "eth"
      },
      "tradeCollection": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "The current page of the result",
            "example": "2"
          },
          "page_size": {
            "type": "integer",
            "description": "The number of results per page",
            "example": "100"
          },
          "cursor": {
            "type": "string",
            "description": "The cursor to get to the next page"
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/trade"
            }
          }
        },
        "required": [
          "result"
        ]
      },
      "trade": {
        "type": "object",
        "properties": {
          "transaction_hash": {
            "type": "string",
            "description": "The transaction hash",
            "example": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e"
          },
          "transaction_index": {
            "type": "string",
            "description": "The transaction index"
          },
          "token_ids": {
            "type": "array",
            "description": "The token ID(s) traded",
            "items": {
              "type": "string",
              "example": "15"
            },
            "example": [
              "15",
              "54"
            ]
          },
          "seller_address": {
            "type": "string",
            "description": "The address that sold the NFT",
            "example": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e"
          },
          "buyer_address": {
            "type": "string",
            "description": "The address that bought the NFT",
            "example": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e"
          },
          "token_address": {
            "type": "string",
            "description": "The address of the NFT contract",
            "example": "0x4ad3785ec7eed7589fa86538244a4530f962434f"
          },
          "marketplace_address": {
            "type": "string",
            "description": "The address of the contract that traded the NFT",
            "example": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e"
          },
          "price_token_address": {
            "type": "string",
            "description": "The address of the token used to pay for the NFT",
            "example": "0x60e4d786628fea6478f785a6d7e704777c86a7c6"
          },
          "price": {
            "type": "string",
            "description": "The value that was sent in the transaction (ETH/BNB/etc..)",
            "example": "1000000000000000"
          },
          "block_timestamp": {
            "type": "string",
            "description": "The block timestamp",
            "example": "2021-06-04T16:00:15"
          },
          "block_number": {
            "type": "string",
            "description": "The block number of the transaction",
            "example": "13680123"
          },
          "block_hash": {
            "type": "string",
            "description": "The block hash",
            "example": "0x4a7c916ca4a970358b9df90051008f729685ff05e9724a9dddba32630c37cb96"
          }
        },
        "required": [
          "transaction_hash",
          "transaction_index",
          "token_ids",
          "seller_address",
          "buyer_address",
          "token_address",
          "marketplace_address",
          "price",
          "block_timestamp",
          "block_number",
          "block_hash"
        ]
      },
      "nftContractMetadata": {
        "type": "object",
        "properties": {
          "token_address": {
            "type": "string",
            "description": "The address of the token contract",
            "example": "0x2d30ca6f024dbc1307ac8a1a44ca27de6f797ec22ef20627a1307243b0ab7d09"
          },
          "name": {
            "type": "string",
            "description": "The name of the token contract",
            "example": "KryptoKitties"
          },
          "synced_at": {
            "type": "string",
            "description": "Timestamp of when the contract was last synced with the node"
          },
          "symbol": {
            "type": "string",
            "description": "The symbol of the NFT contract",
            "example": "RARI"
          },
          "contract_type": {
            "type": "string",
            "description": "The type of NFT contract",
            "example": "ERC721"
          },
          "possible_spam": {
            "type": "boolean",
            "description": "Indicates if a contract is possibly a spam contract",
            "example": "false"
          },
          "verified_collection": {
            "type": "boolean",
            "description": "Indicates if a contract is verified",
            "example": "false"
          },
          "collection_logo": {
            "type": "string",
            "description": "The logo of the collection",
            "example": "https://cdn.kayalabs.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c.png"
          },
          "collection_banner_image": {
            "type": "string",
            "description": "The banner image of the collection",
            "example": "https://cdn.kayalabs.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c.png"
          },
          "collection_category": {
            "type": "string",
            "description": "The category of the collection",
            "example": "Art"
          },
          "project_url": {
            "type": "string",
            "description": "The project url of the collection",
            "example": "https://www.cryptokitties.co/"
          },
          "wiki_url": {
            "type": "string",
            "description": "The wiki url of the collection",
            "example": "https://en.wikipedia.org/wiki/CryptoKitties"
          },
          "discord_url": {
            "type": "string",
            "description": "The discord url of the collection",
            "example": "https://discord.com/invite/cryptokitties"
          },
          "telegram_url": {
            "type": "string",
            "description": "The telegram url of the collection",
            "example": "https://t.me/cryptokitties"
          },
          "twitter_username": {
            "type": "string",
            "description": "The twitter username of the collection",
            "example": "CryptoKitties"
          },
          "instagram_username": {
            "type": "string",
            "description": "The instagram username of the collection",
            "example": "cryptokitties"
          },
          "floor_price": {
            "type": "string",
            "description": "The floor price of the contract",
            "example": "12345"
          },
          "floor_price_usd": {
            "type": "string",
            "description": "The floor price of the contract in USD",
            "example": "12345.4899"
          },
          "floor_price_currency": {
            "type": "string",
            "description": "The currency of the floor price",
            "example": "eth"
          }
        },
        "required": [
          "token_address",
          "name",
          "symbol",
          "contract_type",
          "possible_spam",
          "verified_collection"
        ]
      },
      "soldPrice": {
        "type": "object",
        "properties": {
          "last_sale": {
            "type": "object",
            "nullable": true,
            "description": "The sales price of the NFT collection",
            "properties": {
              "transaction_hash": {
                "type": "string",
                "description": "The transaction hash of the last sale"
              },
              "block_timestamp": {
                "type": "string",
                "description": "The block timestamp of the last sale"
              },
              "buyer_address": {
                "type": "string",
                "description": "The buyer address of the last sale"
              },
              "seller_address": {
                "type": "string",
                "description": "The seller address of the last sale"
              },
              "price": {
                "type": "string",
                "description": "The price of the last sale"
              },
              "price_formatted": {
                "type": "string",
                "description": "The formatted price of the last sale"
              },
              "usd_price_at_sale": {
                "type": "string",
                "description": "The USD price of the last sale at sale time"
              },
              "current_usd_value": {
                "type": "string",
                "description": "The USD price of the last sale at the current value"
              },
              "token_id": {
                "type": "string",
                "description": "The token ID that is sold"
              },
              "payment_token": {
                "type": "object",
                "description": "The ERC20 token that is being traded with",
                "properties": {
                  "token_name": {
                    "type": "string",
                    "description": "The token name"
                  },
                  "token_symbol": {
                    "type": "string",
                    "description": "The token symbol"
                  },
                  "token_logo": {
                    "type": "string",
                    "description": "The token logo"
                  },
                  "token_decimals": {
                    "type": "string",
                    "description": "The token decimals"
                  },
                  "token_address": {
                    "type": "string",
                    "description": "The token address"
                  }
                },
                "required": [
                  "token_name",
                  "token_symbol",
                  "token_logo",
                  "token_decimals",
                  "token_address"
                ]
              }
            },
            "required": [
              "transaction_hash",
              "block_timestamp",
              "buyer_address",
              "seller_address",
              "price",
              "price_formatted",
              "payment_token"
            ]
          },
          "lowest_sale": {
            "type": "object",
            "nullable": true,
            "description": "The lowest sale of the NFT collection",
            "properties": {
              "transaction_hash": {
                "type": "string",
                "description": "The transaction hash of the last sale"
              },
              "block_timestamp": {
                "type": "string",
                "description": "The block timestamp of the last sale"
              },
              "buyer_address": {
                "type": "string",
                "description": "The buyer address of the last sale"
              },
              "seller_address": {
                "type": "string",
                "description": "The seller address of the last sale"
              },
              "price": {
                "type": "string",
                "description": "The price of the last sale"
              },
              "price_formatted": {
                "type": "string",
                "description": "The formatted price of the last sale"
              },
              "usd_price_at_sale": {
                "type": "string",
                "description": "The USD price of the last sale at sale time"
              },
              "current_usd_value": {
                "type": "string",
                "description": "The USD price of the last sale at the current value"
              },
              "token_id": {
                "type": "string",
                "description": "The token ID that is sold"
              },
              "payment_token": {
                "type": "object",
                "description": "The ERC20 token that is being traded with",
                "properties": {
                  "token_name": {
                    "type": "string",
                    "description": "The token name"
                  },
                  "token_symbol": {
                    "type": "string",
                    "description": "The token symbol"
                  },
                  "token_logo": {
                    "type": "string",
                    "description": "The token logo"
                  },
                  "token_decimals": {
                    "type": "string",
                    "description": "The token decimals"
                  },
                  "token_address": {
                    "type": "string",
                    "description": "The token address"
                  }
                },
                "required": [
                  "token_name",
                  "token_symbol",
                  "token_logo",
                  "token_decimals",
                  "token_address"
                ]
              }
            },
            "required": [
              "transaction_hash",
              "block_timestamp",
              "price",
              "price_formatted",
              "payment_token"
            ]
          },
          "highest_sale": {
            "type": "object",
            "nullable": true,
            "description": "The highest sale of the NFT collection",
            "properties": {
              "transaction_hash": {
                "type": "string",
                "description": "The transaction hash of the last sale"
              },
              "block_timestamp": {
                "type": "string",
                "description": "The block timestamp of the last sale"
              },
              "buyer_address": {
                "type": "string",
                "description": "The buyer address of the last sale"
              },
              "seller_address": {
                "type": "string",
                "description": "The seller address of the last sale"
              },
              "price": {
                "type": "string",
                "description": "The price of the last sale"
              },
              "price_formatted": {
                "type": "string",
                "description": "The formatted price of the last sale"
              },
              "usd_price_at_sale": {
                "type": "string",
                "description": "The USD price of the last sale at sale time"
              },
              "current_usd_value": {
                "type": "string",
                "description": "The USD price of the last sale at the current value"
              },
              "token_id": {
                "type": "string",
                "description": "The token ID that is sold"
              },
              "payment_token": {
                "type": "object",
                "description": "The ERC20 token that is being traded with",
                "properties": {
                  "token_name": {
                    "type": "string",
                    "description": "The token name"
                  },
                  "token_symbol": {
                    "type": "string",
                    "description": "The token symbol"
                  },
                  "token_logo": {
                    "type": "string",
                    "description": "The token logo"
                  },
                  "token_decimals": {
                    "type": "string",
                    "description": "The token decimals"
                  },
                  "token_address": {
                    "type": "string",
                    "description": "The token address"
                  }
                },
                "required": [
                  "token_name",
                  "token_symbol",
                  "token_logo",
                  "token_decimals",
                  "token_address"
                ]
              }
            },
            "required": [
              "transaction_hash",
              "block_timestamp",
              "price",
              "price_formatted",
              "payment_token"
            ]
          },
          "average_sale": {
            "type": "object",
            "nullable": true,
            "description": "The average sale of the NFT collection",
            "properties": {
              "price": {
                "type": "string",
                "description": "The price of the average sale"
              },
              "price_formatted": {
                "type": "string",
                "description": "The formatted price of the average sale"
              },
              "current_usd_value": {
                "type": "string",
                "description": "The USD price of the last sale at the current value"
              }
            },
            "required": [
              "price",
              "price_formatted"
            ]
          },
          "total_trades": {
            "type": "number",
            "nullable": true,
            "description": "The total trades in the timeframe"
          },
          "message": {
            "type": "string",
            "description": "The error message (if any)"
          }
        },
        "required": [
          "last_sale",
          "lowest_sale",
          "highest_sale",
          "average_sale"
        ]
      },
      "erc20Price": {
        "type": "object",
        "properties": {
          "tokenName": {
            "type": "string",
            "description": "The name of the token",
            "example": "Kylin Network"
          },
          "tokenSymbol": {
            "type": "string",
            "description": "The symbol of the token",
            "example": "KYL"
          },
          "tokenLogo": {
            "type": "string",
            "description": "The logo of the token",
            "example": "https://cdn.kayalabs.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c.png"
          },
          "tokenDecimals": {
            "type": "string",
            "description": "The number of decimals of the token",
            "example": "18"
          },
          "nativePrice": {
            "$ref": "#/components/schemas/nativeErc20Price"
          },
          "usdPrice": {
            "type": "number",
            "description": "The price in USD for the token",
            "format": "double",
            "example": 19.722370676
          },
          "usdPriceFormatted": {
            "type": "string",
            "description": "The price in USD for the token in string format",
            "example": "19.722370676"
          },
          "24hrPercentChange": {
            "type": "string",
            "description": "The 24hr percent change of the token",
            "example": "-0.8842730258590583"
          },
          "exchangeAddress": {
            "type": "string",
            "description": "The address of the exchange used to calculate the price",
            "example": "0x1f98431c8ad98523631ae4a59f267346ea31f984"
          },
          "exchangeName": {
            "type": "string",
            "description": "The name of the exchange used to calculate the price",
            "example": "Uniswap v3"
          },
          "tokenAddress": {
            "type": "string",
            "description": "The address of the token",
            "example": "0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c"
          },
          "toBlock": {
            "type": "string",
            "description": "toBlock",
            "example": "16314545"
          },
          "possibleSpam": {
            "type": "boolean",
            "description": "Indicates if a contract is possibly a spam contract",
            "example": "false"
          },
          "verifiedContract": {
            "type": "boolean",
            "description": "Indicates if the contract is verified",
            "example": true
          },
          "pairAddress": {
            "type": "string",
            "description": "The address of the pair",
            "example": "0x1f98431c8ad98523631ae4a59f267346ea31f984"
          },
          "pairTotalLiquidityUsd": {
            "type": "string",
            "description": "The total liquidity in USD of the pair",
            "example": "123.45"
          },
          "usdPrice24h": {
            "type": "number",
            "description": "The USD price 24 hours ago",
            "example": 1
          },
          "usdPrice24hrUsdChange": {
            "type": "number",
            "description": "The USD change in price over the last 24 hours",
            "example": -0.00008615972490000345
          },
          "usdPrice24hrPercentChange": {
            "type": "number",
            "description": "The percent change in USD price over the last 24 hours",
            "example": -0.008615972490000345
          },
          "securityScore": {
            "type": "number",
            "description": "A number between 0 and 100 that defines the trust level of this specific token",
            "example": 1
          }
        },
        "required": [
          "usdPrice",
          "possibleSpam",
          "verifiedContract"
        ]
      },
      "nativeErc20Price": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "description": "The native price of the token",
            "example": "8409770570506626"
          },
          "decimals": {
            "type": "integer",
            "description": "The number of decimals on the token",
            "example": 18
          },
          "name": {
            "type": "string",
            "description": "The name of the token",
            "example": "Ether"
          },
          "symbol": {
            "type": "string",
            "description": "The symbol of the token",
            "example": "ETH"
          },
          "address": {
            "type": "string",
            "description": "The address of the native token"
          }
        },
        "required": [
          "value",
          "decimals",
          "name",
          "symbol",
          "address"
        ]
      },
      "getSwapsByWalletAddressResponse": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "The current page of the result",
            "example": "2"
          },
          "page_size": {
            "type": "integer",
            "description": "The number of results per page",
            "example": "100"
          },
          "cursor": {
            "type": "string",
            "description": "The cursor to get to the next page"
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/swapsByWalletAddressResult"
            }
          }
        },
        "required": [
          "result"
        ]
      },
      "swapsByWalletAddressResult": {
        "type": "object",
        "properties": {
          "transactionHash": {
            "type": "string",
            "example": "0x2bfcba4715774420936669cd0ff2241d70e9abecab76c9db813602015b3134ad"
          },
          "transactionIndex": {
            "type": "integer",
            "example": 1
          },
          "transactionType": {
            "type": "string",
            "example": "buy"
          },
          "blockTimestamp": {
            "type": "string",
            "example": "2022-02-22T00:00:00Z"
          },
          "blockNumber": {
            "type": "number",
            "example": 21093423
          },
          "subCategory": {
            "type": "string",
            "example": "accumulation"
          },
          "walletAddress": {
            "type": "string",
            "example": "0x2bfcba4715774420936669cd0ff2241d70e9abec"
          },
          "walletAddressLabel": {
            "type": "string",
            "example": "Murad Wallet"
          },
          "entity": {
            "type": "string",
            "example": "Murad"
          },
          "entityLogo": {
            "type": "string",
            "example": "https://entities-logos.s3.us-east-1.amazonaws.com/murad.png"
          },
          "pairAddress": {
            "type": "string",
            "example": "0x36a46dff597c5a444bbc521d26787f57867d2214"
          },
          "pairLabel": {
            "type": "string",
            "example": "BRETT/WETH"
          },
          "exchangeAddress": {
            "type": "string",
            "example": "0x5c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f"
          },
          "exchangeName": {
            "type": "string",
            "example": "Uniswap v2"
          },
          "exchangeLogo": {
            "type": "string",
            "example": "https://entities-logos.s3.us-east-1.amazonaws.com/uniswap.png"
          },
          "bought": {
            "$ref": "#/components/schemas/TokenTransactionTokenMetadata"
          },
          "sold": {
            "$ref": "#/components/schemas/TokenTransactionTokenMetadata"
          },
          "baseQuotePrice": {
            "type": "string",
            "example": "0.00003376480687"
          },
          "totalValueUsd": {
            "type": "number",
            "example": 1165
          }
        },
        "required": [
          "transactionHash",
          "transactionIndex",
          "transactionType",
          "blockTimestamp",
          "blockNumber",
          "subCategory",
          "walletAddress",
          "walletAddressLabel",
          "entity",
          "entityLogo",
          "pairAddress",
          "pairLabel",
          "exchangeAddress",
          "exchangeName",
          "exchangeLogo",
          "bought",
          "sold",
          "baseQuotePrice",
          "totalValueUsd"
        ]
      },
      "TokenTransactionTokenMetadata": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "description": "The address of the token",
            "example": "0x003dde3494f30d861d063232c6a8c04394b686ff"
          },
          "name": {
            "type": "string",
            "description": "The name of the token",
            "example": "BRETT"
          },
          "symbol": {
            "type": "string",
            "description": "The symbol of the token",
            "example": "BRETT"
          },
          "logo": {
            "type": "string",
            "description": "The URL of the token's logo",
            "example": "https://cdn.kayalabs.io/tokens/0x0000000000085d4780b73119b644ae5ecd22b376.png"
          },
          "amount": {
            "type": "string",
            "description": "The amount of the token",
            "example": "14811.98"
          },
          "usdPrice": {
            "type": "number",
            "description": "The amount of the token",
            "example": 0.078634
          },
          "usdAmount": {
            "type": "number",
            "description": "The amount of the token",
            "example": 1155.33
          }
        },
        "required": [
          "address",
          "name",
          "symbol",
          "logo",
          "amount",
          "usdPrice",
          "usdAmount"
        ]
      },
      "TokenHolderSummaryResult": {
        "type": "object",
        "nullable": true,
        "properties": {
          "totalHolders": {
            "type": "number",
            "description": "The total holders of the token",
            "example": "99999"
          },
          "holderSupply": {
            "$ref": "#/components/schemas/TokenHolderSummarySupply",
            "description": "The holder supply"
          },
          "holderChange": {
            "$ref": "#/components/schemas/TokenHolderSummaryHolderChange",
            "description": "The holder change"
          },
          "holdersByAcquisition": {
            "$ref": "#/components/schemas/TokenHolderSummaryHolderByAcquisition",
            "description": "The holder change"
          }
        },
        "required": [
          "totalHolders",
          "holderChange",
          "holdersByAcquisition"
        ]
      },
      "TokenHolderSummarySupply": {
        "type": "object",
        "properties": {
          "top10": {
            "$ref": "#/components/schemas/TokenHolderSupplyChange",
            "description": "The holder breakdown of the top 10 holders"
          },
          "top25": {
            "$ref": "#/components/schemas/TokenHolderSupplyChange",
            "description": "The holder breakdown of the top 25 holders"
          },
          "top50": {
            "$ref": "#/components/schemas/TokenHolderSupplyChange",
            "description": "The holder breakdown of the top 10 holders"
          },
          "top100": {
            "$ref": "#/components/schemas/TokenHolderSupplyChange",
            "description": "The holder breakdown of the top 10 holders"
          },
          "top250": {
            "$ref": "#/components/schemas/TokenHolderSupplyChange",
            "description": "The holder breakdown of the top 250 holders"
          },
          "top500": {
            "$ref": "#/components/schemas/TokenHolderSupplyChange",
            "description": "The holder breakdown of the top 500 holders"
          }
        },
        "required": [
          "top10",
          "top50",
          "top100"
        ]
      },
      "TokenHolderSupplyChange": {
        "type": "object",
        "properties": {
          "supply": {
            "type": "string",
            "description": "Net holder change",
            "example": "10"
          },
          "supplyPercent": {
            "type": "number",
            "description": "The percentage change",
            "example": "0.10"
          }
        },
        "required": [
          "supply",
          "supplyPercent"
        ]
      },
      "TokenHolderSummaryHolderChange": {
        "type": "object",
        "properties": {
          "5min": {
            "$ref": "#/components/schemas/TokenHolderChange",
            "description": "The holder change in the last 5 minutes"
          },
          "1h": {
            "$ref": "#/components/schemas/TokenHolderChange",
            "description": "Net holder change in the last 1 hour"
          },
          "6h": {
            "$ref": "#/components/schemas/TokenHolderChange",
            "description": "Net holder change in the last 6 hour"
          },
          "24h": {
            "$ref": "#/components/schemas/TokenHolderChange",
            "description": "Net holder change in the last 24 hour"
          },
          "3d": {
            "$ref": "#/components/schemas/TokenHolderChange",
            "description": "Net holder change in the last 3 days"
          },
          "7d": {
            "$ref": "#/components/schemas/TokenHolderChange",
            "description": "Net holder change in the last 7 days"
          },
          "30d": {
            "$ref": "#/components/schemas/TokenHolderChange",
            "description": "Net holder change in the last 30 days"
          }
        },
        "required": [
          "5min",
          "1h",
          "6h",
          "24h",
          "3d",
          "7d",
          "30d"
        ]
      },
      "TokenHolderChange": {
        "type": "object",
        "properties": {
          "change": {
            "type": "number",
            "description": "Net holder change",
            "example": "10"
          },
          "changePercent": {
            "type": "number",
            "description": "The percentage change",
            "example": "0.10"
          }
        },
        "required": [
          "change",
          "changePercent"
        ]
      },
      "TokenHolderSummaryHolderByAcquisition": {
        "type": "object",
        "properties": {
          "swap": {
            "type": "number",
            "description": "Number of wallets with first interaction as a swap",
            "example": "10"
          },
          "transfer": {
            "type": "number",
            "description": "Number of wallets with first interaction as a transfer",
            "example": "10"
          },
          "airdrop": {
            "type": "number",
            "description": "Number of wallets with first interaction as a airdrop",
            "example": "10"
          }
        },
        "required": [
          "swap"
        ]
      },
      "TokenHolderTimelineResult": {
        "type": "object",
        "nullable": true,
        "properties": {
          "page": {
            "type": "integer",
            "description": "The current page of the result",
            "example": "1"
          },
          "pageSize": {
            "type": "integer",
            "description": "The number of results per page",
            "example": "100"
          },
          "cursor": {
            "type": "string",
            "description": "The cursor to get to the next page"
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TokenHolderTimelineArray"
            }
          }
        },
        "required": [
          "result"
        ]
      },
      "TokenHolderTimelineArray": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "description": "Timestamp of the holder change ISO 8601 format",
            "example": "2021-05-07T11:08:35.000Z"
          },
          "totalHolders": {
            "type": "integer",
            "description": "The total holders of the token",
            "example": "100"
          },
          "netHolderChange": {
            "type": "integer",
            "description": "The net holder change"
          },
          "holderPercentChange": {
            "type": "integer",
            "description": "The holder percentage change"
          },
          "newHoldersByAcquisition": {
            "$ref": "#/components/schemas/TokenHolderSummaryHolderByAcquisition",
            "description": "The new holders by acquisition"
          },
          "holdersIn": {
            "type": "object",
            "description": "The holders in by category"
          },
          "holdersOut": {
            "type": "object",
            "description": "The holders in by category"
          }
        },
        "required": [
          "timestamp",
          "totalHolders",
          "netHolderChange",
          "holderPercentChange",
          "holdersIn",
          "holdersOut"
        ]
      },
      "GetMultipleTokenPricesDto": {
        "type": "object",
        "properties": {
          "tokens": {
            "type": "array",
            "description": "The tokens to be fetched",
            "maxItems": 30,
            "items": {
              "$ref": "#/components/schemas/tokenPriceItem"
            },
            "example": [
              {
                "token_address": "0xdac17f958d2ee523a2206206994597c13d831ec7"
              },
              {
                "token_address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
              },
              {
                "token_address": "0xae7ab96520de3a18e5e111b5eaab095312d7fe84",
                "exchange": "uniswapv2",
                "to_block": "16314545"
              },
              {
                "token_address": "0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0"
              }
            ]
          }
        },
        "required": [
          "tokens"
        ]
      },
      "tokenPriceItem": {
        "type": "object",
        "properties": {
          "token_address": {
            "type": "string",
            "description": "The contract address",
            "example": "0x06012c8cf97bead5deae237070f9587f8e7a266d"
          },
          "exchange": {
            "type": "string",
            "description": "The exchange",
            "example": "uniswapv3"
          },
          "to_block": {
            "type": "string",
            "description": "The block number",
            "example": 12526958
          }
        },
        "required": [
          "token_address"
        ]
      },
      "erc20TokenOwnerCollection": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "The current page of the result",
            "example": "2"
          },
          "page_size": {
            "type": "integer",
            "description": "The number of results per page",
            "example": "100"
          },
          "cursor": {
            "type": "string",
            "description": "The cursor to get to the next page"
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/erc20TokenOwner"
            }
          }
        },
        "required": [
          "result"
        ]
      },
      "erc20TokenOwner": {
        "type": "object",
        "properties": {
          "owner_address": {
            "type": "string",
            "description": "The address of the erc20 token owner",
            "example": "0x244..."
          },
          "owner_address_label": {
            "type": "string",
            "description": "The label of the owner_address",
            "example": "Coinbase 1"
          },
          "balance": {
            "type": "string",
            "description": "The amount holding of the ERC20 token",
            "example": "57888888888888888888880"
          },
          "balance_formatted": {
            "type": "string",
            "description": "The amount holding of the ERC20 token in decimaal",
            "example": "5.78"
          },
          "usd_value": {
            "type": "string",
            "description": "The USD value of the balance",
            "example": "57888888888888888888880"
          },
          "is_contract": {
            "type": "boolean",
            "description": "Indicates if the token address is for a contract or not"
          },
          "percentage_relative_to_total_supply": {
            "type": "number",
            "description": "The percentage of total supply held by the owner",
            "example": 10
          },
          "entity": {
            "type": "string",
            "nullable": true,
            "description": "The owner address entity",
            "example": "Opensea"
          },
          "entity_logo": {
            "type": "string",
            "nullable": true,
            "description": "The logo of the owner address entity",
            "example": "https://opensea.io/favicon.ico"
          }
        },
        "required": [
          "owner_address",
          "owner_address_label",
          "balance",
          "balance_formatted",
          "usd_value",
          "is_contract",
          "percentage_relative_to_total_supply"
        ]
      },
      "erc20TokenBalance": {
        "type": "object",
        "properties": {
          "token_address": {
            "type": "string",
            "description": "The address of the token contract",
            "example": "0x2d30ca6f024dbc1307ac8a1a44ca27de6f797ec22ef20627a1307243b0ab7d09"
          },
          "name": {
            "type": "string",
            "description": "The name of the token contract",
            "example": "Kylin Network"
          },
          "symbol": {
            "type": "string",
            "description": "The symbol of the NFT contract",
            "example": "KYL"
          },
          "logo": {
            "type": "string",
            "description": "The logo of the token",
            "example": "https://cdn.kayalabs.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c.png"
          },
          "thumbnail": {
            "type": "string",
            "description": "The thumbnail of the logo",
            "example": "https://cdn.kayalabs.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c_thumb.png"
          },
          "decimals": {
            "type": "integer",
            "description": "The number of decimals on the token",
            "example": 18
          },
          "balance": {
            "type": "string",
            "description": "Timestamp of when the contract was last synced with the node",
            "example": "123456789"
          },
          "possible_spam": {
            "type": "boolean",
            "description": "Indicates if a contract is possibly a spam contract",
            "example": "false"
          },
          "verified_contract": {
            "type": "boolean",
            "description": "Indicates if a contract is verified",
            "example": "false"
          }
        },
        "required": [
          "token_address",
          "name",
          "symbol",
          "decimals",
          "balance",
          "possible_spam"
        ]
      },
      "erc20TransactionCollection": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "The current page of the result",
            "example": "2"
          },
          "page_size": {
            "type": "integer",
            "description": "The number of results per page",
            "example": "100"
          },
          "cursor": {
            "type": "string",
            "description": "The cursor to get to the next page"
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/erc20Transaction"
            }
          }
        },
        "required": [
          "result"
        ]
      },
      "erc20Transaction": {
        "type": "object",
        "properties": {
          "token_name": {
            "type": "string",
            "example": "Tether USD"
          },
          "token_symbol": {
            "type": "string",
            "example": "USDT"
          },
          "token_logo": {
            "type": "string",
            "example": "cdn.kayalabs.io/325/large/Tether-logo.png?1598003707"
          },
          "token_decimals": {
            "type": "string",
            "example": "6"
          },
          "transaction_hash": {
            "type": "string",
            "description": "The transaction hash",
            "example": "0x2d30ca6f024dbc1307ac8a1a44ca27de6f797ec22ef20627a1307243b0ab7d09"
          },
          "address": {
            "type": "string",
            "description": "The address of the token",
            "example": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e"
          },
          "block_timestamp": {
            "type": "string",
            "description": "The block timestamp",
            "example": "2021-04-02T10:07:54.000Z"
          },
          "block_number": {
            "type": "string",
            "description": "The block number",
            "example": 12526958
          },
          "block_hash": {
            "type": "string",
            "description": "The block hash",
            "example": "0x0372c302e3c52e8f2e15d155e2c545e6d802e479236564af052759253b20fd86"
          },
          "to_address_entity": {
            "type": "string",
            "description": "The to address entity",
            "example": "Beaver Build"
          },
          "to_address_entity_logo": {
            "type": "string",
            "description": "The logo of the to address entity",
            "example": "https://beaverbuild.com/favicon.ico"
          },
          "to_address": {
            "type": "string",
            "description": "The recipient",
            "example": "0x62AED87d21Ad0F3cdE4D147Fdcc9245401Af0044"
          },
          "to_address_label": {
            "type": "string",
            "nullable": true,
            "description": "The label of the to address",
            "example": "Binance 2"
          },
          "from_address_entity": {
            "type": "string",
            "description": "The from address entity",
            "example": "Opensea"
          },
          "from_address_entity_logo": {
            "type": "string",
            "description": "The logo of the from address entity",
            "example": "https://opensea.io/favicon.ico"
          },
          "from_address": {
            "type": "string",
            "description": "The sender",
            "example": "0xd4a3BebD824189481FC45363602b83C9c7e9cbDf"
          },
          "from_address_label": {
            "type": "string",
            "nullable": true,
            "description": "The label of the from address",
            "example": "Binance 1"
          },
          "value": {
            "type": "string",
            "description": "The value that was transfered (in wei)",
            "example": 650000000000000000
          },
          "transaction_index": {
            "type": "integer",
            "description": "The transaction index of the transfer within the block",
            "example": 12
          },
          "log_index": {
            "type": "integer",
            "description": "The log index of the transfer within the block",
            "example": 2
          },
          "possible_spam": {
            "type": "boolean",
            "description": "Indicates if a contract is possibly a spam contract",
            "example": "false"
          },
          "verified_contract": {
            "type": "boolean",
            "description": "Indicates if a contract is verified",
            "example": "false"
          }
        },
        "required": [
          "token_name",
          "token_symbol",
          "token_decimals",
          "transaction_hash",
          "address",
          "block_timestamp",
          "block_number",
          "block_hash",
          "from_address",
          "value",
          "transaction_index",
          "log_index",
          "possible_spam",
          "verified_contract"
        ]
      },
      "erc20Metadata": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "description": "The address of the token contract",
            "example": "0x6982508145454ce325ddbe47a25d4ec3d2311933"
          },
          "address_label": {
            "type": "string",
            "nullable": true,
            "description": "The label of the address",
            "example": "Binance 1"
          },
          "name": {
            "type": "string",
            "description": "The name of the token contract",
            "example": "Kylin Network"
          },
          "symbol": {
            "type": "string",
            "description": "The symbol of the NFT contract",
            "example": "KYL"
          },
          "decimals": {
            "type": "string",
            "description": "The number of decimals on the token",
            "example": "18"
          },
          "logo": {
            "type": "string",
            "nullable": true,
            "description": "The logo of the token",
            "example": "https://cdn.kayalabs.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c.png"
          },
          "logo_hash": {
            "type": "string",
            "nullable": true,
            "description": "The logo hash",
            "example": "ee7aa2cdf100649a3521a082116258e862e6971261a39b5cd4e4354fcccbc54d"
          },
          "thumbnail": {
            "type": "string",
            "nullable": true,
            "description": "The thumbnail of the logo",
            "example": "https://cdn.kayalabs.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c_thumb.png"
          },
          "total_supply": {
            "type": "string",
            "description": "Total tokens created minus any that have been burned",
            "example": "420689899999994793099999999997400"
          },
          "total_supply_formatted": {
            "type": "string",
            "description": "Total tokens created minus any that have been burned (decimal formatted)",
            "example": "420689899999994.7930999999999974"
          },
          "fully_diluted_valuation": {
            "type": "string",
            "description": "Fully Diluted Valuation (FDV), this represents the token's Current Price x Total Supply",
            "example": "3407271444.05"
          },
          "block_number": {
            "type": "string"
          },
          "validated": {
            "type": "number"
          },
          "created_at": {
            "type": "string",
            "description": "The timestamp of when the erc20 token was created"
          },
          "possible_spam": {
            "type": "boolean",
            "description": "Indicates if a contract is possibly a spam contract",
            "example": "false"
          },
          "verified_contract": {
            "type": "boolean",
            "description": "Indicates if a contract is verified",
            "example": false
          },
          "categories": {
            "type": "array",
            "nullable": true,
            "description": "Categories of the token",
            "items": {
              "type": "string"
            },
            "example": [
              "stablecoin"
            ]
          },
          "links": {
            "$ref": "#/components/schemas/discoveryTokenLinks"
          },
          "circulating_supply": {
            "type": "string",
            "description": "The circulating supply of the token",
            "example": "4206864.7489303"
          },
          "market_cap": {
            "type": "string",
            "description": "The market cap of the token",
            "example": "3407271444.05"
          }
        },
        "required": [
          "address",
          "name",
          "symbol",
          "decimals",
          "created_at",
          "possible_spam"
        ]
      },
      "discoveryTokenLinks": {
        "type": "object",
        "properties": {
          "bitbucket": {
            "type": "string",
            "description": "The link of the token on the platform"
          },
          "discord": {
            "type": "string",
            "description": "The link of the token on the platform"
          },
          "facebook": {
            "type": "string",
            "description": "The link of the token on the platform"
          },
          "github": {
            "type": "string",
            "description": "The link of the token on the platform"
          },
          "instagram": {
            "type": "string",
            "description": "The link of the token on the platform"
          },
          "linkedin": {
            "type": "string",
            "description": "The link of the token on the platform"
          },
          "medium": {
            "type": "string",
            "description": "The link of the token on the platform"
          },
          "reddit": {
            "type": "string",
            "description": "The link of the token on the platform"
          },
          "telegram": {
            "type": "string",
            "description": "The link of the token on the platform"
          },
          "tiktok": {
            "type": "string",
            "description": "The link of the token on the platform"
          },
          "twitter": {
            "type": "string",
            "description": "The link of the token on the platform"
          },
          "website": {
            "type": "string",
            "description": "The link of the token on the platform"
          },
          "youtube": {
            "type": "string",
            "description": "The link of the token on the platform"
          }
        },
        "required": [
          "bitbucket",
          "discord",
          "facebook",
          "github",
          "instagram",
          "linkedin",
          "medium",
          "reddit",
          "telegram",
          "tiktok",
          "twitter",
          "website",
          "youtube"
        ]
      },
      "nativeBalance": {
        "type": "object",
        "properties": {
          "balance": {
            "type": "string",
            "description": "The balance",
            "example": "1234567890"
          }
        },
        "required": [
          "balance"
        ]
      },
      "nativeBalances": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "chain": {
              "type": "string",
              "description": "The chain",
              "example": "eth_mainnet"
            },
            "chain_id": {
              "type": "string",
              "description": "The chain id",
              "example": "2"
            },
            "total_balance": {
              "type": "string",
              "description": "The total balances for all the walttes",
              "example": "57499206466583095"
            },
            "block_number": {
              "type": "string",
              "description": "The block Number",
              "example": "123456789"
            },
            "block_timestamp": {
              "type": "string",
              "description": "The block timestamp",
              "example": "0.057"
            },
            "total_balance_formatted": {
              "type": "string",
              "description": "The total balances for all the walttes formatted",
              "example": "123456789"
            },
            "wallet_balances": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "address": {
                    "type": "string",
                    "description": "address",
                    "example": "0x123"
                  },
                  "balance": {
                    "type": "string",
                    "description": "balance",
                    "example": "28499206466583095"
                  },
                  "balance_formatted": {
                    "type": "string",
                    "description": "balance formatted",
                    "example": "0.0285"
                  }
                },
                "required": [
                  "address",
                  "balance",
                  "balance_formatted"
                ]
              }
            }
          },
          "required": [
            "chain",
            "chain_id",
            "total_balance",
            "block_number",
            "block_timestamp",
            "total_balance_formatted",
            "wallet_balances"
          ]
        }
      },
      "walletApprovals": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "The current page of the result",
            "example": "2"
          },
          "page_size": {
            "type": "integer",
            "description": "The number of results per page",
            "example": "100"
          },
          "cursor": {
            "type": "string",
            "description": "The cursor to get to the next page"
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/tokenApproval"
            }
          }
        },
        "required": [
          "page",
          "page_size",
          "cursor",
          "result"
        ]
      },
      "tokenApproval": {
        "type": "object",
        "properties": {
          "block_number": {
            "type": "string",
            "description": "The block number",
            "example": 12526958
          },
          "block_timestamp": {
            "type": "string",
            "nullable": true,
            "description": "The block timestamp",
            "example": "2021-04-02T10:07:54.000Z"
          },
          "transaction_hash": {
            "type": "string",
            "nullable": true,
            "description": "The transaction hash",
            "example": "0x2d30ca6f024dbc1307ac8a1a44ca27de6f797ec22ef20627a1307243b0ab7d09"
          },
          "value": {
            "type": "string",
            "description": "The native price of the token",
            "example": "8409770570506626"
          },
          "value_formatted": {
            "type": "string",
            "nullable": true,
            "description": "The value that was sent in the transaction (ETH/BNB/etc..) in decimal format",
            "example": "0.1"
          },
          "token": {
            "type": "object",
            "properties": {
              "address": {
                "type": "string",
                "description": "The address of the token",
                "example": "0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c"
              },
              "address_label": {
                "type": "string",
                "nullable": true,
                "description": "The label of the token"
              },
              "name": {
                "type": "string",
                "nullable": true,
                "description": "The name of the token",
                "example": "Tether USD"
              },
              "symbol": {
                "type": "string",
                "nullable": true,
                "description": "The symbol of the token",
                "example": "USDT"
              },
              "logo": {
                "type": "string",
                "nullable": true,
                "description": "The logo of the token",
                "example": "https://opensea.io/favicon.ico"
              },
              "possible_spam": {
                "type": "boolean",
                "description": "Indicates if the token is a possible spam",
                "example": false
              },
              "verified_contract": {
                "type": "boolean",
                "description": "Indicates if the token is verified",
                "example": false
              },
              "current_balance": {
                "type": "string",
                "nullable": true,
                "description": "The current balance of the token",
                "example": "1000000000000000"
              },
              "current_balance_formatted": {
                "type": "string",
                "nullable": true,
                "description": "The current balance of the token in decimal format",
                "example": "0.1"
              },
              "usd_price": {
                "type": "string",
                "nullable": true,
                "description": "The current price of the token in USD",
                "example": "1000000000000000"
              },
              "usd_at_risk": {
                "type": "string",
                "nullable": true,
                "description": "The amount of USD approve potentially at risk",
                "example": "1000000000000000"
              }
            }
          },
          "spender": {
            "type": "object",
            "properties": {
              "address": {
                "type": "string",
                "description": "The address of the spender",
                "example": "0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c"
              },
              "address_label": {
                "type": "string",
                "nullable": true,
                "description": "The label of the spender",
                "example": "Binance 1"
              },
              "entity": {
                "type": "string",
                "nullable": true,
                "description": "The entity of the spender",
                "example": "Opensea"
              },
              "entity_logo": {
                "type": "string",
                "nullable": true,
                "description": "The logo of the spender",
                "example": "https://opensea.io/favicon.ico"
              }
            }
          }
        },
        "required": [
          "block_number",
          "value",
          "token",
          "spender"
        ]
      },
      "walletHistory": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "The current page of the result",
            "example": "2"
          },
          "page_size": {
            "type": "integer",
            "description": "The number of results per page",
            "example": "100"
          },
          "cursor": {
            "type": "string",
            "description": "The cursor to get to the next page"
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/walletHistoryTransaction"
            }
          }
        },
        "required": [
          "page",
          "page_size",
          "cursor",
          "result"
        ]
      },
      "walletHistoryTransaction": {
        "type": "object",
        "properties": {
          "hash": {
            "type": "string",
            "description": "The hash of the transaction",
            "example": "0x1ed85b3757a6d31d01a4d6677fc52fd3911d649a0af21fe5ca3f886b153773ed"
          },
          "nonce": {
            "type": "string",
            "description": "The nonce",
            "example": "1848059"
          },
          "transaction_index": {
            "type": "string",
            "example": "108"
          },
          "from_address_entity": {
            "type": "string",
            "description": "The from address entity",
            "example": "Opensea"
          },
          "from_address_entity_logo": {
            "type": "string",
            "description": "The logo of the from address entity",
            "example": "https://opensea.io/favicon.ico"
          },
          "from_address": {
            "type": "string",
            "description": "The from address",
            "example": "0x267be1c1d684f78cb4f6a176c4911b741e4ffdc0"
          },
          "from_address_label": {
            "type": "string",
            "nullable": true,
            "description": "The label of the from address",
            "example": "Binance 1"
          },
          "to_address_entity": {
            "type": "string",
            "description": "The to address entity",
            "example": "Beaver Build"
          },
          "to_address_entity_logo": {
            "type": "string",
            "description": "The logo of the to address entity",
            "example": "https://beaverbuild.com/favicon.ico"
          },
          "to_address": {
            "type": "string",
            "nullable": true,
            "description": "The to address",
            "example": "0x003dde3494f30d861d063232c6a8c04394b686ff"
          },
          "to_address_label": {
            "type": "string",
            "nullable": true,
            "description": "The label of the to address",
            "example": "Binance 2"
          },
          "value": {
            "type": "string",
            "description": "The value sent",
            "example": "115580000000000000"
          },
          "gas": {
            "type": "string",
            "example": "30000"
          },
          "gas_price": {
            "type": "string",
            "description": "The gas price",
            "example": "52500000000"
          },
          "input": {
            "type": "string",
            "example": "0x"
          },
          "receipt_cumulative_gas_used": {
            "type": "string",
            "example": "4923073"
          },
          "receipt_gas_used": {
            "type": "string",
            "example": "21000"
          },
          "receipt_contract_address": {
            "type": "string",
            "nullable": true,
            "example": "0x9869524fd160fe3adda6218883b6526c0977d3a5"
          },
          "receipt_status": {
            "type": "string",
            "example": "1"
          },
          "transaction_fee": {
            "type": "string",
            "example": "0.00000000000000063"
          },
          "block_timestamp": {
            "type": "string",
            "description": "The block timestamp",
            "example": "2021-05-07T11:08:35.000Z"
          },
          "block_number": {
            "type": "string",
            "description": "The block number",
            "example": "12386788"
          },
          "block_hash": {
            "type": "string",
            "description": "The hash of the block",
            "example": "0x9b559aef7ea858608c2e554246fe4a24287e7aeeb976848df2b9a2531f4b9171"
          },
          "internal_transactions": {
            "type": "array",
            "description": "The internal transactions of the transaction",
            "items": {
              "$ref": "#/components/schemas/internalTransaction"
            }
          },
          "category": {
            "$ref": "#/components/schemas/ETransactionCategory"
          },
          "contract_interactions": {
            "$ref": "#/components/schemas/ResolveContractInteractionResponse",
            "description": "The contract interactions that happend in the transaction"
          },
          "possible_spam": {
            "type": "boolean",
            "description": "Is transaction possible spam",
            "example": "false"
          },
          "method_label": {
            "type": "string",
            "description": "The label of the method called if any called",
            "example": "transfer"
          },
          "summary": {
            "type": "string",
            "description": "Summary of what happened on the transaction",
            "example": "transfer"
          },
          "nft_transfers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/walletHistoryNftTransfer"
            }
          },
          "erc20_transfers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/walletHistoryErc20Transfer"
            }
          },
          "native_transfers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/native_transfer"
            }
          },
          "logs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/logVerbose"
            }
          }
        },
        "required": [
          "hash",
          "nonce",
          "transaction_index",
          "from_address",
          "value",
          "gas_price",
          "receipt_cumulative_gas_used",
          "receipt_gas_used",
          "receipt_status",
          "block_timestamp",
          "block_number",
          "block_hash",
          "category",
          "contract_interactions",
          "summary",
          "nft_transfers",
          "erc20_transfers",
          "native_transfers"
        ]
      },
      "internalTransaction": {
        "type": "object",
        "properties": {
          "transaction_hash": {
            "type": "string",
            "description": "The hash of the transaction",
            "example": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e"
          },
          "block_number": {
            "type": "string",
            "description": "The block number",
            "example": 12526958
          },
          "block_hash": {
            "type": "string",
            "description": "The block hash",
            "example": "0x0372c302e3c52e8f2e15d155e2c545e6d802e479236564af052759253b20fd86"
          },
          "type": {
            "type": "string",
            "description": "Call type",
            "example": "CALL"
          },
          "from": {
            "type": "string",
            "description": "The sender",
            "example": "0xd4a3BebD824189481FC45363602b83C9c7e9cbDf"
          },
          "to": {
            "type": "string",
            "description": "The recipient",
            "example": "0xa71db868318f0a0bae9411347cd4a6fa23d8d4ef"
          },
          "value": {
            "type": "string",
            "description": "The value that was transfered (in wei)",
            "example": "650000000000000000"
          },
          "gas": {
            "type": "string",
            "description": "The gas of the transaction",
            "example": "6721975"
          },
          "gas_used": {
            "type": "string",
            "description": "The used gas",
            "example": "6721975"
          },
          "input": {
            "type": "string",
            "description": "The input",
            "example": "0x"
          },
          "output": {
            "type": "string",
            "description": "The output",
            "example": "0x"
          }
        },
        "required": [
          "transaction_hash",
          "block_number",
          "block_hash",
          "type",
          "from",
          "to",
          "value",
          "gas",
          "gas_used",
          "input",
          "output"
        ]
      },
      "ETransactionCategory": {
        "type": "string",
        "enum": [
          "send",
          "receive",
          "token send",
          "token receive",
          "nft send",
          "nft receive",
          "token swap",
          "deposit",
          "withdraw",
          "nft purchase",
          "nft sale",
          "airdrop",
          "mint",
          "burn",
          "borrow",
          "contract interaction"
        ],
        "description": "Defines the category of the transaction."
      },
      "ResolveContractInteractionResponse": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/ApprovalResponse"
          },
          {
            "$ref": "#/components/schemas/RevokeResponse"
          },
          {
            "$ref": "#/components/schemas/SetApprovalAllResponse"
          },
          {
            "$ref": "#/components/schemas/SetRevokeAllResponse"
          }
        ]
      },
      "ApprovalResponse": {
        "type": "object",
        "properties": {
          "approvals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApprovalData"
            }
          }
        }
      },
      "ApprovalData": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string"
          },
          "value_formatted": {
            "type": "string",
            "nullable": true
          },
          "token": {
            "$ref": "#/components/schemas/TokenDetails"
          },
          "spender": {
            "$ref": "#/components/schemas/SpenderDetails"
          }
        }
      },
      "TokenDetails": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string"
          },
          "address_label": {
            "type": "string",
            "nullable": true
          },
          "token_name": {
            "type": "string"
          },
          "token_logo": {
            "type": "string"
          },
          "token_symbol": {
            "type": "string"
          }
        }
      },
      "SpenderDetails": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string"
          },
          "address_label": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "symbol": {
            "type": "string",
            "nullable": true
          },
          "logo": {
            "type": "string",
            "nullable": true
          },
          "entity": {
            "type": "string",
            "nullable": true
          },
          "entity_logo": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "RevokeResponse": {
        "type": "object",
        "properties": {
          "revokes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApprovalData"
            }
          }
        }
      },
      "SetApprovalAllResponse": {
        "type": "object",
        "properties": {
          "set_approvals_all": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SetApprovalAllData"
            }
          }
        }
      },
      "SetApprovalAllData": {
        "type": "object",
        "properties": {
          "token": {
            "$ref": "#/components/schemas/TokenDetails"
          },
          "operator": {
            "$ref": "#/components/schemas/SpenderDetails"
          }
        }
      },
      "SetRevokeAllResponse": {
        "type": "object",
        "properties": {
          "set_revokes_all": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SetApprovalAllData"
            }
          }
        }
      },
      "walletHistoryNftTransfer": {
        "type": "object",
        "properties": {
          "token_address": {
            "type": "string",
            "description": "The address of the NFT contract",
            "example": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e"
          },
          "token_id": {
            "type": "string",
            "description": "The token ID of the NFT",
            "example": "15"
          },
          "from_address_entity": {
            "type": "string",
            "description": "The from address entity",
            "example": "Opensea"
          },
          "from_address_entity_logo": {
            "type": "string",
            "description": "The logo of the from address entity",
            "example": "https://opensea.io/favicon.ico"
          },
          "from_address": {
            "type": "string",
            "description": "The address that sent the NFT",
            "example": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e"
          },
          "from_address_label": {
            "type": "string",
            "nullable": true,
            "description": "The label of the from address",
            "example": "Binance 1"
          },
          "to_address_entity": {
            "type": "string",
            "description": "The to address entity",
            "example": "Beaver Build"
          },
          "to_address_entity_logo": {
            "type": "string",
            "description": "The logo of the to address entity",
            "example": "https://beaverbuild.com/favicon.ico"
          },
          "to_address": {
            "type": "string",
            "description": "The address that received the NFT",
            "example": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e"
          },
          "to_address_label": {
            "type": "string",
            "nullable": true,
            "description": "The label of the to address",
            "example": "Binance 2"
          },
          "value": {
            "type": "string",
            "description": "The value that was sent in the transaction (ETH/BNB/etc..)",
            "example": "1000000000000000"
          },
          "amount": {
            "type": "string",
            "description": "The number of tokens transferred",
            "example": "1"
          },
          "contract_type": {
            "type": "string",
            "description": "The type of NFT contract standard",
            "example": "ERC721"
          },
          "transaction_type": {
            "type": "string",
            "description": "The transaction type"
          },
          "log_index": {
            "type": "integer",
            "description": "The log index"
          },
          "operator": {
            "type": "string",
            "description": "The operator present only for ERC1155 transfers",
            "example": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e"
          },
          "possible_spam": {
            "type": "boolean",
            "description": "Indicates if a contract is possibly a spam contract",
            "example": "false"
          },
          "verified_collection": {
            "type": "boolean",
            "description": "Indicates if a contract is verified",
            "example": "false"
          },
          "direction": {
            "type": "string",
            "description": "The direction of the transfer",
            "example": "outgoing"
          },
          "collection_logo": {
            "type": "string",
            "description": "The logo of the collection",
            "example": "https://cdn.kayalabs.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c.png"
          },
          "collection_banner_image": {
            "type": "string",
            "description": "The banner image of the collection",
            "example": "https://cdn.kayalabs.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c.png"
          },
          "normalized_metadata": {
            "$ref": "#/components/schemas/normalizedMetadata",
            "description": "A normalized metadata version of the NFT's metadata."
          }
        },
        "required": [
          "token_address",
          "token_id",
          "from_address",
          "value",
          "amount",
          "contract_type",
          "transaction_type",
          "log_index",
          "possible_spam",
          "direction"
        ]
      },
      "walletHistoryErc20Transfer": {
        "type": "object",
        "properties": {
          "token_name": {
            "type": "string",
            "example": "Tether USD"
          },
          "token_symbol": {
            "type": "string",
            "example": "USDT"
          },
          "token_logo": {
            "type": "string",
            "example": "https://cdn.kayalabs.io/images/325/large/Tether-logo.png?1598003707"
          },
          "token_decimals": {
            "type": "string",
            "example": "6"
          },
          "address": {
            "type": "string",
            "description": "The address of the token",
            "example": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e"
          },
          "block_timestamp": {
            "type": "string",
            "description": "The block timestamp",
            "example": "2021-04-02T10:07:54.000Z"
          },
          "to_address_entity": {
            "type": "string",
            "description": "The to address entity",
            "example": "Beaver Build"
          },
          "to_address_entity_logo": {
            "type": "string",
            "description": "The logo of the to address entity",
            "example": "https://beaverbuild.com/favicon.ico"
          },
          "to_address": {
            "type": "string",
            "description": "The recipient",
            "example": "0x62AED87d21Ad0F3cdE4D147Fdcc9245401Af0044"
          },
          "to_address_label": {
            "type": "string",
            "nullable": true,
            "description": "The label of the to address",
            "example": "Binance 2"
          },
          "from_address_entity": {
            "type": "string",
            "description": "The from address entity",
            "example": "Opensea"
          },
          "from_address_entity_logo": {
            "type": "string",
            "description": "The logo of the from address entity",
            "example": "https://opensea.io/favicon.ico"
          },
          "from_address": {
            "type": "string",
            "description": "The sender",
            "example": "0xd4a3BebD824189481FC45363602b83C9c7e9cbDf"
          },
          "from_address_label": {
            "type": "string",
            "nullable": true,
            "description": "The label of the from address",
            "example": "Binance 1"
          },
          "value": {
            "type": "string",
            "description": "The value that was transfered (in wei)",
            "example": 650000000000000000
          },
          "value_formatted": {
            "type": "string",
            "description": "The value that was transfered decimal format",
            "example": "1.033"
          },
          "log_index": {
            "type": "integer",
            "description": "The log index of the transfer within the block",
            "example": 2
          },
          "possible_spam": {
            "type": "boolean",
            "description": "Indicates if a contract is possibly a spam contract",
            "example": "false"
          },
          "verified_contract": {
            "type": "boolean",
            "description": "Indicates if a contract is verified",
            "example": "false"
          }
        },
        "required": [
          "token_name",
          "token_symbol",
          "token_logo",
          "token_decimals",
          "address",
          "from_address",
          "value",
          "value_formatted",
          "log_index",
          "possible_spam",
          "verified_contract"
        ]
      },
      "native_transfer": {
        "type": "object",
        "properties": {
          "from_address_entity": {
            "type": "string",
            "description": "The from address entity",
            "example": "Opensea"
          },
          "from_address_entity_logo": {
            "type": "string",
            "description": "The logo of the from address entity",
            "example": "https://opensea.io/favicon.ico"
          },
          "from_address": {
            "type": "string",
            "description": "The address that sent the NFT",
            "example": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e"
          },
          "from_address_label": {
            "type": "string",
            "nullable": true,
            "description": "The label of the from address",
            "example": "Binance 1"
          },
          "to_address_entity": {
            "type": "string",
            "description": "The to address entity",
            "example": "Beaver Build"
          },
          "to_address_entity_logo": {
            "type": "string",
            "description": "The logo of the to address entity",
            "example": "https://beaverbuild.com/favicon.ico"
          },
          "to_address": {
            "type": "string",
            "description": "The address that received the NFT",
            "example": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e"
          },
          "to_address_label": {
            "type": "string",
            "nullable": true,
            "description": "The label of the to address",
            "example": "Binance 2"
          },
          "value": {
            "type": "string",
            "description": "The value that was sent in the transaction (ETH/BNB/etc..)",
            "example": "1000000000000000"
          },
          "value_formatted": {
            "type": "string",
            "description": "The value that was sent in the transaction (ETH/BNB/etc..) in decimal format",
            "example": "0.1"
          },
          "direction": {
            "type": "string",
            "description": "The direction of the transfer",
            "example": "outgoing"
          },
          "internal_transaction": {
            "type": "boolean",
            "description": "Indicates if the transaction is internal",
            "example": "false"
          },
          "token_symbol": {
            "type": "string",
            "description": "The symbol of the token transferred",
            "example": "ETH"
          },
          "token_logo": {
            "type": "string",
            "description": "The logo of the token transferred",
            "example": "https://cdn.kayalabs.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c.png"
          }
        },
        "required": [
          "from_address",
          "value",
          "value_formatted",
          "internal_transaction",
          "token_symbol",
          "token_logo"
        ]
      },
      "logVerbose": {
        "type": "object",
        "properties": {
          "log_index": {
            "type": "string",
            "example": "273"
          },
          "transaction_hash": {
            "type": "string",
            "description": "The hash of the transaction",
            "example": "0xdd9006489e46670e0e85d1fb88823099e7f596b08aeaac023e9da0851f26fdd5"
          },
          "transaction_index": {
            "type": "string",
            "example": "204"
          },
          "address": {
            "type": "string",
            "description": "The address of the contract",
            "example": "0x3105d328c66d8d55092358cf595d54608178e9b5"
          },
          "data": {
            "type": "string",
            "description": "The data of the log",
            "example": "0x00000000000000000000000000000000000000000000000de05239bccd4d537400000000000000000000000000024dbc80a9f80e3d5fc0a0ee30e2693781a443"
          },
          "topic0": {
            "type": "string",
            "example": "0x2caecd17d02f56fa897705dcc740da2d237c373f70686f4e0d9bd3bf0400ea7a"
          },
          "topic1": {
            "type": "string",
            "example": "0x000000000000000000000000031002d15b0d0cd7c9129d6f644446368deae391"
          },
          "topic2": {
            "type": "string",
            "example": "0x000000000000000000000000d25943be09f968ba740e0782a34e710100defae9"
          },
          "topic3": {
            "type": "string",
            "example": null
          },
          "block_timestamp": {
            "type": "string",
            "description": "The timestamp of the block",
            "example": "2021-05-07T11:08:35.000Z"
          },
          "block_number": {
            "type": "string",
            "description": "The block number",
            "example": "12386788"
          },
          "block_hash": {
            "type": "string",
            "description": "The hash of the block",
            "example": "0x9b559aef7ea858608c2e554246fe4a24287e7aeeb976848df2b9a2531f4b9171"
          },
          "decoded_event": {
            "$ref": "#/components/schemas/decodedEvent",
            "description": "The decoded data of the log"
          }
        },
        "required": [
          "log_index",
          "transaction_hash",
          "transaction_index",
          "address",
          "data",
          "topic0",
          "block_timestamp",
          "block_number",
          "block_hash",
          "decoded_event"
        ]
      },
      "decodedEvent": {
        "type": "object",
        "properties": {
          "signature": {
            "type": "string",
            "example": "Transfer(address,address,uint256)"
          },
          "label": {
            "type": "string",
            "example": "Transfer"
          },
          "type": {
            "type": "string",
            "example": "event"
          },
          "params": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "example": "from"
                },
                "value": {
                  "type": "string",
                  "example": "0x26C5011483Add49801eA8E3Ee354fE013895aCe5"
                },
                "type": {
                  "type": "string",
                  "example": "address"
                }
              }
            }
          }
        }
      },
      "erc20TokenBalanceWithPriceResult": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "The current page of the result",
            "example": "2"
          },
          "page_size": {
            "type": "integer",
            "description": "The number of results per page",
            "example": "100"
          },
          "block_number": {
            "type": "string",
            "description": "The block number of the transaction",
            "example": "13680123"
          },
          "cursor": {
            "type": "string",
            "description": "The cursor to get to the next page"
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/erc20TokenBalanceWithPrice"
            }
          }
        },
        "required": [
          "result"
        ]
      },
      "erc20TokenBalanceWithPrice": {
        "type": "object",
        "properties": {
          "token_address": {
            "type": "string",
            "description": "The address of the token contract"
          },
          "name": {
            "type": "string",
            "description": "The name of the token"
          },
          "symbol": {
            "type": "string",
            "description": "The symbol of the token"
          },
          "logo": {
            "type": "string",
            "description": "The logo of the token"
          },
          "thumbnail": {
            "type": "string",
            "description": "The thumbnail of the token logo"
          },
          "decimals": {
            "type": "integer",
            "description": "The number of decimals on the token"
          },
          "balance": {
            "type": "string",
            "description": "The balance of the token"
          },
          "possible_spam": {
            "type": "boolean",
            "description": "Indicates if a contract is possibly a spam contract"
          },
          "verified_contract": {
            "type": "boolean",
            "description": "Indicates if a contract is verified"
          },
          "usd_price": {
            "type": "string",
            "description": "USD price of the token"
          },
          "usd_price_24hr_percent_change": {
            "type": "string",
            "description": "24-hour percent change in USD price of the token"
          },
          "usd_price_24hr_usd_change": {
            "type": "string",
            "description": "24-hour change in USD price of the token"
          },
          "usd_value_24hr_usd_change": {
            "type": "string",
            "description": "24-hour change in USD value of the token based on the balance"
          },
          "usd_value": {
            "type": "number",
            "description": "USD value of the token balance"
          },
          "portfolio_percentage": {
            "type": "number",
            "description": "Percentage of the token in the entire portfolio"
          },
          "balance_formatted": {
            "type": "string",
            "description": "Balance of the token in decimal format"
          },
          "native_token": {
            "type": "boolean",
            "description": "Indicates if the token is a native coin"
          },
          "total_supply": {
            "type": "string",
            "description": "Total supply of the token"
          },
          "total_supply_formatted": {
            "type": "string",
            "description": "Total supply of the token in decimal format"
          },
          "percentage_relative_to_total_supply": {
            "type": "number",
            "description": "Percentage of the token in the total supply"
          }
        },
        "required": [
          "name",
          "symbol",
          "decimals",
          "balance",
          "possible_spam",
          "usd_price",
          "usd_price_24hr_percent_change",
          "usd_price_24hr_usd_change",
          "usd_value",
          "portfolio_percentage",
          "balance_formatted",
          "native_token"
        ]
      },
      "netWorthResult": {
        "type": "object",
        "properties": {
          "total_networth_usd": {
            "type": "string",
            "description": "The total networth in USD",
            "example": "3879851.41"
          },
          "chains": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/chainNetWorth"
            }
          },
          "unsupported_chain_ids": {
            "type": "array",
            "description": "The chain ids that are not supported",
            "items": {
              "type": "string"
            }
          },
          "unavailable_chains": {
            "type": "array",
            "description": "The chains that are not available during the request",
            "items": {
              "$ref": "#/components/schemas/unavailableChainNetWorth"
            }
          }
        },
        "required": [
          "total_networth_usd",
          "chains"
        ]
      },
      "chainNetWorth": {
        "type": "object",
        "properties": {
          "chain": {
            "type": "string",
            "description": "The chain",
            "example": "eth"
          },
          "native_balance": {
            "type": "string",
            "description": "The native balance",
            "example": "1085513807021271641379"
          },
          "native_balance_formatted": {
            "type": "string",
            "description": "The native balance formatted",
            "example": "1085.513807021271641379"
          },
          "native_balance_usd": {
            "type": "string",
            "description": "The native balance in USD",
            "example": "3158392.48"
          },
          "token_balance_usd": {
            "type": "string",
            "description": "The token balance in USD",
            "example": "721458.93"
          },
          "networth_usd": {
            "type": "string",
            "description": "The networth in USD",
            "example": "3879851.41"
          }
        },
        "required": [
          "chain",
          "native_balance",
          "native_balance_formatted",
          "native_balance_usd",
          "token_balance_usd",
          "networth_usd"
        ]
      },
      "unavailableChainNetWorth": {
        "type": "object",
        "properties": {
          "chain_id": {
            "type": "string",
            "description": "The chain id",
            "example": "0x1"
          }
        },
        "required": [
          "chain_id"
        ]
      },
      "includeList": {
        "type": "string",
        "enum": [
          "internal_transactions"
        ],
        "default": "",
        "example": ""
      },
      "transactionCollection": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string",
            "description": "The cursor to get to the next page"
          },
          "page": {
            "type": "integer",
            "description": "The current page of the result",
            "example": "2"
          },
          "page_size": {
            "type": "integer",
            "description": "The number of results per page",
            "example": "100"
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/transaction"
            }
          }
        },
        "required": [
          "result"
        ]
      },
      "transaction": {
        "type": "object",
        "properties": {
          "hash": {
            "type": "string",
            "description": "The hash of the transaction",
            "example": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e"
          },
          "nonce": {
            "type": "string",
            "description": "The nonce of the transaction",
            "example": 326595425
          },
          "transaction_index": {
            "type": "string",
            "description": "The transaction index",
            "example": 25
          },
          "from_address_entity": {
            "type": "string",
            "description": "The from address entity",
            "example": "Opensea"
          },
          "from_address_entity_logo": {
            "type": "string",
            "description": "The logo of the from address entity",
            "example": "https://opensea.io/favicon.ico"
          },
          "from_address": {
            "type": "string",
            "description": "The sender",
            "example": "0xd4a3BebD824189481FC45363602b83C9c7e9cbDf"
          },
          "from_address_label": {
            "type": "string",
            "nullable": true,
            "description": "The label of the from address",
            "example": "Binance 1"
          },
          "to_address_entity": {
            "type": "string",
            "description": "The to address entity",
            "example": "Beaver Build"
          },
          "to_address_entity_logo": {
            "type": "string",
            "description": "The logo of the to address entity",
            "example": "https://beaverbuild.com/favicon.ico"
          },
          "to_address": {
            "type": "string",
            "description": "The recipient",
            "example": "0xa71db868318f0a0bae9411347cd4a6fa23d8d4ef"
          },
          "to_address_label": {
            "type": "string",
            "nullable": true,
            "description": "The label of the to address",
            "example": "Binance 2"
          },
          "value": {
            "type": "string",
            "description": "The value that was transferred (in wei)",
            "example": 650000000000000000
          },
          "gas": {
            "type": "string",
            "description": "The gas of the transaction",
            "example": 6721975
          },
          "gas_price": {
            "type": "string",
            "description": "The gas price",
            "example": 20000000000
          },
          "input": {
            "type": "string",
            "description": "The input"
          },
          "receipt_cumulative_gas_used": {
            "type": "string",
            "description": "The receipt cumulative gas used",
            "example": 1340925
          },
          "receipt_gas_used": {
            "type": "string",
            "description": "The receipt gas used",
            "example": 1340925
          },
          "receipt_contract_address": {
            "type": "string",
            "description": "The receipt contract address",
            "example": "0x1d6a4cf64b52f6c73f201839aded7379ce58059c"
          },
          "receipt_root": {
            "type": "string",
            "description": "The receipt root"
          },
          "receipt_status": {
            "type": "string",
            "description": "The receipt status",
            "example": 1
          },
          "transaction_fee": {
            "type": "string",
            "description": "The transaction fee",
            "example": "0.00034"
          },
          "block_timestamp": {
            "type": "string",
            "description": "The block timestamp",
            "example": "2021-04-02T10:07:54.000Z"
          },
          "block_number": {
            "type": "string",
            "description": "The block number",
            "example": 12526958
          },
          "block_hash": {
            "type": "string",
            "description": "The block hash",
            "example": "0x0372c302e3c52e8f2e15d155e2c545e6d802e479236564af052759253b20fd86"
          },
          "internal_transactions": {
            "type": "array",
            "description": "The internal transaction",
            "items": {
              "$ref": "#/components/schemas/internalTransaction"
            }
          }
        },
        "required": [
          "hash",
          "nonce",
          "transaction_index",
          "from_address",
          "value",
          "gas",
          "gas_price",
          "input",
          "receipt_cumulative_gas_used",
          "receipt_gas_used",
          "receipt_contract_address",
          "receipt_root",
          "receipt_status",
          "block_timestamp",
          "block_number",
          "block_hash"
        ]
      },
      "transactionCollectionVerbose": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string",
            "description": "The cursor to get to the next page"
          },
          "page": {
            "type": "integer",
            "description": "The current page of the result",
            "example": "2"
          },
          "page_size": {
            "type": "integer",
            "description": "The number of results per page",
            "example": "100"
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/blockTransactionVerbose"
            }
          }
        },
        "required": [
          "result"
        ]
      },
      "blockTransactionVerbose": {
        "type": "object",
        "properties": {
          "hash": {
            "type": "string",
            "description": "The hash of the transaction",
            "example": "0x1ed85b3757a6d31d01a4d6677fc52fd3911d649a0af21fe5ca3f886b153773ed"
          },
          "nonce": {
            "type": "string",
            "description": "The nonce",
            "example": "1848059"
          },
          "transaction_index": {
            "type": "string",
            "example": "108"
          },
          "from_address_entity": {
            "type": "string",
            "description": "The from address entity",
            "example": "Opensea"
          },
          "from_address_entity_logo": {
            "type": "string",
            "description": "The logo of the from address entity",
            "example": "https://opensea.io/favicon.ico"
          },
          "from_address": {
            "type": "string",
            "description": "The from address",
            "example": "0x267be1c1d684f78cb4f6a176c4911b741e4ffdc0"
          },
          "from_address_label": {
            "type": "string",
            "nullable": true,
            "description": "The label of the from address",
            "example": "Binance 1"
          },
          "to_address_entity": {
            "type": "string",
            "description": "The to address entity",
            "example": "Beaver Build"
          },
          "to_address_entity_logo": {
            "type": "string",
            "description": "The logo of the to address entity",
            "example": "https://beaverbuild.com/favicon.ico"
          },
          "to_address": {
            "type": "string",
            "description": "The to address",
            "example": "0x003dde3494f30d861d063232c6a8c04394b686ff"
          },
          "to_address_label": {
            "type": "string",
            "nullable": true,
            "description": "The label of the to address",
            "example": "Binance 2"
          },
          "value": {
            "type": "string",
            "description": "The value sent",
            "example": "115580000000000000"
          },
          "gas": {
            "type": "string",
            "example": "30000"
          },
          "gas_price": {
            "type": "string",
            "description": "The gas price",
            "example": "52500000000"
          },
          "input": {
            "type": "string",
            "example": "0x"
          },
          "receipt_cumulative_gas_used": {
            "type": "string",
            "example": "4923073"
          },
          "receipt_gas_used": {
            "type": "string",
            "example": "21000"
          },
          "receipt_contract_address": {
            "type": "string",
            "example": null
          },
          "receipt_root": {
            "type": "string",
            "example": null
          },
          "receipt_status": {
            "type": "string",
            "example": "1"
          },
          "transaction_fee": {
            "type": "string",
            "example": "0.00034"
          },
          "block_timestamp": {
            "type": "string",
            "description": "The block timestamp",
            "example": "2021-05-07T11:08:35.000Z"
          },
          "block_number": {
            "type": "string",
            "description": "The block number",
            "example": "12386788"
          },
          "block_hash": {
            "type": "string",
            "description": "The hash of the block",
            "example": "0x9b559aef7ea858608c2e554246fe4a24287e7aeeb976848df2b9a2531f4b9171"
          },
          "logs": {
            "type": "array",
            "description": "The logs of the transaction",
            "items": {
              "$ref": "#/components/schemas/logVerbose"
            }
          },
          "decoded_call": {
            "$ref": "#/components/schemas/decodedCall",
            "description": "The decoded data of the transaction"
          }
        },
        "required": [
          "hash",
          "nonce",
          "transaction_index",
          "from_address",
          "value",
          "gas_price",
          "input",
          "receipt_cumulative_gas_used",
          "receipt_gas_used",
          "receipt_status",
          "transaction_fee",
          "block_timestamp",
          "block_number",
          "block_hash",
          "logs",
          "decoded_call"
        ]
      },
      "decodedCall": {
        "type": "object",
        "properties": {
          "signature": {
            "type": "string",
            "example": "transfer(address,uint256)"
          },
          "label": {
            "type": "string",
            "example": "transfer"
          },
          "type": {
            "type": "string",
            "example": "function"
          },
          "params": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "example": "_to"
                },
                "value": {
                  "type": "string",
                  "example": "0x1CA455A55108874A95C84620dDA2566c54D17953"
                },
                "type": {
                  "type": "string",
                  "example": "address"
                }
              }
            }
          }
        }
      },
      "blockTransaction": {
        "type": "object",
        "properties": {
          "hash": {
            "type": "string",
            "description": "The hash of the transaction",
            "example": "0x1ed85b3757a6d31d01a4d6677fc52fd3911d649a0af21fe5ca3f886b153773ed"
          },
          "nonce": {
            "type": "string",
            "description": "The nonce",
            "example": "1848059"
          },
          "transaction_index": {
            "type": "string",
            "example": "108"
          },
          "from_address_entity": {
            "type": "string",
            "description": "The from address entity",
            "example": "Opensea"
          },
          "from_address_entity_logo": {
            "type": "string",
            "description": "The logo of the from address entity",
            "example": "https://opensea.io/favicon.ico"
          },
          "from_address": {
            "type": "string",
            "description": "The from address",
            "example": "0x267be1c1d684f78cb4f6a176c4911b741e4ffdc0"
          },
          "from_address_label": {
            "type": "string",
            "nullable": true,
            "description": "The label of the from address",
            "example": "Binance 1"
          },
          "to_address_entity": {
            "type": "string",
            "description": "The to address entity",
            "example": "Beaver Build"
          },
          "to_address_entity_logo": {
            "type": "string",
            "description": "The logo of the to address entity",
            "example": "https://beaverbuild.com/favicon.ico"
          },
          "to_address": {
            "type": "string",
            "nullable": true,
            "description": "The to address",
            "example": "0x003dde3494f30d861d063232c6a8c04394b686ff"
          },
          "to_address_label": {
            "type": "string",
            "nullable": true,
            "description": "The label of the to address",
            "example": "Binance 2"
          },
          "value": {
            "type": "string",
            "description": "The value sent",
            "example": "115580000000000000"
          },
          "gas": {
            "type": "string",
            "example": "30000"
          },
          "gas_price": {
            "type": "string",
            "description": "The gas price",
            "example": "52500000000"
          },
          "input": {
            "type": "string",
            "example": "0x"
          },
          "receipt_cumulative_gas_used": {
            "type": "string",
            "example": "4923073"
          },
          "receipt_gas_used": {
            "type": "string",
            "example": "21000"
          },
          "receipt_contract_address": {
            "type": "string",
            "nullable": true,
            "example": null
          },
          "receipt_root": {
            "type": "string",
            "nullable": true,
            "example": null
          },
          "receipt_status": {
            "type": "string",
            "example": "1"
          },
          "block_timestamp": {
            "type": "string",
            "description": "The block timestamp",
            "example": "2021-05-07T11:08:35.000Z"
          },
          "block_number": {
            "type": "string",
            "description": "The block number",
            "example": "12386788"
          },
          "block_hash": {
            "type": "string",
            "description": "The hash of the block",
            "example": "0x9b559aef7ea858608c2e554246fe4a24287e7aeeb976848df2b9a2531f4b9171"
          },
          "logs": {
            "type": "array",
            "description": "The logs of the transaction",
            "items": {
              "$ref": "#/components/schemas/log"
            }
          },
          "internal_transactions": {
            "type": "array",
            "description": "The internal transactions of the transaction",
            "items": {
              "$ref": "#/components/schemas/internalTransaction"
            }
          }
        },
        "required": [
          "hash",
          "nonce",
          "transaction_index",
          "from_address",
          "value",
          "gas_price",
          "input",
          "receipt_cumulative_gas_used",
          "receipt_gas_used",
          "receipt_status",
          "block_timestamp",
          "block_number",
          "block_hash"
        ]
      },
      "log": {
        "type": "object",
        "properties": {
          "log_index": {
            "type": "string",
            "example": "273"
          },
          "transaction_hash": {
            "type": "string",
            "description": "The hash of the transaction",
            "example": "0xdd9006489e46670e0e85d1fb88823099e7f596b08aeaac023e9da0851f26fdd5"
          },
          "transaction_index": {
            "type": "string",
            "example": "204"
          },
          "address": {
            "type": "string",
            "description": "The address of the contract",
            "example": "0x3105d328c66d8d55092358cf595d54608178e9b5"
          },
          "data": {
            "type": "string",
            "description": "The data of the log",
            "example": "0x00000000000000000000000000000000000000000000000de05239bccd4d537400000000000000000000000000024dbc80a9f80e3d5fc0a0ee30e2693781a443"
          },
          "topic0": {
            "type": "string",
            "example": "0x2caecd17d02f56fa897705dcc740da2d237c373f70686f4e0d9bd3bf0400ea7a"
          },
          "topic1": {
            "type": "string",
            "nullable": true,
            "example": "0x000000000000000000000000031002d15b0d0cd7c9129d6f644446368deae391"
          },
          "topic2": {
            "type": "string",
            "nullable": true,
            "example": "0x000000000000000000000000d25943be09f968ba740e0782a34e710100defae9"
          },
          "topic3": {
            "type": "string",
            "nullable": true,
            "example": null
          },
          "block_timestamp": {
            "type": "string",
            "description": "The timestamp of the block",
            "example": "2021-05-07T11:08:35.000Z"
          },
          "block_number": {
            "type": "string",
            "description": "The block number",
            "example": "12386788"
          },
          "block_hash": {
            "type": "string",
            "description": "The hash of the block",
            "example": "0x9b559aef7ea858608c2e554246fe4a24287e7aeeb976848df2b9a2531f4b9171"
          }
        },
        "required": [
          "log_index",
          "transaction_hash",
          "transaction_index",
          "address",
          "data",
          "topic0",
          "block_timestamp",
          "block_number",
          "block_hash"
        ]
      },
      "block": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "description": "The block timestamp",
            "example": "2021-05-07T11:08:35.000Z"
          },
          "number": {
            "type": "string",
            "description": "The block number",
            "example": 12386788
          },
          "hash": {
            "type": "string",
            "description": "The block hash",
            "example": "0x9b559aef7ea858608c2e554246fe4a24287e7aeeb976848df2b9a2531f4b9171"
          },
          "parent_hash": {
            "type": "string",
            "description": "The block hash of the parent block",
            "example": "0x011d1fc45839de975cc55d758943f9f1d204f80a90eb631f3bf064b80d53e045"
          },
          "nonce": {
            "type": "string",
            "description": "The nonce",
            "example": "0xedeb2d8fd2b2bdec"
          },
          "sha3_uncles": {
            "type": "string",
            "example": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
          },
          "logs_bloom": {
            "type": "string",
            "example": "0xdde5fc46c5d8bcbd58207bc9f267bf43298e23791a326ff02661e99790da9996b3e0dd912c0b8202d389d282c56e4d11eb2dec4898a32b6b165f1f4cae6aa0079498eab50293f3b8defbf6af11bb75f0408a563ddfc26a3323d1ff5f9849e95d5f034d88a757ddea032c75c00708c9ff34d2207f997cc7d93fd1fa160a6bfaf62a54e31f9fe67ab95752106ba9d185bfdc9b6dc3e17427f844ee74e5c09b17b83ad6e8fc7360f5c7c3e4e1939e77a6374bee57d1fa6b2322b11ad56ad0398302de9b26d6fbfe414aa416bff141fad9d4af6aea19322e47595e342cd377403f417dfd396ab5f151095a5535f51cbc34a40ce9648927b7d1d72ab9daf253e31daf"
          },
          "transactions_root": {
            "type": "string",
            "example": "0xe4c7bf3aff7ad07f9e80d57f7189f0252592fee6321c2a9bd9b09b6ce0690d27"
          },
          "state_root": {
            "type": "string",
            "example": "0x49e3bfe7b618e27fde8fa08884803a8458b502c6534af69873a3cc926a7c724b"
          },
          "receipts_root": {
            "type": "string",
            "example": "0x7cf43d7e837284f036cf92c56973f5e27bdd253ca46168fa195a6b07fa719f23"
          },
          "miner": {
            "type": "string",
            "description": "The address of the miner",
            "example": "0xea674fdde714fd979de3edf0f56aa9716b898ec8"
          },
          "difficulty": {
            "type": "string",
            "description": "The difficulty of the block",
            "example": "7253857437305950"
          },
          "total_difficulty": {
            "type": "string",
            "description": "The total difficulty",
            "example": "24325637817906576196890"
          },
          "size": {
            "type": "string",
            "description": "The block size",
            "example": "61271"
          },
          "extra_data": {
            "type": "string",
            "example": "0x65746865726d696e652d6575726f70652d7765737433"
          },
          "gas_limit": {
            "type": "string",
            "description": "The gas limit",
            "example": "14977947"
          },
          "gas_used": {
            "type": "string",
            "description": "The gas used",
            "example": "14964688"
          },
          "transaction_count": {
            "type": "string",
            "description": "The number of transactions in the block",
            "example": "252"
          },
          "transactions": {
            "type": "array",
            "description": "The transactions in the block",
            "items": {
              "$ref": "#/components/schemas/blockTransaction"
            }
          }
        },
        "required": [
          "timestamp",
          "number",
          "hash",
          "parent_hash",
          "nonce",
          "sha3_uncles",
          "logs_bloom",
          "transactions_root",
          "state_root",
          "receipts_root",
          "miner",
          "difficulty",
          "total_difficulty",
          "size",
          "extra_data",
          "gas_limit",
          "gas_used",
          "transaction_count",
          "transactions"
        ]
      },
      "blockDate": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "description": "The date of the block",
            "example": "2020-01-01T00:00:00+00:00"
          },
          "block": {
            "type": "number",
            "description": "The block number",
            "example": 9193266
          },
          "timestamp": {
            "type": "number",
            "description": "The timestamp of the block",
            "example": 1577836811
          },
          "block_timestamp": {
            "type": "string",
            "description": "The timestamp of the block",
            "example": "2019-12-31T23:59:45.000Z"
          },
          "hash": {
            "type": "string",
            "description": "The block hash",
            "example": "0x9b559aef7ea858608c2e554246fe4a24287e7aeeb976848df2b9a2531f4b9171"
          },
          "parent_hash": {
            "type": "string",
            "description": "The block hash of the parent block",
            "example": "0x011d1fc45839de975cc55d758943f9f1d204f80a90eb631f3bf064b80d53e045"
          }
        },
        "required": [
          "date",
          "block",
          "timestamp"
        ]
      },
      "RunContractDto": {
        "type": "object",
        "properties": {
          "abi": {
            "type": "array",
            "description": "The contract ABI",
            "items": {
              "type": "object"
            },
            "example": []
          },
          "params": {
            "type": "object",
            "description": "The params for the given function",
            "example": {}
          }
        },
        "required": [
          "abi"
        ]
      },
      "web3version": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "description": "The version of the API",
            "example": "1.0.0"
          }
        },
        "required": [
          "version"
        ]
      },
      "endpointWeights": {
        "type": "object",
        "properties": {
          "endpoint": {
            "type": "string",
            "description": "endpoint",
            "example": "endpointWeights"
          },
          "path": {
            "type": "string",
            "description": "The path to the endpoint",
            "example": "/info/endpointWeights"
          },
          "rateLimitCost": {
            "type": "string",
            "description": "The number of hits the request counts towards rate limiting",
            "example": 1
          },
          "price": {
            "type": "string",
            "description": "The number of compute units the request counts towards billing",
            "example": 0
          }
        },
        "required": [
          "endpoint",
          "path",
          "rateLimitCost",
          "price"
        ]
      },
      "ens": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Resolved ENS address",
            "example": "Vitalik.eth"
          }
        },
        "required": [
          "name"
        ]
      },
      "resolve": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "description": "Resolved domain address",
            "example": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e"
          }
        },
        "required": [
          "address"
        ]
      },
      "unstoppableDomain": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Resolved unstoppable domain address",
            "example": "sandy.nft"
          }
        },
        "required": [
          "name"
        ]
      },
      "reservesCollection": {
        "type": "object",
        "properties": {
          "token0": {
            "type": "object",
            "properties": {
              "address": {
                "type": "string",
                "example": "0x2b591e99afe9f32eaa6214f7b7629768c40eeb39"
              },
              "name": {
                "type": "string",
                "example": "HEX"
              },
              "symbol": {
                "type": "string",
                "example": "HEX"
              },
              "decimals": {
                "type": "string",
                "example": 9
              },
              "logo": {
                "type": "string",
                "example": "https://cdn.kayalabs.io/eth/0x2b591e99afe9f32eaa6214f7b7629768c40eeb39.png"
              },
              "logo_hash": {
                "type": "string",
                "example": "b3bd1b5512965d7b6aeee903dcc6d28b116d58c788eb41e9c1690baed878beaa"
              },
              "thumbnail": {
                "type": "string",
                "example": "https://cdn.kayalabs.io/eth/0x2b591e99afe9f32eaa6214f7b7629768c40eeb39_thumb.png"
              },
              "block_number": {
                "type": "string",
                "example": 14836562
              },
              "validated": {
                "type": "number",
                "example": 0
              },
              "created_at": {
                "type": "string",
                "example": "2022-01-20T09:39:55.818Z"
              }
            }
          },
          "token1": {
            "type": "object",
            "properties": {
              "address": {
                "type": "string",
                "example": "0xdac17f958d2ee523a2206206994597c13d831ec7"
              },
              "name": {
                "type": "string",
                "example": "Tether USD"
              },
              "symbol": {
                "type": "string",
                "example": "USDT"
              },
              "decimals": {
                "type": "string",
                "example": 6
              },
              "logo": {
                "type": "string",
                "example": "https://cdn.kayalabs.io/eth/0xdac17f958d2ee523a2206206994597c13d831ec7.png"
              },
              "logo_hash": {
                "type": "string",
                "example": "ee7aa2cdf100649a3521a082116258e862e6971261a39b5cd4e4354fcccbc54d"
              },
              "thumbnail": {
                "type": "string",
                "example": "https://cdn.kayalabs.io/eth/0xdac17f958d2ee523a2206206994597c13d831ec7_thumb.png"
              },
              "block_number": {
                "type": "string",
                "example": "4638568"
              },
              "validated": {
                "type": "number",
                "example": 1
              },
              "created_at": {
                "type": "string",
                "example": "2022-01-20T09:39:55.818Z"
              }
            }
          },
          "pairAddress": {
            "type": "string",
            "example": "0xbbb9bf440d0f686487925fef3b0a0f9aa67753f6"
          }
        }
      },
      "marketDataERC20Token": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "rank": {
              "type": "integer",
              "description": "The rank",
              "example": 1
            },
            "token_name": {
              "type": "string",
              "description": "The token name",
              "example": "Wrapped Ether"
            },
            "token_symbol": {
              "type": "string",
              "description": "The token symbol",
              "example": "WETH"
            },
            "token_logo": {
              "type": "string",
              "description": "The token image",
              "example": "https://cdn.kayalabs.io/coins/images/2518/large/weth.png?1595348880"
            },
            "token_decimals": {
              "type": "string",
              "description": "The token decimals",
              "example": "18"
            },
            "contract_address": {
              "type": "string",
              "description": "The contract address",
              "example": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
            },
            "price_usd": {
              "type": "string",
              "description": "The price in USD",
              "example": "0.0285"
            },
            "price_24h_percent_change": {
              "type": "string",
              "description": "The price change in the last 24h",
              "example": "0.0285"
            },
            "price_7d_percent_change": {
              "type": "string",
              "description": "The price change in the last 7d",
              "example": "0.0285"
            },
            "market_cap_usd": {
              "type": "string",
              "description": "The market cap in USD",
              "example": "0.0285"
            }
          },
          "required": [
            "rank",
            "token_name",
            "token_symbol",
            "token_logo",
            "token_decimals",
            "contract_address",
            "price_usd",
            "price_24h_percent_change",
            "price_7d_percent_change",
            "market_cap_usd"
          ]
        }
      },
      "marketDataERC20TokensByPriceMovers": {
        "type": "object",
        "properties": {
          "gainers": {
            "$ref": "#/components/schemas/marketDataERC20Token"
          },
          "losers": {
            "$ref": "#/components/schemas/marketDataERC20Token"
          }
        },
        "required": [
          "gainers",
          "losers"
        ]
      },
      "marketDataTopNFTCollectionByMarketCap": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "rank": {
              "type": "integer",
              "description": "The rank",
              "example": 1
            },
            "collection_title": {
              "type": "string",
              "description": "The collection title",
              "example": "CryptoPunks"
            },
            "collection_image": {
              "type": "string",
              "description": "The collection image",
              "example": ""
            },
            "floor_price_usd": {
              "type": "string",
              "description": "The floor price in USD",
              "example": "0.0"
            },
            "floor_price_24hr_percent_change": {
              "type": "string",
              "description": "The floor price 24hr percent change",
              "example": "0.0"
            },
            "market_cap_usd": {
              "type": "string",
              "description": "The market cap in USD",
              "example": "0.0"
            },
            "market_cap_24hr_percent_change": {
              "type": "string",
              "description": "The market cap 24hr percent change",
              "example": "0.0"
            },
            "volume_usd": {
              "type": "string",
              "description": "The volume in USD",
              "example": "0.0"
            },
            "volume_24hr_percent_change": {
              "type": "string",
              "description": "The volume 24hr percent change",
              "example": "0.0"
            },
            "collection_address": {
              "type": "string",
              "description": "The collection address",
              "example": "0x123"
            },
            "floor_price": {
              "type": "string",
              "description": "The floor price",
              "example": "0.0"
            },
            "floor_price_usd_24hr_percent_change": {
              "type": "string",
              "description": "The floor price usd 24hr percent change",
              "example": "0.0"
            }
          },
          "required": [
            "rank",
            "collection_title",
            "collection_image",
            "floor_price_usd",
            "floor_price_24hr_percent_change",
            "market_cap_usd",
            "market_cap_24hr_percent_change",
            "volume_usd",
            "volume_24hr_percent_change",
            "collection_address"
          ]
        }
      },
      "marketDataHottestNFTCollectionByTradingVolume": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "rank": {
              "type": "integer",
              "description": "The rank",
              "example": 1
            },
            "collection_title": {
              "type": "string",
              "description": "The collection title",
              "example": "CryptoPunks"
            },
            "collection_image": {
              "type": "string",
              "description": "The collection image",
              "example": ""
            },
            "floor_price_usd": {
              "type": "string",
              "description": "The floor price in USD",
              "example": "0.0"
            },
            "floor_price_24hr_percent_change": {
              "type": "string",
              "description": "The floor price 24hr percent change",
              "example": "0.0"
            },
            "volume_usd": {
              "type": "string",
              "description": "The volume in USD",
              "example": "0.0"
            },
            "volume_24hr_percent_change": {
              "type": "string",
              "description": "The volume 24hr percent change",
              "example": "0.0"
            },
            "average_price_usd": {
              "type": "string",
              "description": "The average price in USD",
              "example": "0.0"
            },
            "collection_address": {
              "type": "string",
              "description": "The collection address",
              "example": "0x123"
            },
            "average_price": {
              "type": "string",
              "description": "The average price",
              "example": "0.0"
            },
            "floor_price": {
              "type": "string",
              "description": "The floor price",
              "example": "0.0"
            },
            "floor_price_usd_24hr_percent_change": {
              "type": "string",
              "description": "The floor price usd 24hr percent change",
              "example": "0.0"
            },
            "floor_price_7d_percent_change": {
              "type": "string",
              "description": "The floor price 7d percent change",
              "example": "0.0"
            },
            "floor_price_usd_7d_percent_change": {
              "type": "string",
              "description": "The floor price usd 7d percent change",
              "example": "0.0"
            },
            "floor_price_30d_percent_change": {
              "type": "string",
              "description": "The floor price 30d percent change",
              "example": "0.0"
            },
            "floor_price_usd_30d_percent_change": {
              "type": "string",
              "description": "The floor price usd 30d percent change",
              "example": "0.0"
            }
          },
          "required": [
            "rank",
            "collection_title",
            "collection_image",
            "floor_price_usd",
            "floor_price_24hr_percent_change",
            "volume_usd",
            "volume_24hr_percent_change",
            "collection_address"
          ]
        }
      },
      "marketDataTopCryptoCurrenciesByMarketCap": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "symbol": {
              "type": "string",
              "description": "The symbol of the token",
              "example": "ETH"
            },
            "name": {
              "type": "string",
              "description": "The name of the token",
              "example": "Ethereum"
            },
            "logo": {
              "type": "string",
              "description": "The logo of the token",
              "example": "https://cdn.kayalabs.io/coins/images/279/large/ethereum.png?1595348880"
            },
            "circulating_supply": {
              "type": "string",
              "description": "The circulating supply",
              "example": "0.0"
            },
            "total_supply": {
              "type": "string",
              "description": "The total supply",
              "example": "0.0"
            },
            "max_supply": {
              "type": "string",
              "description": "The max supply",
              "example": "0.0"
            },
            "market_cap_usd": {
              "type": "string",
              "description": "The market cap in USD",
              "example": "0.0"
            },
            "market_cap_rank": {
              "type": "string",
              "description": "The market cap rank",
              "example": "0.0"
            },
            "market_cap_24hr_change": {
              "type": "string",
              "description": "The market cap 24h change",
              "example": "0.0"
            },
            "market_cap_24hr_percent_change": {
              "type": "string",
              "description": "The market cap 24h percent change",
              "example": "0.0"
            },
            "total_volume": {
              "type": "string",
              "description": "The total volume",
              "example": "0.0"
            },
            "usd_price": {
              "type": "string",
              "description": "The price in USD",
              "example": "0.0"
            },
            "usd_price_24hr_high": {
              "type": "string",
              "description": "The price 24h high",
              "example": "0.0"
            },
            "usd_price_24hr_low": {
              "type": "string",
              "description": "The price 24h low",
              "example": "0.0"
            },
            "usd_price_24hr_change": {
              "type": "string",
              "description": "The price 24h change",
              "example": "0.0"
            },
            "usd_price_24hr_percent_change": {
              "type": "string",
              "description": "The price 24h percent change",
              "example": "0.0"
            },
            "usd_price_ath": {
              "type": "string",
              "description": "The price ath",
              "example": "0.0"
            },
            "ath_percent_change": {
              "type": "string",
              "description": "The ath percent change",
              "example": "0.0"
            },
            "ath_date": {
              "type": "string",
              "description": "The ath date",
              "example": "0.0"
            },
            "usd_price_1hr_percent_change": {
              "type": "string",
              "description": "The price 1h percent change",
              "example": "0.0"
            },
            "usd_price_7d_percent_change": {
              "type": "string",
              "description": "The price 7d percent change",
              "example": "0.0"
            },
            "usd_price_30d_percent_change": {
              "type": "string",
              "description": "The price 30d percent change",
              "example": "0.0"
            }
          },
          "required": [
            "symbol",
            "name",
            "logo",
            "circulating_supply",
            "total_supply",
            "max_supply",
            "market_cap_usd",
            "market_cap_rank",
            "market_cap_24hr_change",
            "market_cap_24hr_percent_change",
            "total_volume",
            "usd_price_24hr_high",
            "usd_price_24hr_low",
            "usd_price_24hr_change",
            "usd_price_24hr_percent_change",
            "usd_price_ath",
            "ath_percent_change",
            "ath_date"
          ]
        }
      },
      "ContractsReviewDto": {
        "type": "object",
        "properties": {
          "contracts": {
            "type": "array",
            "description": "The contracts to be reported",
            "maxItems": 25,
            "items": {
              "$ref": "#/components/schemas/contractsReviewItem"
            },
            "example": [
              {
                "contract_address": "0xa4991609c508b6d4fb7156426db0bd49fe298bd8",
                "report_type": "spam",
                "contract_type": "ERC20",
                "reason": "The contract contains shady code"
              }
            ]
          }
        },
        "required": [
          "contracts"
        ]
      },
      "contractsReviewItem": {
        "type": "object",
        "properties": {
          "contract_address": {
            "type": "string",
            "description": "The contract address",
            "example": "0x06012c8cf97bead5deae237070f9587f8e7a266d"
          },
          "reason": {
            "type": "string",
            "description": "The reason for the contract being spam",
            "example": 100
          },
          "report_type": {
            "type": "string",
            "enum": [
              "spam",
              "not_spam"
            ],
            "description": "This can be spam or not_spam",
            "example": "spam"
          },
          "contract_type": {
            "type": "string",
            "enum": [
              "ERC20",
              "NFT"
            ],
            "description": "This can be ERC20, or NFT",
            "example": "ERC20"
          }
        },
        "required": [
          "contract_address",
          "reason",
          "report_type",
          "contract_type"
        ]
      },
      "walletDefiSummary": {
        "type": "object",
        "properties": {
          "active_protocols": {
            "type": "number",
            "description": "The number of active protocols",
            "example": "10"
          },
          "total_positions": {
            "type": "number",
            "description": "The number of total positions",
            "example": "100"
          },
          "total_usd_value": {
            "type": "number",
            "description": "The total USD value of the wallet",
            "example": "1000000"
          },
          "total_unclaimed_usd_value": {
            "type": "number",
            "description": "The total unclaimed USD value of the wallet",
            "example": "1000000"
          },
          "protocols": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/defiProtocolBalance"
            }
          }
        },
        "required": [
          "active_protocols",
          "total_positions",
          "total_usd_value",
          "protocols"
        ]
      },
      "defiProtocolBalance": {
        "type": "object",
        "properties": {
          "total_usd_value": {
            "type": "number",
            "description": "The total USD value of the protocol",
            "example": "1000000"
          },
          "total_unclaimed_usd_value": {
            "type": "number",
            "description": "The total unclaimed USD value of the protocol",
            "example": "1000000"
          },
          "positions": {
            "type": "number",
            "description": "The number of positions",
            "example": "100"
          }
        },
        "required": [
          "total_usd_value",
          "positions"
        ]
      },
      "defiProtocolList": {
        "type": "string",
        "enum": [
          "uniswap-v2",
          "uniswap-v3",
          "pancakeswap-v2",
          "pancakeswap-v3",
          "quickswap-v2",
          "quickswap-v3",
          "sushiswap-v2",
          "aave-v2",
          "aave-v3",
          "aave-lido",
          "fraxswap-v1",
          "fraxswap-v2",
          "lido",
          "makerdao",
          "eigenlayer",
          "pendle",
          "etherfi",
          "rocketpool",
          "sparkfi"
        ],
        "default": "uniswap-v3",
        "example": "uniswap-v3"
      },
      "defiProtocolPosition": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "description": "The label of the position",
            "example": "liquidity"
          },
          "tokens": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/defiTokenBalance"
            }
          },
          "address": {
            "type": "string",
            "description": "The address of the position",
            "example": "0x06012c8cf97bead5deae237070f9587f8e7a266d"
          },
          "balance_usd": {
            "type": "number",
            "description": "The balance in USD",
            "example": "1000000"
          },
          "total_unclaimed_usd_value": {
            "type": "number",
            "description": "The total unclaimed USD value of the position",
            "example": "1000000"
          },
          "position_details": {
            "$ref": "#/components/schemas/defiPositionDetails",
            "description": "The details of the position"
          }
        },
        "required": [
          "label",
          "tokens",
          "balance_usd",
          "total_unclaimed_usd_value"
        ]
      },
      "defiTokenBalance": {
        "type": "object",
        "properties": {
          "token_type": {
            "type": "string",
            "description": "The token type (supply/defi/borrow token)",
            "example": "defi-token"
          },
          "name": {
            "type": "string",
            "description": "The name of the token",
            "example": "Wrapped Ether"
          },
          "symbol": {
            "type": "string",
            "description": "The symbol of the token",
            "example": "WETH"
          },
          "contract_address": {
            "type": "string",
            "description": "The contract address",
            "example": "0x06012c8cf97bead5deae237070f9587f8e7a266d"
          },
          "decimals": {
            "type": "number",
            "description": "The decimals of the token",
            "example": "18"
          },
          "logo": {
            "type": "string",
            "description": "The logo of the token",
            "example": "https://cdn.kayalabs.io/tokens/0x0000000000085d4780b73119b644ae5ecd22b376.png"
          },
          "thumbnail": {
            "type": "string",
            "description": "The thumbnail of the token",
            "example": "https://cdn.kayalabs.io/tokens/0x0000000000085d4780b73119b644ae5ecd22b376.png"
          },
          "balance": {
            "type": "string",
            "description": "The balance of the token",
            "example": "1000000"
          },
          "balance_formatted": {
            "type": "string",
            "description": "The balance of the token formatted",
            "example": "1.000000"
          },
          "usd_price": {
            "type": "number",
            "description": "The USD price of the token",
            "example": "1000000"
          },
          "usd_value": {
            "type": "number",
            "description": "The USD value of the token",
            "example": "1000000"
          }
        },
        "required": [
          "token_type",
          "name",
          "symbol",
          "contract_address",
          "decimals",
          "balance",
          "balance_formatted"
        ]
      },
      "defiPositionDetails": {
        "type": "object",
        "properties": {
          "fee_tier": {
            "type": "number",
            "nullable": true,
            "description": "The fee tier of the position"
          },
          "range_tnd": {
            "type": "number",
            "nullable": true,
            "description": "The range trend of the position"
          },
          "reserves": {
            "type": "array",
            "nullable": true,
            "description": "The reserves of the position",
            "items": {
              "type": "string"
            }
          },
          "current_price": {
            "type": "number",
            "nullable": true,
            "description": "The current price of the position"
          },
          "is_in_range": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the position is in range"
          },
          "price_upper": {
            "type": "number",
            "nullable": true,
            "description": "The upper price of the range"
          },
          "price_lower": {
            "type": "number",
            "nullable": true,
            "description": "The lower price of the range"
          },
          "price_label": {
            "type": "string",
            "nullable": true,
            "description": "The price label"
          },
          "liquidity": {
            "type": "number",
            "nullable": true,
            "description": "The liquidity of the position"
          },
          "range_start": {
            "type": "number",
            "nullable": true,
            "description": "The start of the range"
          },
          "pool_address": {
            "type": "string",
            "nullable": true,
            "description": "The address of the pool"
          },
          "position_key": {
            "type": "string",
            "nullable": true,
            "description": "The key of the position"
          },
          "nft_metadata": {
            "type": "object",
            "nullable": true,
            "description": "Metadata of the NFT"
          },
          "asset_standard": {
            "type": "string",
            "nullable": true,
            "description": "The standard of the asset"
          },
          "apy": {
            "type": "number",
            "nullable": true,
            "description": "The annual percentage yield"
          },
          "is_debt": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the position is a debt"
          },
          "is_variable_debt": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the position is a variable debt"
          },
          "is_stable_debt": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the position is a stable debt"
          },
          "shares": {
            "type": "string",
            "nullable": true,
            "description": "The shares of the position"
          },
          "reserve0": {
            "type": "string",
            "nullable": true,
            "description": "The first reserve of the position"
          },
          "reserve1": {
            "type": "string",
            "nullable": true,
            "description": "The second reserve of the position"
          },
          "factory": {
            "type": "string",
            "description": "The factory of the position"
          },
          "pair": {
            "type": "string",
            "nullable": true,
            "description": "The pair of the position"
          },
          "share_of_pool": {
            "type": "number",
            "nullable": true,
            "description": "The share of the pool"
          },
          "no_price_available": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the price is available"
          },
          "shares_in_strategy": {
            "type": "string",
            "nullable": true,
            "description": "The shares in the strategy"
          },
          "strategy_address": {
            "type": "string",
            "nullable": true,
            "description": "The address of the strategy"
          },
          "base_type": {
            "type": "string",
            "nullable": true,
            "description": "The base type of the position"
          },
          "health_factor": {
            "type": "number",
            "nullable": true,
            "description": "The health factor of the position in percent"
          },
          "is_enabled_collateral": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether the supply position is enabled as collateral"
          }
        }
      },
      "defiPositionSummaryResponse": {
        "type": "object",
        "properties": {
          "protocol_name": {
            "type": "string",
            "description": "The name of the protocol",
            "example": "Uniswap v2"
          },
          "protocol_id": {
            "type": "string",
            "description": "The id of the protocol",
            "example": "uniswap-v2"
          },
          "protocol_url": {
            "type": "string",
            "description": "The url of the protocol",
            "example": "https://app.uniswap.org/pools/v2"
          },
          "protocol_logo": {
            "type": "string",
            "description": "The logo of the protocol",
            "example": "https://cdn.kayalabs.io/defi/uniswap.png"
          },
          "position": {
            "$ref": "#/components/schemas/defiProtocolPosition",
            "description": "The position of the protocol"
          }
        }
      },
      "walletActiveChains": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "description": "The address of the wallet",
            "example": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e"
          },
          "active_chains": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/walletActiveChain"
            }
          }
        },
        "required": [
          "address",
          "active_chains"
        ]
      },
      "walletActiveChain": {
        "type": "object",
        "properties": {
          "chain": {
            "type": "string",
            "description": "The chain name",
            "example": "eth"
          },
          "chain_id": {
            "type": "string",
            "description": "The chain id",
            "example": "0x1"
          },
          "first_transaction": {
            "$ref": "#/components/schemas/transactionTimestamp"
          },
          "last_transaction": {
            "$ref": "#/components/schemas/transactionTimestamp"
          }
        },
        "required": [
          "chain",
          "chain_id"
        ]
      },
      "transactionTimestamp": {
        "type": "object",
        "properties": {
          "block_number": {
            "type": "string",
            "description": "The block number",
            "example": "123456789"
          },
          "block_timestamp": {
            "type": "string",
            "description": "The block timestamp",
            "example": "2022-08-23T20:58:31.000Z"
          },
          "transaction_hash": {
            "type": "string",
            "description": "The hash of the transaction",
            "example": "0x2d30ca6f024dbc1307ac8a1a44ca27de6f797ec22ef20627a1307243b0ab7d09"
          }
        },
        "required": [
          "block_number",
          "block_timestamp"
        ]
      },
      "walletStat": {
        "type": "object",
        "properties": {
          "nfts": {
            "type": "string",
            "description": "The number of NFTs owned by a wallet",
            "example": "100"
          },
          "collections": {
            "type": "string",
            "description": "The number of unique NFT collections owned by a wallet",
            "example": "10"
          },
          "transactions": {
            "type": "object",
            "description": "Transaction stats",
            "properties": {
              "total": {
                "type": "string",
                "description": "The number of transactions sent by a wallet",
                "example": "1000"
              }
            },
            "required": [
              "total"
            ]
          },
          "nft_transfers": {
            "type": "object",
            "description": "NFT transfer stats",
            "properties": {
              "total": {
                "type": "string",
                "description": "The number of NFT transfers of a wallet",
                "example": "1000"
              }
            },
            "required": [
              "total"
            ]
          },
          "token_transfers": {
            "type": "object",
            "description": "Token transfer stats",
            "properties": {
              "total": {
                "type": "string",
                "description": "The number of ERC20 token transfers of a wallet",
                "example": "1000"
              }
            },
            "required": [
              "total"
            ]
          }
        },
        "required": [
          "nfts",
          "collections",
          "transactions",
          "nft_transfers",
          "token_transfers"
        ]
      },
      "nftCollectionStat": {
        "type": "object",
        "properties": {
          "total_tokens": {
            "type": "string",
            "description": "The number of tokens in the collection",
            "example": "100"
          },
          "owners": {
            "type": "object",
            "description": "NFT collection owner stats",
            "properties": {
              "current": {
                "type": "string",
                "description": "The number of current owners of the collection",
                "example": "1000"
              }
            },
            "required": [
              "current"
            ]
          },
          "transfers": {
            "type": "object",
            "description": "NFT collection transfer stats",
            "properties": {
              "total": {
                "type": "string",
                "description": "The number of transfers of the collection",
                "example": "1000"
              }
            },
            "required": [
              "total"
            ]
          }
        },
        "required": [
          "total_tokens",
          "owners",
          "transfers"
        ]
      },
      "nftFloorPriceChainList": {
        "type": "string",
        "enum": [
          "eth",
          "0x1",
          "base",
          "0x2105"
        ],
        "default": "eth",
        "example": "eth"
      },
      "contractFloorPrice": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "description": "The address of the NFT contract",
            "example": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d"
          },
          "floor_price": {
            "type": "string",
            "description": "The floor price of the contract",
            "example": "0.2176"
          },
          "floor_price_usd": {
            "type": "string",
            "description": "The floor price of the contract in USD",
            "example": "564.24"
          },
          "currency": {
            "type": "string",
            "description": "The currency of the floor price",
            "example": "eth"
          },
          "marketplace": {
            "$ref": "#/components/schemas/marketplace",
            "description": "The marketplace in which the floor price is present"
          },
          "last_updated": {
            "type": "string",
            "description": "The timestamp of when the floor price was last updated",
            "example": "2024-08-21T15:59:11.000Z"
          }
        },
        "required": [
          "address",
          "last_updated"
        ]
      },
      "marketplace": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the marketplace",
            "example": "blur"
          },
          "logo": {
            "type": "string",
            "description": "The logo of the marketplace",
            "example": "https://cdn.kayalabs.io/marketplaces/blur.png"
          }
        },
        "required": [
          "name"
        ]
      },
      "tokenFloorPrice": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "description": "The address of the NFT contract",
            "example": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d"
          },
          "token_id": {
            "type": "string",
            "description": "The token ID of the NFT",
            "example": "2441"
          },
          "floor_price": {
            "type": "string",
            "description": "The floor price of the contract",
            "example": "0.2176"
          },
          "floor_price_usd": {
            "type": "string",
            "description": "The floor price of the contract in USD",
            "example": "564.24"
          },
          "currency": {
            "type": "string",
            "description": "The currency of the floor price",
            "example": "eth"
          },
          "marketplace": {
            "$ref": "#/components/schemas/marketplace",
            "description": "The marketplace in which the floor price is present"
          },
          "last_updated": {
            "type": "string",
            "description": "The timestamp of when the floor price was last updated",
            "example": "2024-08-21T15:59:11.000Z"
          }
        },
        "required": [
          "address",
          "token_id"
        ]
      },
      "nftFloorPriceIntervalList": {
        "type": "string",
        "enum": [
          "1d",
          "7d",
          "30d",
          "60d",
          "90d",
          "1y",
          "all"
        ],
        "default": "1d",
        "example": "1d"
      },
      "historicalContractFloorResponse": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "The current page of the result",
            "example": "1"
          },
          "page_size": {
            "type": "integer",
            "description": "The number of results per page",
            "example": "100"
          },
          "cursor": {
            "type": "string",
            "description": "The cursor to get to the next page"
          },
          "result": {
            "type": "array",
            "description": "List of historical contract floor prices at various intervals.",
            "items": {
              "$ref": "#/components/schemas/historicalContractFloorPrice"
            }
          }
        },
        "required": [
          "result"
        ]
      },
      "historicalContractFloorPrice": {
        "type": "object",
        "properties": {
          "floor_price": {
            "type": "string",
            "description": "The floor price of the contract",
            "example": "0.2176"
          },
          "floor_price_usd": {
            "type": "string",
            "description": "The floor price of the contract in USD",
            "example": "564.24"
          },
          "currency": {
            "type": "string",
            "description": "The currency of the floor price",
            "example": "eth"
          },
          "marketplace": {
            "type": "string",
            "description": "The marketplace in which the floor price is present",
            "example": "blur"
          },
          "timestamp": {
            "type": "string",
            "description": "The timestamp of when the floor price was last updated",
            "example": "2024-08-21T15:59:11.000Z"
          }
        },
        "required": [
          "timestamp"
        ]
      },
      "erc20TokenStat": {
        "type": "object",
        "properties": {
          "transfers": {
            "type": "object",
            "description": "ERC20 Token transfer stats",
            "properties": {
              "total": {
                "type": "string",
                "description": "The number of transfers of the token",
                "example": "1000"
              }
            },
            "required": [
              "total"
            ]
          }
        },
        "required": [
          "transfers"
        ]
      },
      "blockTokenStat": {
        "type": "object",
        "properties": {
          "transactions": {
            "type": "object",
            "description": "Transaction stats",
            "properties": {
              "total": {
                "type": "string",
                "description": "The number of transactions made in a block",
                "example": "7"
              }
            },
            "required": [
              "total"
            ]
          },
          "nft_transfers": {
            "type": "object",
            "description": "NFT transfer stats",
            "properties": {
              "total": {
                "type": "string",
                "description": "The number of NFT transfers made in a block",
                "example": "0"
              }
            },
            "required": [
              "total"
            ]
          }
        },
        "required": [
          "transactions",
          "nft_transfers"
        ]
      },
      "tokenExplorerMetrics": {
        "type": "string",
        "enum": [
          "experiencedBuyers",
          "tokenAge",
          "holders",
          "buyers",
          "sellers",
          "netBuyers",
          "experiencedSellers",
          "netExperiencedBuyers",
          "fullyDilutedValuation",
          "marketCap",
          "usdPrice",
          "usdPricePercentChange",
          "liquidityChange",
          "liquidityChangeUSD",
          "volumeUsd",
          "buyVolumeUsd",
          "sellVolumeUsd",
          "netVolumeUsd",
          "securityScore"
        ]
      },
      "tokenExplorerTimeFrames": {
        "type": "string",
        "enum": [
          "oneMonth",
          "tenMinutes",
          "thirtyMinutes",
          "oneHour",
          "fourHours",
          "twelveHours",
          "oneDay",
          "oneWeek"
        ]
      },
      "discoveryApiChainsList": {
        "type": "string",
        "enum": [
          "eth",
          "mainnet",
          "0x1",
          "matic",
          "0x89",
          "polygon",
          "bsc",
          "binance",
          "0x38",
          "fantom",
          "ftm",
          "0xfa",
          "arbitrum",
          "0xa4b1",
          "optimism",
          "0xa",
          "base",
          "0x2105",
          "linea",
          "0xe708"
        ],
        "example": "eth"
      },
      "discoveryTokens": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "chain_id": {
              "type": "string",
              "description": "The chain id of the token",
              "example": "0x1"
            },
            "token_address": {
              "type": "string",
              "description": "The address of the token",
              "example": "0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2"
            },
            "token_name": {
              "type": "string",
              "nullable": true,
              "description": "The name of the token contract",
              "example": "Maker"
            },
            "token_symbol": {
              "type": "string",
              "nullable": true,
              "description": "The symbol of the token",
              "example": "MKR"
            },
            "token_logo": {
              "type": "string",
              "nullable": true,
              "description": "The logo of the token"
            },
            "price_usd": {
              "type": "number",
              "nullable": true,
              "description": "The price in USD for the token"
            },
            "token_age_in_days": {
              "type": "number",
              "nullable": true,
              "description": "The number of days since the token was created"
            },
            "on_chain_strength_index": {
              "type": "number",
              "nullable": true,
              "description": "The score of coin determined by various on chain metrics"
            },
            "security_score": {
              "type": "number",
              "nullable": true,
              "description": "The security score (0-100) given to the token based various parameters",
              "example": 88
            },
            "market_cap": {
              "type": "number",
              "nullable": true,
              "description": "The market cap in USD",
              "example": 1351767630.85
            },
            "fully_diluted_valuation": {
              "type": "number",
              "nullable": true,
              "description": "The fully diluted valuation in USD",
              "example": 1363915420.28
            },
            "twitter_followers": {
              "type": "number",
              "nullable": true,
              "description": "The number of followers of the token on twitter",
              "example": 255217
            },
            "holders_change": {
              "$ref": "#/components/schemas/timeFrames"
            },
            "liquidity_change_usd": {
              "$ref": "#/components/schemas/timeFrames"
            },
            "experienced_net_buyers_change": {
              "$ref": "#/components/schemas/timeFrames"
            },
            "volume_change_usd": {
              "$ref": "#/components/schemas/timeFrames"
            },
            "net_volume_change_usd": {
              "$ref": "#/components/schemas/timeFrames"
            },
            "price_percent_change_usd": {
              "$ref": "#/components/schemas/timeFrames"
            }
          },
          "required": [
            "chain_id",
            "token_address",
            "token_name",
            "token_symbol",
            "token_logo",
            "price_usd",
            "token_age_in_days",
            "on_chain_strength_index",
            "security_score",
            "market_cap",
            "fully_diluted_valuation",
            "twitter_followers",
            "holders_change",
            "liquidity_change_usd",
            "experienced_net_buyers_change",
            "volume_change_usd",
            "net_volume_change_usd",
            "price_percent_change_usd"
          ]
        }
      },
      "timeFrames": {
        "type": "object",
        "properties": {
          "1h": {
            "type": "number",
            "nullable": true,
            "description": "The 1 hour change of the token",
            "example": 14
          },
          "1d": {
            "type": "number",
            "nullable": true,
            "description": "The 1 day change of the token",
            "example": 14
          },
          "1w": {
            "type": "number",
            "nullable": true,
            "description": "The 1 week change of the token",
            "example": 162
          },
          "1M": {
            "type": "number",
            "nullable": true,
            "description": "The 1 month change of the token",
            "example": 162
          }
        },
        "required": [
          "1h",
          "1d",
          "1w",
          "1M"
        ]
      },
      "discoverySupportedTimeFrames": {
        "type": "string",
        "enum": [
          "1h",
          "1d",
          "1w",
          "1M"
        ],
        "example": "1d"
      },
      "discoveryToken": {
        "type": "object",
        "properties": {
          "chain_id": {
            "type": "string",
            "description": "The chain id of the token",
            "example": "0x1"
          },
          "token_address": {
            "type": "string",
            "description": "The address of the token",
            "example": "0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2"
          },
          "token_name": {
            "type": "string",
            "nullable": true,
            "description": "The name of the token contract",
            "example": "Maker"
          },
          "token_symbol": {
            "type": "string",
            "nullable": true,
            "description": "The symbol of the token",
            "example": "MKR"
          },
          "token_logo": {
            "type": "string",
            "nullable": true,
            "description": "The logo of the token"
          },
          "block_number": {
            "type": "number",
            "nullable": true,
            "description": "The block number of token when it was minted"
          },
          "block_timestamp": {
            "type": "string",
            "nullable": true,
            "description": "The block timestamp of token when it was minted"
          },
          "links": {
            "$ref": "#/components/schemas/discoveryTokenLinks"
          },
          "rating": {
            "type": "number",
            "nullable": true,
            "description": "The rating of token by kayalabs money community members"
          },
          "total_number_of_rating": {
            "type": "number",
            "nullable": true,
            "description": "The total number of kayalabs money community members that have rated the token"
          },
          "total_liquidity_locked_in_percent": {
            "type": "number",
            "nullable": true,
            "description": "The total amount of liquidity that is locked"
          },
          "total_supply_locked_in_percent": {
            "type": "number",
            "nullable": true,
            "description": "The total amount of supply that is locked"
          },
          "price_usd": {
            "type": "number",
            "nullable": true,
            "description": "The price in USD for the token"
          },
          "token_age_in_days": {
            "type": "number",
            "nullable": true,
            "description": "The number of days since the token was created"
          },
          "on_chain_strength_index": {
            "type": "number",
            "nullable": true,
            "description": "The score of coin determined by various on chain metrics"
          },
          "security_score": {
            "type": "number",
            "nullable": true,
            "description": "The security score (0-100) given to the token based various parameters",
            "example": 88
          },
          "market_cap": {
            "type": "number",
            "nullable": true,
            "description": "The market cap in USD",
            "example": 1351767630.85
          },
          "fully_diluted_valuation": {
            "type": "number",
            "nullable": true,
            "description": "The fully diluted valuation in USD",
            "example": 1363915420.28
          },
          "twitter_followers": {
            "type": "number",
            "nullable": true,
            "description": "The number of followers of the token on twitter",
            "example": 255217
          },
          "holders_change": {
            "$ref": "#/components/schemas/timeFrames"
          },
          "liquidity_change_usd": {
            "$ref": "#/components/schemas/timeFrames"
          },
          "experienced_net_buyers_change": {
            "$ref": "#/components/schemas/timeFrames"
          },
          "volume_change_usd": {
            "$ref": "#/components/schemas/timeFrames"
          },
          "net_volume_change_usd": {
            "$ref": "#/components/schemas/timeFrames"
          },
          "price_percent_change_usd": {
            "$ref": "#/components/schemas/timeFrames"
          }
        },
        "required": [
          "chain_id",
          "token_address",
          "token_name",
          "token_symbol",
          "token_logo",
          "block_number",
          "block_timestamp",
          "links",
          "rating",
          "total_number_of_rating",
          "total_liquidity_locked_in_percent",
          "total_supply_locked_in_percent",
          "price_usd",
          "token_age_in_days",
          "on_chain_strength_index",
          "security_score",
          "market_cap",
          "fully_diluted_valuation",
          "twitter_followers",
          "holders_change",
          "liquidity_change_usd",
          "experienced_net_buyers_change",
          "volume_change_usd",
          "net_volume_change_usd",
          "price_percent_change_usd"
        ]
      },
      "WalletProfitabilityResponse": {
        "type": "object",
        "properties": {
          "result": {
            "type": "array",
            "description": "List of tokens traded with their respective profitability data.",
            "items": {
              "$ref": "#/components/schemas/WalletProfitabilityTokenData"
            }
          }
        }
      },
      "WalletProfitabilityTokenData": {
        "type": "object",
        "properties": {
          "token_address": {
            "type": "string",
            "description": "The address of the traded token."
          },
          "avg_buy_price_usd": {
            "type": "string",
            "description": "Average buy price in USD."
          },
          "avg_sell_price_usd": {
            "type": "string",
            "description": "Average sell price in USD."
          },
          "total_usd_invested": {
            "type": "string",
            "description": "Total USD invested."
          },
          "total_tokens_sold": {
            "type": "string",
            "description": "Total tokens sold."
          },
          "total_tokens_bought": {
            "type": "string",
            "description": "Total tokens bought."
          },
          "total_sold_usd": {
            "type": "string",
            "description": "Total USD received from selling tokens."
          },
          "avg_cost_of_quantity_sold": {
            "type": "string",
            "description": "Average cost of sold quantity."
          },
          "count_of_trades": {
            "type": "number",
            "description": "Count of trades for the token."
          },
          "realized_profit_usd": {
            "type": "string",
            "description": "Realized profit in USD for the token."
          },
          "realized_profit_percentage": {
            "type": "number",
            "description": "Realized profit percentage for the token."
          },
          "total_buys": {
            "type": "number",
            "description": "Total number of buys."
          },
          "total_sells": {
            "type": "number",
            "description": "Total number of sells."
          },
          "name": {
            "type": "string",
            "description": "Name of the token."
          },
          "symbol": {
            "type": "string",
            "description": "Symbol of the token."
          },
          "decimals": {
            "type": "string",
            "description": "Decimals of the token."
          },
          "logo": {
            "type": "string",
            "description": "Logo URL of the token."
          },
          "possible_spam": {
            "type": "boolean",
            "description": "Indicates whether the token is possibly spam."
          }
        },
        "required": [
          "token_address",
          "avg_buy_price_usd",
          "avg_sell_price_usd",
          "total_usd_invested",
          "total_tokens_sold",
          "total_tokens_bought",
          "total_sold_usd",
          "avg_cost_of_quantity_sold",
          "count_of_trades",
          "realized_profit_usd",
          "realized_profit_percentage",
          "total_buys",
          "total_sells",
          "name",
          "symbol",
          "decimals",
          "logo",
          "possible_spam"
        ]
      },
      "WalletTopProfitableWalletPerTokenResponse": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the token contract",
            "example": "Kylin Network"
          },
          "symbol": {
            "type": "string",
            "description": "The symbol of the NFT contract",
            "example": "KYL"
          },
          "decimals": {
            "type": "integer",
            "description": "The number of decimals on the token",
            "example": 18
          },
          "logo": {
            "type": "string",
            "description": "The logo of the token",
            "example": "https://cdn.kayalabs.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c.png"
          },
          "possible_spam": {
            "type": "boolean",
            "description": "Indicates if a contract is possibly a spam contract",
            "example": "false"
          },
          "result": {
            "type": "array",
            "description": "List of top profitable wallets per token.",
            "items": {
              "$ref": "#/components/schemas/TopProfitableWalletPerTokenResponse"
            }
          }
        },
        "required": [
          "name",
          "symbol",
          "decimals",
          "logo",
          "possible_spam",
          "result"
        ]
      },
      "TopProfitableWalletPerTokenResponse": {
        "type": "object",
        "properties": {
          "avg_buy_price_usd": {
            "type": "string",
            "description": "Average buy price in USD."
          },
          "avg_cost_of_quantity_sold": {
            "type": "string",
            "description": "Average cost of quantity sold."
          },
          "avg_sell_price_usd": {
            "type": "string",
            "description": "Average sell price in USD."
          },
          "count_of_trades": {
            "type": "number",
            "description": "Total number of trades."
          },
          "realized_profit_percentage": {
            "type": "number",
            "description": "Realized profit as a percentage."
          },
          "realized_profit_usd": {
            "type": "string",
            "description": "Realized profit in USD."
          },
          "total_sold_usd": {
            "type": "string",
            "description": "Total amount in USD for sold tokens."
          },
          "total_tokens_bought": {
            "type": "string",
            "description": "Total number of tokens bought."
          },
          "total_tokens_sold": {
            "type": "string",
            "description": "Total number of tokens sold."
          },
          "total_usd_invested": {
            "type": "string",
            "description": "Total amount of USD invested."
          },
          "address": {
            "type": "string",
            "description": "The wallet address."
          }
        },
        "required": [
          "avg_buy_price_usd",
          "avg_cost_of_quantity_sold",
          "avg_sell_price_usd",
          "count_of_trades",
          "realized_profit_percentage",
          "realized_profit_usd",
          "total_sold_usd",
          "total_tokens_bought",
          "total_tokens_sold",
          "total_usd_invested",
          "address"
        ]
      },
      "searchEntitiesResponseCollection": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "The current page of the result",
            "example": "1"
          },
          "page_size": {
            "type": "integer",
            "description": "The number of results per page",
            "example": "100"
          },
          "result": {
            "type": "object",
            "properties": {
              "entities": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/entityModel"
                }
              },
              "addresses": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/addressModelWithEntity"
                }
              },
              "categories": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/basicModel"
                }
              }
            }
          }
        },
        "required": [
          "result"
        ]
      },
      "entityModel": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the entity",
            "example": "Uniswap"
          },
          "id": {
            "type": "string",
            "description": "The id of the entity",
            "example": "uniswap"
          },
          "logo": {
            "type": "string",
            "description": "The logo of the entity",
            "example": "https://uniswap.io/favicon.ico"
          },
          "bio": {
            "type": "string",
            "description": "The bio of the entity",
            "example": "Uniswap is a decentralized finance protocol that is used to exchange cryptocurrencies."
          },
          "description": {
            "type": "string",
            "description": "The description of the entity",
            "example": "Uniswap is a decentralized finance protocol that is used to exchange cryptocurrencies."
          },
          "website": {
            "type": "string",
            "description": "The website of the entity",
            "example": "https://uniswap.io"
          },
          "twitter": {
            "type": "string",
            "description": "The twitter of the entity",
            "example": "https://twitter.com/uniswap"
          },
          "type": {
            "type": "string",
            "description": "The type of the entity",
            "example": "exchange"
          }
        }
      },
      "addressModelWithEntity": {
        "type": "object",
        "properties": {
          "entity": {
            "$ref": "#/components/schemas/basicModel"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/addressModel"
          }
        ]
      },
      "basicModel": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name",
            "example": "Uniswap"
          },
          "id": {
            "type": "string",
            "description": "The id",
            "example": "uniswap"
          }
        }
      },
      "addressModel": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "description": "The address",
            "example": "0x1f98431c8ad98523631ae4a59f267346ea31f984"
          },
          "chain": {
            "type": "string",
            "description": "The chain",
            "example": "ethereum"
          },
          "is_multi_chain": {
            "type": "boolean",
            "description": "Indicates if the address is multi chain",
            "example": false
          },
          "primary_label": {
            "type": "string",
            "description": "The primary label",
            "example": "Uniswap"
          }
        }
      },
      "entityModelWithAddress": {
        "type": "object",
        "properties": {
          "addresses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/addressModelAdditionalLabels"
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/entityModel"
          }
        ]
      },
      "addressModelAdditionalLabels": {
        "type": "object",
        "properties": {
          "additional_labels": {
            "type": "array",
            "items": {
              "type": "string",
              "example": [
                "Uniswap",
                "Uniswap V3"
              ]
            }
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/addressModel"
          }
        ]
      },
      "categoryCollection": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "The current page of the result",
            "example": "1"
          },
          "page_size": {
            "type": "integer",
            "description": "The number of results per page",
            "example": "100"
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/categoryModel"
            }
          }
        },
        "required": [
          "result"
        ]
      },
      "categoryModel": {
        "type": "object",
        "properties": {
          "total_entities": {
            "type": "integer",
            "description": "The total number of entities",
            "example": 100
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/basicModel"
          }
        ]
      },
      "entitiesWithTotalAddressCollection": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "The current page of the result",
            "example": "1"
          },
          "page_size": {
            "type": "integer",
            "description": "The number of results per page",
            "example": "100"
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/entityModelWithTotalAddress"
            }
          }
        },
        "required": [
          "result"
        ]
      },
      "entityModelWithTotalAddress": {
        "type": "object",
        "properties": {
          "total_addresses": {
            "type": "integer",
            "description": "The total number of addresses",
            "example": 100
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/entityModel"
          }
        ]
      },
      "candleSticksResponse": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string",
            "description": "The cursor to get to the next page"
          },
          "page": {
            "type": "integer",
            "description": "The current page of the result",
            "example": "2"
          },
          "pairAddress": {
            "type": "string",
            "description": "The pair address",
            "example": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640"
          },
          "tokenAddress": {
            "type": "string",
            "description": "The token address",
            "example": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640"
          },
          "timeframe": {
            "type": "string",
            "description": "The timeframe",
            "example": "30min"
          },
          "currency": {
            "type": "string",
            "description": "The currency",
            "example": "usd"
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ohlcv"
            }
          }
        },
        "required": [
          "cursor",
          "page",
          "pairAddress",
          "timeframe",
          "currency",
          "result"
        ]
      },
      "ohlcv": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string"
          },
          "open": {
            "type": "number"
          },
          "high": {
            "type": "number"
          },
          "low": {
            "type": "number"
          },
          "close": {
            "type": "number"
          },
          "volume": {
            "type": "number"
          },
          "trades": {
            "type": "number"
          }
        }
      },
      "pairStatsResponse": {
        "type": "object",
        "properties": {
          "tokenAddress": {
            "type": "string",
            "description": "The token address",
            "example": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640"
          },
          "tokenName": {
            "type": "string",
            "description": "The token name",
            "example": "Wrapped Ether"
          },
          "tokenSymbol": {
            "type": "string",
            "description": "The token symbol",
            "example": "WETH"
          },
          "tokenLogo": {
            "type": "string",
            "description": "The token image",
            "example": "https://cdn.kayalabs.io/coins/images/2518/large/weth.png?1595348880"
          },
          "pairCreated": {
            "type": "string",
            "description": "The time when the pair was created",
            "example": "2021-04-02T10:07:54.000Z"
          },
          "pairLabel": {
            "type": "string",
            "description": "The pair label",
            "example": "WETH/PEPE"
          },
          "pairAddress": {
            "type": "string",
            "description": "The pair address",
            "example": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640"
          },
          "exchange": {
            "type": "string",
            "description": "The exchange name",
            "example": "Uniswap v2"
          },
          "exchangeAddress": {
            "type": "string",
            "description": "The exchange address",
            "example": "0x101cc05f4a51c0319f570d5e146a8c625198e222"
          },
          "exchangeLogo": {
            "type": "string",
            "description": "The exchange logo",
            "example": "uniswap.png"
          },
          "exchangeUrl": {
            "type": "string",
            "description": "The exchange url",
            "example": "app.uniswap.com"
          },
          "currentUsdPrice": {
            "type": "string",
            "description": "The current usd price",
            "example": "0.00000194"
          },
          "currentNativePrice": {
            "type": "string",
            "description": "The current native price",
            "example": "0.0000000042"
          },
          "totalLiquidityUsd": {
            "type": "string",
            "description": "The total liquidity in usd",
            "example": "43345522"
          },
          "pricePercentChange": {
            "$ref": "#/components/schemas/candleSummary"
          },
          "liquidityPercentChange": {
            "$ref": "#/components/schemas/candleSummary"
          },
          "buys": {
            "$ref": "#/components/schemas/candleSummary"
          },
          "sells": {
            "$ref": "#/components/schemas/candleSummary"
          },
          "totalVolume": {
            "$ref": "#/components/schemas/candleSummary"
          },
          "buyVolume": {
            "$ref": "#/components/schemas/candleSummary"
          },
          "sellVolume": {
            "$ref": "#/components/schemas/candleSummary"
          },
          "buyers": {
            "$ref": "#/components/schemas/candleSummary"
          },
          "sellers": {
            "$ref": "#/components/schemas/candleSummary"
          }
        },
        "required": [
          "tokenAddress",
          "tokenName",
          "tokenSymbol",
          "tokenLogo",
          "pairCreated",
          "pairAddress",
          "exchange",
          "exchangeAddress",
          "exchangeLogo",
          "exchangeUrl",
          "currentUsdPrice",
          "currentNativePrice",
          "totalLiquidityUsd"
        ]
      },
      "candleSummary": {
        "type": "object",
        "properties": {
          "5min": {
            "type": "number"
          },
          "1h": {
            "type": "number"
          },
          "4h": {
            "type": "number"
          },
          "24h": {
            "type": "number"
          }
        }
      },
      "tokenSupportedPairsResponse": {
        "type": "object",
        "properties": {
          "pairs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/supportedPairInfo"
            }
          },
          "cursor": {
            "type": "string",
            "description": "The cursor to get to the next page"
          },
          "page_size": {
            "type": "integer",
            "description": "The number of results per page",
            "example": "50"
          },
          "page": {
            "type": "integer",
            "description": "The current page of the result",
            "example": "2"
          }
        },
        "required": [
          "cursor",
          "page_size",
          "page"
        ]
      },
      "supportedPairInfo": {
        "type": "object",
        "properties": {
          "exchange_address": {
            "type": "string"
          },
          "exchange_name": {
            "type": "string"
          },
          "exchange_logo": {
            "type": "string"
          },
          "pair_label": {
            "type": "string"
          },
          "pair_address": {
            "type": "string"
          },
          "usd_price": {
            "type": "number"
          },
          "usd_price_24hr": {
            "type": "number"
          },
          "usd_price_24hr_percent_change": {
            "type": "number"
          },
          "usd_price_24hr_usd_change": {
            "type": "number"
          },
          "liquidity_usd": {
            "type": "number"
          },
          "inactive_pair": {
            "type": "boolean",
            "description": "Pair without 24h volume are set as inactive"
          },
          "base_token": {
            "type": "string"
          },
          "quote_token": {
            "type": "string"
          },
          "volume_24h_native": {
            "type": "number"
          },
          "volume_24h_usd": {
            "type": "number"
          },
          "pair": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupportedPairTokenInfo"
            }
          }
        }
      },
      "SupportedPairTokenInfo": {
        "type": "object",
        "properties": {
          "token_address": {
            "type": "string",
            "description": "The token address"
          },
          "token_name": {
            "type": "string",
            "description": "The token name"
          },
          "token_symbol": {
            "type": "string",
            "description": "The token symbol"
          },
          "token_logo": {
            "type": "string",
            "description": "The token logo"
          },
          "token_decimals": {
            "type": "string",
            "description": "The token decimals"
          },
          "pair_token_type": {
            "type": "string"
          },
          "liquidity_usd": {
            "type": "string"
          }
        }
      },
      "tokenSupportedPairsStatsResponse": {
        "type": "object",
        "properties": {
          "total_liquidity_usd": {
            "type": "string"
          },
          "total_active_pairs": {
            "type": "string"
          },
          "total_active_dexes": {
            "type": "string"
          }
        }
      },
      "getSwapsByPairAddressResponse": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "The current page of the result",
            "example": "2"
          },
          "pageSize": {
            "type": "integer",
            "description": "The number of results per page",
            "example": "100"
          },
          "cursor": {
            "type": "string",
            "description": "The cursor to get to the next page"
          },
          "exchangeAddress": {
            "type": "string",
            "example": "0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f"
          },
          "exchangeName": {
            "type": "string",
            "example": "Uniswap v2"
          },
          "exchangeLogo": {
            "type": "string",
            "example": "https://entities-logos.s3.us-east-1.amazonaws.com/uniswap.png"
          },
          "pairLabel": {
            "type": "string",
            "example": "BRETT/WETH"
          },
          "pairAddress": {
            "type": "string",
            "example": "0x36a46dff597c5a444bbc521d26787f57867d2214"
          },
          "baseToken": {
            "$ref": "#/components/schemas/TokenTransactionTokenMetadata"
          },
          "quoteToken": {
            "$ref": "#/components/schemas/TokenTransactionTokenMetadata"
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/swapsByPairAddressResult"
            }
          }
        },
        "required": [
          "result"
        ]
      },
      "swapsByPairAddressResult": {
        "type": "object",
        "properties": {
          "transactionHash": {
            "type": "string",
            "example": "0x2bfcba4715774420936669cd0ff2241d70e9abecab76c9db813602015b3134ad"
          },
          "transactionIndex": {
            "type": "integer",
            "example": 1
          },
          "transactionType": {
            "type": "string",
            "example": "buy"
          },
          "blockTimestamp": {
            "type": "string",
            "example": "2022-02-22T00:00:00Z"
          },
          "blockNumber": {
            "type": "number",
            "example": 21093423
          },
          "subCategory": {
            "type": "string",
            "example": "accumulation"
          },
          "walletAddress": {
            "type": "string",
            "example": "0x2bfcba4715774420936669cd0ff2241d70e9abec"
          },
          "baseTokenAmount": {
            "type": "string",
            "example": "1481.00"
          },
          "quoteTokenAmount": {
            "type": "string",
            "example": "0.634"
          },
          "baseTokenPriceUsd": {
            "type": "number",
            "example": 0.0734634
          },
          "quoteTokenPriceUsd": {
            "type": "number",
            "example": 23330
          },
          "baseQuotePrice": {
            "type": "string",
            "example": "0.00003376480687"
          },
          "totalValueUsd": {
            "type": "number",
            "example": 1165
          }
        },
        "required": [
          "transactionHash",
          "transactionIndex",
          "transactionType",
          "blockTimestamp",
          "blockNumber",
          "subCategory",
          "walletAddress",
          "baseTokenAmount",
          "quoteTokenAmount",
          "baseTokenPriceUsd",
          "quoteTokenPriceUsd",
          "baseQuotePrice",
          "totalValueUsd"
        ]
      },
      "getSnipersResponse": {
        "type": "object",
        "properties": {
          "transactionHash": {
            "type": "string",
            "example": "0x2bfcba4715774420936669cd0ff2241d70e9abecab76c9db813602015b3134ad"
          },
          "blockTimestamp": {
            "type": "string",
            "example": "2022-02-22T00:00:00Z"
          },
          "blockNumber": {
            "type": "number",
            "example": 21093423
          },
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/getSnipersResult"
            }
          }
        },
        "required": [
          "transactionHash",
          "blockTimestamp",
          "blockNumber",
          "result"
        ]
      },
      "getSnipersResult": {
        "type": "object",
        "properties": {
          "walletAddress": {
            "type": "string",
            "example": "0x2bfcba4715774420936669cd0ff2241d70e9abec"
          },
          "totalTokensSniped": {
            "type": "number",
            "example": 0
          },
          "totalSnipedUsd": {
            "type": "number",
            "example": 0
          },
          "totalSnipedTransactions": {
            "type": "number",
            "example": 0
          },
          "totalTokensSold": {
            "type": "number",
            "example": 0
          },
          "totalSoldUsd": {
            "type": "number",
            "example": 0
          },
          "totalSellTransactions": {
            "type": "number",
            "example": 0
          },
          "currentBalance": {
            "type": "number",
            "example": 0
          },
          "currentBalanceUsdValue": {
            "type": "number",
            "example": 0
          },
          "realizedProfitPercentage": {
            "type": "number",
            "example": 0
          },
          "realizedProfitUsd": {
            "type": "number",
            "example": 0
          },
          "snipedTransactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/getSnipersTransactions"
            }
          },
          "sellTransactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/getSnipersTransactions"
            }
          }
        },
        "required": [
          "walletAddress",
          "totalTokensSniped",
          "totalSnipedUsd",
          "totalSnipedTransactions",
          "totalTokensSold",
          "totalSoldUsd",
          "totalSellTransactions",
          "currentBalance",
          "currentBalanceUsdValue",
          "realizedProfitPercentage",
          "realizedProfitUsd"
        ]
      },
      "getSnipersTransactions": {
        "type": "object",
        "properties": {
          "transactionHash": {
            "type": "string",
            "example": "0x2bfcba4715774420936669cd0ff2241d70e9abec"
          },
          "blocksAfterCreation": {
            "type": "integer",
            "example": 0
          },
          "transactionTimestamp": {
            "type": "number",
            "example": 0
          }
        },
        "required": [
          "transactionHash",
          "blocksAfterCreation",
          "transactionTimestamp"
        ]
      },
      "VolumeChainsResponse": {
        "type": "object",
        "properties": {
          "chains": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChainData"
            }
          }
        }
      },
      "ChainData": {
        "type": "object",
        "properties": {
          "chainId": {
            "type": "string",
            "example": "0x1"
          },
          "totalVolume": {
            "$ref": "#/components/schemas/VolumeData"
          },
          "activeWallets": {
            "$ref": "#/components/schemas/VolumeData"
          },
          "totalTransactions": {
            "$ref": "#/components/schemas/VolumeData"
          }
        }
      },
      "VolumeData": {
        "type": "object",
        "properties": {
          "5m": {
            "type": "number",
            "format": "double",
            "example": 6516719.425429553
          },
          "1h": {
            "type": "number",
            "format": "double",
            "example": 137489621.30780438
          },
          "6h": {
            "type": "number",
            "format": "double",
            "example": 585436101.0503464
          },
          "24h": {
            "type": "number",
            "format": "double",
            "example": 2668170156.0409784
          }
        }
      },
      "otherChains": {
        "type": "string",
        "enum": [
          "solana"
        ],
        "default": "",
        "example": ""
      },
      "VolumeCategoriesResponse": {
        "type": "object",
        "properties": {
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CategoriesData"
            }
          }
        }
      },
      "CategoriesData": {
        "type": "object",
        "properties": {
          "categoryId": {
            "type": "string",
            "example": "0x1"
          },
          "totalBuyVolume": {
            "$ref": "#/components/schemas/VolumeData"
          },
          "totalSellVolume": {
            "$ref": "#/components/schemas/VolumeData"
          },
          "totalBuyers": {
            "$ref": "#/components/schemas/VolumeData"
          },
          "totalSellers": {
            "$ref": "#/components/schemas/VolumeData"
          },
          "totalBuys": {
            "$ref": "#/components/schemas/VolumeData"
          },
          "totalSells": {
            "$ref": "#/components/schemas/VolumeData"
          }
        }
      },
      "TimeSeriesVolumeResponse": {
        "type": "object",
        "properties": {
          "timeseries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimeSeriesData"
            }
          }
        }
      },
      "TimeSeriesData": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "example": "2022-02-22T00:00:00Z"
          },
          "volume": {
            "type": "number",
            "example": 4565
          }
        }
      },
      "TimeSeriesVolumeByCategoryResponse": {
        "type": "object",
        "properties": {
          "timeseries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimeSeriesByCategoryData"
            }
          }
        }
      },
      "TimeSeriesByCategoryData": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "example": "2022-02-22T00:00:00Z"
          },
          "buyVolume": {
            "type": "number",
            "example": 4565
          },
          "sellVolume": {
            "type": "number",
            "example": 4565
          }
        }
      },
      "GetTimeSeriesByTokensDto": {
        "type": "object",
        "properties": {
          "tokens": {
            "type": "array",
            "description": "The tokens to be fetched",
            "maxItems": 30,
            "items": {
              "$ref": "#/components/schemas/tokenAndChainItem"
            },
            "example": [
              {
                "chain": "0x1",
                "tokenAddress": "0xdac17f958d2ee523a2206206994597c13d831ec7"
              },
              {
                "chain": "solana",
                "tokenAddress": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
              }
            ]
          }
        },
        "required": [
          "tokens"
        ]
      },
      "tokenAndChainItem": {
        "type": "object",
        "properties": {
          "chain": {
            "$ref": "#/components/schemas/chainList",
            "description": "The chain to query"
          },
          "tokenAddress": {
            "type": "string",
            "description": "The token address",
            "example": "0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0"
          }
        },
        "required": [
          "chain",
          "tokenAddress"
        ]
      },
      "TimeSeriesByTokensData": {
        "type": "object",
        "properties": {
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimeSeriesVolumeByTokenResponse"
            }
          }
        }
      },
      "TimeSeriesVolumeByTokenResponse": {
        "type": "object",
        "properties": {
          "chainId": {
            "type": "string",
            "example": "0x1"
          },
          "tokenAddress": {
            "type": "string",
            "example": "0xdac17f958d2ee523a2206206994597c13d831ec7"
          },
          "timeseries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimeSeriesByTokenData"
            }
          }
        }
      },
      "TimeSeriesByTokenData": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "example": "2022-02-22T00:00:00Z"
          },
          "buyVolume": {
            "type": "number",
            "example": 4565
          },
          "sellVolume": {
            "type": "number",
            "example": 4565
          },
          "liquidityUsd": {
            "type": "number",
            "example": 4565
          },
          "fullyDilutedValuation": {
            "type": "number",
            "example": 4565
          }
        }
      },
      "TokenAnalyticsData": {
        "type": "object",
        "properties": {
          "categoryId": {
            "type": "string",
            "example": "0x1"
          },
          "totalBuyVolume": {
            "$ref": "#/components/schemas/VolumeData"
          },
          "totalSellVolume": {
            "$ref": "#/components/schemas/VolumeData"
          },
          "totalBuyers": {
            "$ref": "#/components/schemas/VolumeData"
          },
          "totalSellers": {
            "$ref": "#/components/schemas/VolumeData"
          },
          "totalBuys": {
            "$ref": "#/components/schemas/VolumeData"
          },
          "totalSells": {
            "$ref": "#/components/schemas/VolumeData"
          },
          "totalLiquidity": {
            "type": "string",
            "example": "530"
          },
          "totalFullyDilutedValuation": {
            "type": "string",
            "example": "530"
          }
        }
      },
      "GetMultipleTokenAnalyticsDto": {
        "type": "object",
        "properties": {
          "tokens": {
            "type": "array",
            "description": "The tokens to be fetched",
            "maxItems": 30,
            "items": {
              "$ref": "#/components/schemas/tokenAndChainItem"
            },
            "example": [
              {
                "chain": "0x1",
                "tokenAddress": "0xdac17f958d2ee523a2206206994597c13d831ec7"
              },
              {
                "chain": "solana",
                "tokenAddress": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
              }
            ]
          }
        },
        "required": [
          "tokens"
        ]
      },
      "MultipleTokenAnalyticsData": {
        "type": "object",
        "properties": {
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TokenAnalyticsData"
            }
          }
        }
      }
    }
  },
  "security": [
    {
      "ApiKeyAuth": []
    }
  ],
  "x-samples-languages": [
    "node",
    "javascript",
    "csharp",
    "curl",
    "python"
  ]
}