{
  "components": {
    "schemas": {
      "BlockchainDto": {
        "properties": {
          "explorerUrl": {
            "description": "URL of the primary block explorer",
            "example": "https://etherscan.io/token/",
            "nullable": true,
            "type": "string"
          },
          "gainersVsLosers": {
            "$ref": "#/components/schemas/GainersVsLosersDto"
          },
          "id": {
            "description": "Unique numeric identifier",
            "example": 3,
            "type": "number"
          },
          "imageUrl": {
            "description": "Logo image URL, 150x150",
            "example": "https://images.cryptorank.io/coins/150x150.ethereum1765201517428.png",
            "nullable": true,
            "type": "string"
          },
          "marketCap": {
            "description": "Combined market cap of all coins on the blockchain, USD",
            "example": "512345678901",
            "nullable": true,
            "type": "string"
          },
          "marketCapDominance": {
            "description": "Share of the blockchain's total coin market cap relative to all other blockchains, %",
            "example": 2.48,
            "nullable": true,
            "type": "number"
          },
          "name": {
            "description": "Display name",
            "example": "Ethereum",
            "type": "string"
          },
          "nativeCurrencyId": {
            "description": "CryptoRank ID of the blockchain's native coin",
            "example": 3,
            "nullable": true,
            "type": "number"
          },
          "slug": {
            "description": "URL-friendly entity slug",
            "example": "ethereum",
            "type": "string"
          },
          "symbol": {
            "description": "Native token symbol (e.g. 'ETH', 'BNB')",
            "example": "ETH",
            "nullable": true,
            "type": "string"
          },
          "volume24h": {
            "description": "24h DEX trading volume on the blockchain, USD",
            "example": "510509766",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "symbol",
          "nativeCurrencyId",
          "explorerUrl",
          "marketCap",
          "marketCapDominance",
          "imageUrl",
          "volume24h",
          "gainersVsLosers"
        ],
        "type": "object"
      },
      "BlockchainListItemDto": {
        "properties": {
          "explorerUrl": {
            "description": "URL of the primary block explorer",
            "example": "https://etherscan.io/token/",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "Unique numeric identifier",
            "example": 3,
            "type": "number"
          },
          "marketCap": {
            "description": "Combined market cap of all coins on the blockchain, USD",
            "example": "512345678901",
            "nullable": true,
            "type": "string"
          },
          "marketCapDominance": {
            "description": "Share of the blockchain's total coin market cap relative to all other blockchains, %",
            "example": 2.48,
            "nullable": true,
            "type": "number"
          },
          "name": {
            "description": "Display name",
            "example": "Ethereum",
            "type": "string"
          },
          "nativeCurrencyId": {
            "description": "CryptoRank ID of the blockchain's native coin",
            "example": 3,
            "nullable": true,
            "type": "number"
          },
          "slug": {
            "description": "URL-friendly entity slug",
            "example": "ethereum",
            "type": "string"
          },
          "symbol": {
            "description": "Native token symbol (e.g. 'ETH', 'BNB')",
            "example": "ETH",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "symbol",
          "nativeCurrencyId",
          "explorerUrl",
          "marketCap",
          "marketCapDominance"
        ],
        "type": "object"
      },
      "BlockchainMapItemDto": {
        "properties": {
          "id": {
            "description": "Unique numeric identifier",
            "example": 3,
            "type": "number"
          },
          "name": {
            "description": "Display name",
            "example": "Ethereum",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly entity slug",
            "example": "ethereum",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name"
        ],
        "type": "object"
      },
      "BlockchainTvlChangeResponseDto": {
        "properties": {
          "tvlChange": {
            "description": "TVL change over the requested period, %",
            "example": -8.76,
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "tvlChange"
        ],
        "type": "object"
      },
      "ChartAltcoinIndexDto": {
        "properties": {
          "altcoinsMarketCap": {
            "description": "Total market cap of the altcoin set, USD.",
            "example": "812345678901",
            "type": "string"
          },
          "classification": {
            "description": "Classification by value: Bitcoin Season (≤25), Neutral (26–74), Altcoin Season (≥75)",
            "enum": [
              "Bitcoin Season",
              "Neutral",
              "Altcoin Season"
            ],
            "example": "Altcoin Season",
            "type": "string"
          },
          "time": {
            "description": "Unix timestamp in milliseconds.",
            "example": 1748908800000,
            "type": "number"
          },
          "value": {
            "description": "Altcoin Season Index value, 0–100.",
            "example": 54,
            "type": "number"
          }
        },
        "required": [
          "time",
          "value",
          "altcoinsMarketCap",
          "classification"
        ],
        "type": "object"
      },
      "ChartDominanceDto": {
        "properties": {
          "dominance": {
            "description": "Dominance as % of total market cap, rounded to 2 decimals.",
            "example": 56.3,
            "type": "number"
          },
          "time": {
            "description": "Unix timestamp in milliseconds.",
            "example": 1748908800000,
            "type": "number"
          }
        },
        "required": [
          "time",
          "dominance"
        ],
        "type": "object"
      },
      "ChartFearGreedDto": {
        "properties": {
          "classification": {
            "description": "Classification by value: Extreme Fear (0–25), Fear (26–45), Neutral (46–55), Greed (56–75), Extreme Greed (76–100)",
            "enum": [
              "Extreme Fear",
              "Fear",
              "Neutral",
              "Greed",
              "Extreme Greed"
            ],
            "example": "Neutral",
            "type": "string"
          },
          "time": {
            "description": "Unix timestamp in milliseconds.",
            "example": 1748908800000,
            "type": "number"
          },
          "value": {
            "description": "Fear & Greed index value, 0–100.",
            "example": 52,
            "type": "number"
          }
        },
        "required": [
          "time",
          "value",
          "classification"
        ],
        "type": "object"
      },
      "ChartTvlDto": {
        "properties": {
          "time": {
            "description": "Unix timestamp in milliseconds.",
            "example": 1748908800000,
            "type": "number"
          },
          "totalTvl": {
            "description": "Combined TVL of all supported blockchains at this point, in USD.",
            "example": "118506000000",
            "type": "string"
          },
          "tvl": {
            "description": "TVL of the requested blockchain at this point, in USD.",
            "example": "64521000000",
            "type": "string"
          }
        },
        "required": [
          "time",
          "totalTvl",
          "tvl"
        ],
        "type": "object"
      },
      "CoinSparklinePointDto": {
        "properties": {
          "price": {
            "description": "Price at the bucket, USD",
            "example": "65000.5",
            "type": "string"
          },
          "time": {
            "description": "Bucket timestamp, Unix epoch milliseconds",
            "example": 1715000000000,
            "type": "number"
          },
          "volume": {
            "description": "24h rolling trading volume at the bucket, USD",
            "example": "28000000000",
            "type": "string"
          }
        },
        "required": [
          "time",
          "price",
          "volume"
        ],
        "type": "object"
      },
      "CreditsDto": {
        "properties": {
          "dailyLimit": {
            "description": "Daily credit limit",
            "example": 250000,
            "type": "number"
          },
          "dailyRemaining": {
            "description": "Credits remaining today",
            "example": 248800,
            "type": "number"
          },
          "dailyUsed": {
            "description": "Credits used today",
            "example": 1200,
            "type": "number"
          },
          "monthlyLimit": {
            "description": "Monthly credit limit",
            "example": 5000000,
            "type": "number"
          },
          "monthlyRemaining": {
            "description": "Credits remaining in the current credit period",
            "example": 4995800,
            "type": "number"
          },
          "monthlyUsed": {
            "description": "Credits used in the current credit period",
            "example": 4200,
            "type": "number"
          }
        },
        "required": [
          "dailyLimit",
          "dailyUsed",
          "dailyRemaining",
          "monthlyLimit",
          "monthlyUsed",
          "monthlyRemaining"
        ],
        "type": "object"
      },
      "CurrenciesDerivativesResponseDto": {
        "properties": {
          "activeDerivativesExchangesCount": {
            "description": "Number of derivatives exchanges active in the last 24h",
            "example": 42,
            "type": "number"
          },
          "futuresShare": {
            "description": "Futures share of total derivatives volume, %",
            "example": 17.6,
            "type": "number"
          },
          "perpetualShare": {
            "description": "Perpetuals share of total derivatives volume, %",
            "example": 82.4,
            "type": "number"
          },
          "totalOpenInterest": {
            "description": "Total open interest across all derivatives exchanges, USD",
            "example": "78912345678",
            "type": "string"
          },
          "totalVolume24h": {
            "description": "Total 24h derivatives volume, USD",
            "example": "234567890123",
            "type": "string"
          }
        },
        "required": [
          "totalOpenInterest",
          "totalVolume24h",
          "perpetualShare",
          "futuresShare",
          "activeDerivativesExchangesCount"
        ],
        "type": "object"
      },
      "CurrencyAnalyticsReturnItemDto": {
        "properties": {
          "closingPrice": {
            "description": "Closing price of the period, USD. For an incomplete period, the latest available price.",
            "example": "42100.5",
            "type": "string"
          },
          "date": {
            "description": "Period start (month, quarter, or year), ISO 8601 UTC. The last period may be incomplete.",
            "example": "2024-01-01T00:00:00.000Z",
            "type": "string"
          },
          "pricePercentChange": {
            "description": "Within-period return: (close − open) / open × 100, %.",
            "example": 12.45,
            "type": "number"
          }
        },
        "required": [
          "date",
          "closingPrice",
          "pricePercentChange"
        ],
        "type": "object"
      },
      "CurrencyCategoryDto": {
        "properties": {
          "id": {
            "example": 54,
            "type": "number"
          },
          "name": {
            "example": "DeFi",
            "type": "string"
          },
          "slug": {
            "example": "defi",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name"
        ],
        "type": "object"
      },
      "CurrencyContractItemDto": {
        "properties": {
          "address": {
            "description": "Contract address",
            "example": "0xdac17f958d2ee523a2206206994597c13d831ec7",
            "type": "string"
          },
          "blockchainId": {
            "description": "Unique numeric identifier",
            "example": 1,
            "type": "number"
          },
          "blockchainName": {
            "description": "Display name",
            "example": "Ethereum",
            "type": "string"
          },
          "blockchainSlug": {
            "description": "Blockchain slug",
            "example": "ethereum",
            "type": "string"
          },
          "decimals": {
            "description": "Token decimals",
            "example": 6,
            "nullable": true,
            "type": "number"
          },
          "explorerUrl": {
            "description": "Block explorer base URL for the blockchain — append the contract `address` for a direct link. Null when the blockchain has no explorer.",
            "example": "https://etherscan.io/token/",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "blockchainId",
          "blockchainSlug",
          "blockchainName",
          "address",
          "decimals",
          "explorerUrl"
        ],
        "type": "object"
      },
      "CurrencyGainerLoserItemDto": {
        "properties": {
          "category": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CurrencyCategoryDto"
              }
            ],
            "description": "Coin category; null when the coin has none.",
            "nullable": true,
            "type": "object"
          },
          "id": {
            "description": "Unique numeric identifier.",
            "example": 1,
            "type": "number"
          },
          "imageUrl": {
            "description": "Coin logo (150×150); null when no image is available.",
            "example": "https://images.cryptorank.io/coins/150x150.bitcoin1524754012028.png",
            "nullable": true,
            "type": "string"
          },
          "marketCap": {
            "description": "Market cap, USD.",
            "example": "1280000000000",
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "Display name.",
            "example": "Bitcoin",
            "type": "string"
          },
          "price": {
            "description": "Price, USD.",
            "example": "65000.5",
            "type": "string"
          },
          "pricePercentChange": {
            "description": "Price change over the requested `period`, percent.",
            "example": 5.42,
            "type": "number"
          },
          "rank": {
            "description": "CryptoRank rank; null when unranked.",
            "example": 1,
            "nullable": true,
            "type": "number"
          },
          "slug": {
            "description": "URL-friendly entity slug.",
            "example": "bitcoin",
            "type": "string"
          },
          "symbol": {
            "description": "Native token symbol (e.g. 'ETH', 'BNB').",
            "example": "BTC",
            "nullable": true,
            "type": "string"
          },
          "volume24h": {
            "description": "24h trading volume, USD.",
            "example": "32000000000",
            "type": "string"
          }
        },
        "required": [
          "id",
          "rank",
          "slug",
          "symbol",
          "name",
          "imageUrl",
          "category",
          "price",
          "marketCap",
          "pricePercentChange",
          "volume24h"
        ],
        "type": "object"
      },
      "CurrencyHistoricalItemDto": {
        "properties": {
          "circulatingSupply": {
            "description": "Circulating supply (tokens in circulation) at the requested date; null when unavailable.",
            "example": "19500000",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "Unique numeric identifier.",
            "example": 1,
            "type": "number"
          },
          "marketCap": {
            "description": "Market cap at the requested date in the convert currency (default USD); null when unavailable.",
            "example": "835000000000",
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "Display name.",
            "example": "Bitcoin",
            "type": "string"
          },
          "price": {
            "description": "Price at the requested date in the convert currency (default USD).",
            "example": "42750.5",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly entity slug.",
            "example": "bitcoin",
            "type": "string"
          },
          "storedTime": {
            "description": "Actual timestamp of the returned values, Unix epoch milliseconds; may differ slightly from the requested `date`.",
            "example": 1705320000000,
            "type": "number"
          },
          "symbol": {
            "description": "Native token symbol (e.g. 'ETH', 'BNB'); null when unknown.",
            "example": "BTC",
            "nullable": true,
            "type": "string"
          },
          "volume24h": {
            "description": "24h trading volume at the requested date in the convert currency (default USD).",
            "example": "21000000000",
            "type": "string"
          },
          "volume24hBase": {
            "description": "24h trading volume at the requested date, denominated in the coin itself.",
            "example": "490000",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "symbol",
          "name",
          "price",
          "marketCap",
          "volume24h",
          "volume24hBase",
          "circulatingSupply",
          "storedTime"
        ],
        "type": "object"
      },
      "CurrencyHolderConcentrationBucketDto": {
        "properties": {
          "amount": {
            "description": "Tokens held by the bucket.",
            "example": "12587457615.92",
            "type": "string"
          },
          "bucket": {
            "description": "Holder rank bucket. `outside100` is everything beyond the top 100 holders.",
            "enum": [
              "top1_5",
              "top6_10",
              "top11_25",
              "top26_50",
              "top51_100",
              "outside100"
            ],
            "example": "top1_5",
            "type": "string"
          },
          "percentOfSupply": {
            "description": "Share of the token's total supply on this network held by the bucket, %.",
            "example": 17.08,
            "type": "number"
          },
          "value": {
            "description": "Bucket value, USD. Null when the token has no USD price.",
            "example": "12591234567.12",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "bucket",
          "amount",
          "percentOfSupply",
          "value"
        ],
        "type": "object"
      },
      "CurrencyHolderItemDto": {
        "properties": {
          "address": {
            "description": "Holder address, full, lowercase as returned by the provider (not EIP-55 checksummed).",
            "example": "0xf977814e90da44bfa03b6295a0616a897441acec",
            "type": "string"
          },
          "amount": {
            "description": "Balance in tokens.",
            "example": "2517491523.184",
            "type": "string"
          },
          "isContract": {
            "description": "Whether the address is a contract.",
            "example": false,
            "type": "boolean"
          },
          "label": {
            "description": "Known address label. Null when the address is unlabeled — the common case.",
            "example": "Binance 8",
            "nullable": true,
            "type": "string"
          },
          "percentOfSupply": {
            "description": "Share of the token's total supply on this network, %.",
            "example": 3.4162,
            "type": "number"
          },
          "rank": {
            "description": "Holder position by balance, 1-based.",
            "example": 1,
            "type": "number"
          },
          "value": {
            "description": "Balance value, USD. Null when the token has no USD price.",
            "example": "2518123456.12",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "rank",
          "address",
          "label",
          "isContract",
          "amount",
          "percentOfSupply",
          "value"
        ],
        "type": "object"
      },
      "CurrencyHolderTierDto": {
        "properties": {
          "holdersCount": {
            "description": "Number of holders in the tier.",
            "example": 1200,
            "type": "number"
          },
          "holdersPercent": {
            "description": "Share of all holders in the tier, %.",
            "example": 0.03,
            "type": "number"
          },
          "tier": {
            "description": "Wallet size tier, from `whale` (largest) to `shrimp` (smallest).",
            "enum": [
              "whale",
              "shark",
              "dolphin",
              "fish",
              "octopus",
              "crab",
              "shrimp"
            ],
            "example": "whale",
            "type": "string"
          }
        },
        "required": [
          "tier",
          "holdersCount",
          "holdersPercent"
        ],
        "type": "object"
      },
      "CurrencyHoldersMetaDto": {
        "properties": {
          "blockchainId": {
            "description": "Network the holders are returned for. Null when the coin has no holders data.",
            "example": 1,
            "nullable": true,
            "type": "number"
          },
          "hasNextPage": {
            "description": "Whether a further page of results exists",
            "example": true,
            "type": "boolean"
          },
          "page": {
            "description": "Current page number (1-based)",
            "example": 1,
            "type": "number"
          },
          "pageSize": {
            "description": "Fixed number of items per page for this endpoint (varies per endpoint)",
            "example": 25,
            "type": "number"
          },
          "snapshotDate": {
            "description": "When the holders data was collected, ISO 8601 UTC. Null when the coin has no holders data.",
            "example": "2026-09-04T01:09:29.181Z",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "page",
          "pageSize",
          "hasNextPage",
          "blockchainId",
          "snapshotDate"
        ],
        "type": "object"
      },
      "CurrencyHoldersSummaryDto": {
        "properties": {
          "blockchainId": {
            "description": "Network the aggregates are returned for. Null when the coin has no holders data.",
            "example": 1,
            "nullable": true,
            "type": "number"
          },
          "concentration": {
            "description": "Supply concentration by holder rank bucket, fixed order from `top1_5` to `outside100`; `percentOfSupply` sums to 100. Empty when the coin has no holders data.",
            "items": {
              "$ref": "#/components/schemas/CurrencyHolderConcentrationBucketDto"
            },
            "type": "array"
          },
          "contractsShare": {
            "description": "Share of the top-100 holdings owned by contracts, %. Sums to 100 with `walletsShare`.",
            "example": 58.8,
            "nullable": true,
            "type": "number"
          },
          "holdersCount": {
            "description": "Total number of holders on the network. Null when unavailable for the network.",
            "example": 4213567,
            "nullable": true,
            "type": "number"
          },
          "snapshotDate": {
            "description": "When the holders data was collected, ISO 8601 UTC. Null when the coin has no holders data.",
            "example": "2026-09-04T01:09:29.181Z",
            "nullable": true,
            "type": "string"
          },
          "tierDistribution": {
            "description": "Holder count by wallet size tier across the full holder base, all seven tiers in fixed order from `whale` to `shrimp`. Empty when unavailable for the network.",
            "items": {
              "$ref": "#/components/schemas/CurrencyHolderTierDto"
            },
            "type": "array"
          },
          "top100Share": {
            "description": "Share of total supply held by the top 100 holders, %.",
            "example": 63.41,
            "nullable": true,
            "type": "number"
          },
          "totalSupply": {
            "description": "Total token supply on the network.",
            "example": "73692183812.24",
            "nullable": true,
            "type": "string"
          },
          "walletsShare": {
            "description": "Share of the top-100 holdings owned by wallets, %. Sums to 100 with `contractsShare`.",
            "example": 41.2,
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "blockchainId",
          "snapshotDate",
          "holdersCount",
          "totalSupply",
          "top100Share",
          "walletsShare",
          "contractsShare",
          "concentration",
          "tierDistribution"
        ],
        "type": "object"
      },
      "CurrencyLinkDto": {
        "properties": {
          "type": {
            "description": "Link kind. Common values: `web`, `whitepaper`, `github`, `twitter`, `discord`, `telegram`, `reddit`, `medium`, `youtube`, `gitbook`, `farcaster`. Other values may appear over time.",
            "example": "web",
            "type": "string"
          },
          "url": {
            "example": "https://bitcoin.org",
            "type": "string"
          }
        },
        "required": [
          "type",
          "url"
        ],
        "type": "object"
      },
      "CurrencyListItemDto": {
        "properties": {
          "circulatingSupply": {
            "description": "Circulating supply (tokens currently in circulation); null when unavailable.",
            "example": "19700000",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "Unique numeric identifier.",
            "example": 1,
            "type": "number"
          },
          "imageUrl": {
            "description": "Coin logo (150×150); null when no image is available.",
            "example": "https://images.cryptorank.io/coins/150x150.bitcoin1524754012028.png",
            "nullable": true,
            "type": "string"
          },
          "marketCap": {
            "description": "Market cap in the convert currency (default USD); null when unavailable.",
            "example": "1280000000000",
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "Display name.",
            "example": "Bitcoin",
            "type": "string"
          },
          "price": {
            "description": "Price in the convert currency (default USD).",
            "example": "65000.5",
            "type": "string"
          },
          "priceChangePercent24h": {
            "description": "24h price change, percent; null when unavailable.",
            "example": 2.34,
            "nullable": true,
            "type": "number"
          },
          "rank": {
            "description": "CryptoRank rank; null when unranked.",
            "example": 1,
            "nullable": true,
            "type": "number"
          },
          "slug": {
            "description": "URL-friendly entity slug.",
            "example": "bitcoin",
            "type": "string"
          },
          "symbol": {
            "description": "Native token symbol (e.g. 'ETH', 'BNB'); null when unknown.",
            "example": "BTC",
            "nullable": true,
            "type": "string"
          },
          "volume24h": {
            "description": "24h trading volume in the convert currency (default USD).",
            "example": "32000000000",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "symbol",
          "name",
          "rank",
          "imageUrl",
          "price",
          "priceChangePercent24h",
          "marketCap",
          "volume24h",
          "circulatingSupply"
        ],
        "type": "object"
      },
      "CurrencyMapItemDto": {
        "properties": {
          "id": {
            "example": 1,
            "type": "number"
          },
          "name": {
            "example": "Bitcoin",
            "type": "string"
          },
          "slug": {
            "example": "bitcoin",
            "type": "string"
          },
          "symbol": {
            "example": "BTC",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "symbol",
          "name"
        ],
        "type": "object"
      },
      "CurrencyOhlcvItemDto": {
        "properties": {
          "avg": {
            "description": "Average of the candle’s open, high, low and close, USD",
            "example": "64700.25",
            "type": "string"
          },
          "circulatingSupply": {
            "description": "Circulating supply at the candle close, tokens",
            "example": "19700000",
            "type": "string"
          },
          "circulatingSupplyChangePercent": {
            "description": "Circulating supply change against the previous candle, %. Null when there is no previous one.",
            "example": 0.11,
            "nullable": true,
            "type": "number"
          },
          "close": {
            "description": "Close price, USD",
            "example": "65000.5",
            "type": "string"
          },
          "high": {
            "description": "Highest price of the candle, USD",
            "example": "65900.4",
            "type": "string"
          },
          "low": {
            "description": "Lowest price of the candle, USD",
            "example": "63800.01",
            "type": "string"
          },
          "open": {
            "description": "Open price, USD",
            "example": "64100.12",
            "type": "string"
          },
          "priceChangePercent": {
            "description": "Within-candle price change: (close − open) / open × 100, %",
            "example": 1.4,
            "nullable": true,
            "type": "number"
          },
          "time": {
            "description": "Candle open time, Unix epoch milliseconds",
            "example": 1715000000000,
            "type": "number"
          },
          "volume": {
            "description": "Traded volume, USD. Hourly candles carry the 24h rolling volume at the candle close; daily and longer candles sum the 24h volume of every day in the period.",
            "example": "28000000000",
            "type": "string"
          },
          "volumeChangePercent": {
            "description": "Volume change against the previous candle, %. Null when there is no previous one.",
            "example": -8.32,
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "time",
          "open",
          "high",
          "low",
          "close",
          "avg",
          "volume",
          "circulatingSupply",
          "priceChangePercent",
          "volumeChangePercent",
          "circulatingSupplyChangePercent"
        ],
        "type": "object"
      },
      "CurrencyPerformanceDto": {
        "properties": {
          "athDate": {
            "description": "ATH date",
            "example": "2021-11-10T14:24:00.000Z",
            "nullable": true,
            "type": "string"
          },
          "athMarketCapUsd": {
            "description": "All-time high market cap, USD",
            "example": "1369000000000",
            "nullable": true,
            "type": "string"
          },
          "athPriceUsd": {
            "description": "All-time high price, USD",
            "example": "69044.77",
            "nullable": true,
            "type": "string"
          },
          "atlDate": {
            "description": "ATL date",
            "example": "2013-07-06T00:00:00.000Z",
            "nullable": true,
            "type": "string"
          },
          "atlPriceUsd": {
            "description": "All-time low price, USD",
            "example": "67.81",
            "nullable": true,
            "type": "string"
          },
          "fromAthPercent": {
            "description": "Price change from ATH, %",
            "example": -5.32,
            "nullable": true,
            "type": "number"
          },
          "fromAtlPercent": {
            "description": "Price change from ATL, %",
            "example": 98765.43,
            "nullable": true,
            "type": "number"
          },
          "icoRoi": {
            "description": "ROI since ICO, %",
            "example": 12500,
            "nullable": true,
            "type": "number"
          },
          "slug": {
            "description": "URL-friendly entity slug",
            "example": "bitcoin",
            "type": "string"
          },
          "vcAvgRoi": {
            "description": "Average VC investor ROI, %",
            "example": 412.5,
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "slug",
          "athPriceUsd",
          "athDate",
          "atlPriceUsd",
          "atlDate",
          "athMarketCapUsd",
          "fromAthPercent",
          "fromAtlPercent",
          "vcAvgRoi",
          "icoRoi"
        ],
        "type": "object"
      },
      "CurrencyProfileDto": {
        "properties": {
          "category": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CurrencyCategoryDto"
              }
            ],
            "description": "Coin category (always single); null when the coin has none.",
            "nullable": true,
            "type": "object"
          },
          "circulatingPercent": {
            "description": "Circulating supply as percent of total supply. Null when total supply is unknown or the coin is not actively traded.",
            "example": 92.5,
            "nullable": true,
            "type": "number"
          },
          "circulatingSupply": {
            "description": "Circulating supply — tokens currently in circulation. Null when unavailable or the coin is not actively traded.",
            "example": "19700000",
            "nullable": true,
            "type": "string"
          },
          "description": {
            "description": "Full project description, in English. Null when none.",
            "nullable": true,
            "type": "string"
          },
          "fullyDilutedValuation": {
            "description": "Fully diluted valuation (FDV), in the requested `convert` currency (USD by default). Null when unavailable or the coin is not actively traded.",
            "example": "1300000000000",
            "nullable": true,
            "type": "string"
          },
          "high24hUsd": {
            "description": "24h high price, USD (always USD — not affected by `convert`). Null when the coin is not actively traded.",
            "example": "65500",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "Unique numeric identifier.",
            "example": 1,
            "type": "number"
          },
          "imageUrl": {
            "description": "Coin logo image URL, 150×150. Null when no image is available.",
            "example": "https://images.cryptorank.io/coins/150x150.bitcoin1524754012028.png",
            "nullable": true,
            "type": "string"
          },
          "lifecycle": {
            "description": "Lifecycle stage: `traded` (live market), `crowdsale` (active ICO/IDO), `funding` (raising), `scheduled` (announced TGE), `inactive` (not trading), `unknown`. Market fields are null unless `traded`.",
            "enum": [
              "scheduled",
              "funding",
              "crowdsale",
              "traded",
              "inactive",
              "unknown"
            ],
            "example": "traded",
            "type": "string"
          },
          "links": {
            "description": "Related links — website, whitepaper, github, socials, etc.",
            "items": {
              "$ref": "#/components/schemas/CurrencyLinkDto"
            },
            "type": "array"
          },
          "listingDate": {
            "description": "First exchange listing date, ISO 8601. Null when unknown.",
            "example": "2009-01-03T00:00:00.000Z",
            "nullable": true,
            "type": "string"
          },
          "low24hUsd": {
            "description": "24h low price, USD (always USD — not affected by `convert`). Null when the coin is not actively traded.",
            "example": "64000",
            "nullable": true,
            "type": "string"
          },
          "marketCap": {
            "description": "Market cap, in the requested `convert` currency (USD by default). Null when unavailable or the coin is not actively traded.",
            "example": "1280000000000",
            "nullable": true,
            "type": "string"
          },
          "maxSupply": {
            "description": "Max supply ever to exist. Null when uncapped or unknown.",
            "example": "21000000",
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "Display name.",
            "example": "Bitcoin",
            "type": "string"
          },
          "price": {
            "description": "Price in the requested `convert` currency (USD by default). Null when the coin is not actively traded.",
            "example": "65000.5",
            "nullable": true,
            "type": "string"
          },
          "pricePercentChange": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PercentChangeDto"
              }
            ],
            "description": "Price change over multiple periods, %."
          },
          "rank": {
            "description": "CryptoRank rank. Null when unranked.",
            "example": 1,
            "nullable": true,
            "type": "number"
          },
          "slug": {
            "description": "URL-friendly entity slug.",
            "example": "bitcoin",
            "type": "string"
          },
          "symbol": {
            "description": "Native token symbol (e.g. 'ETH', 'BNB'). Null for assets without a token.",
            "example": "BTC",
            "nullable": true,
            "type": "string"
          },
          "tags": {
            "description": "Coin tags / sub-categories (can be multiple); empty array when none.",
            "items": {
              "$ref": "#/components/schemas/CurrencyTagItemDto"
            },
            "type": "array"
          },
          "totalSupply": {
            "description": "Total supply — issued minus burned, excluding not-yet-emitted tokens. Null when unavailable.",
            "example": "21000000",
            "nullable": true,
            "type": "string"
          },
          "type": {
            "description": "Asset classification:\n- `coin` — native asset of its own blockchain (BTC, ETH, SOL)\n- `token` — issued via smart contract on an existing chain (ERC-20, SPL)\n- `etf` — exchange-listed fund tracking an underlying asset; excluded from ranked coin lists\n- `leveraged-token` — tokenized leveraged product (e.g. BTC3L/BTC3S)\n- `fiat` — government-issued currency (USD, EUR); price reference only, not tradable crypto\n- `no-token` — tracked project without a launched token yet\n- `derivative` — primarily a futures instrument",
            "example": "coin",
            "type": "string"
          },
          "volMcapRatio": {
            "description": "Volume to market-cap ratio. Null when market cap is unavailable or zero, or the coin is not actively traded.",
            "example": 0.025,
            "nullable": true,
            "type": "number"
          },
          "volatility": {
            "description": "30-day historical price volatility, % per day (not annualized). E.g. 3.5 = ±3.5% average daily move. Null when the coin is not actively traded.",
            "example": 3.5,
            "nullable": true,
            "type": "number"
          },
          "volume24h": {
            "description": "24h trading volume, in the requested `convert` currency (USD by default). Null when the coin is not actively traded.",
            "example": "32000000000",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "symbol",
          "name",
          "rank",
          "type",
          "lifecycle",
          "category",
          "tags",
          "imageUrl",
          "description",
          "listingDate",
          "links",
          "price",
          "pricePercentChange",
          "volume24h",
          "marketCap",
          "volMcapRatio",
          "volatility",
          "high24hUsd",
          "low24hUsd",
          "fullyDilutedValuation",
          "circulatingPercent",
          "circulatingSupply",
          "totalSupply",
          "maxSupply"
        ],
        "type": "object"
      },
      "CurrencySearchItemDto": {
        "properties": {
          "id": {
            "description": "Unique numeric identifier",
            "example": 1,
            "type": "number"
          },
          "imageUrl": {
            "description": "Logo image URL, 150x150",
            "example": "https://images.cryptorank.io/coins/150x150.bitcoin1524754012028.png",
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "Display name",
            "example": "Bitcoin",
            "type": "string"
          },
          "rank": {
            "description": "CryptoRank rank",
            "example": 1,
            "nullable": true,
            "type": "number"
          },
          "slug": {
            "description": "URL-friendly entity slug",
            "example": "bitcoin",
            "type": "string"
          },
          "symbol": {
            "description": "Native token symbol (e.g. 'ETH', 'BNB')",
            "example": "BTC",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "symbol",
          "name",
          "rank",
          "imageUrl"
        ],
        "type": "object"
      },
      "CurrencyTagItemDto": {
        "properties": {
          "id": {
            "description": "Unique tag identifier.",
            "example": 12,
            "type": "number"
          },
          "name": {
            "description": "Display name.",
            "example": "DeFi",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly tag slug.",
            "example": "defi",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name"
        ],
        "type": "object"
      },
      "CurrencyTokenomicsDto": {
        "properties": {
          "circulatingPercent": {
            "description": "Circulating supply as % of total supply. Null when the coin is not actively traded.",
            "example": 93.81,
            "nullable": true,
            "type": "number"
          },
          "circulatingSupply": {
            "description": "Circulating supply: tokens currently in circulation. Null when the coin is not actively traded.",
            "example": "19700000",
            "nullable": true,
            "type": "string"
          },
          "fullyDilutedValuation": {
            "description": "Fully diluted valuation (FDV), USD. Null when the coin is not actively traded.",
            "example": "1300000000000",
            "nullable": true,
            "type": "string"
          },
          "maxSupply": {
            "description": "Max supply ever to exist. Null if uncapped.",
            "example": "21000000",
            "nullable": true,
            "type": "string"
          },
          "nextUnlockDate": {
            "description": "Next unlock date, ISO 8601 UTC.",
            "example": "2026-07-01T00:00:00.000Z",
            "nullable": true,
            "type": "string"
          },
          "nextUnlockPercentOfMcap": {
            "description": "Next unlock as % of market cap. Null when the coin is not actively traded.",
            "example": 0.62,
            "nullable": true,
            "type": "number"
          },
          "nextUnlockPercentOfSupply": {
            "description": "Next unlock as % of total supply.",
            "example": 0.59,
            "nullable": true,
            "type": "number"
          },
          "nextUnlockTokenAmount": {
            "description": "Tokens in the next unlock.",
            "example": "125000",
            "nullable": true,
            "type": "string"
          },
          "nextUnlockValue": {
            "description": "Next unlock value (tokens × current price), USD. Null when the coin is not actively traded.",
            "example": "8125000",
            "nullable": true,
            "type": "string"
          },
          "totalLockedAmount": {
            "description": "Total tokens still locked.",
            "example": "8500000",
            "nullable": true,
            "type": "string"
          },
          "totalLockedPercent": {
            "description": "Locked tokens as % of total supply.",
            "example": 40.48,
            "nullable": true,
            "type": "number"
          },
          "totalSupply": {
            "description": "Total supply: issued minus burned, excluding not-yet-emitted tokens.",
            "example": "21000000",
            "nullable": true,
            "type": "string"
          },
          "totalUnlockedAmount": {
            "description": "Total unlocked tokens to date.",
            "example": "12500000",
            "nullable": true,
            "type": "string"
          },
          "totalUnlockedPercent": {
            "description": "Unlocked tokens as % of total supply.",
            "example": 59.52,
            "nullable": true,
            "type": "number"
          },
          "untrackedAmount": {
            "description": "Tokens in allocations without a known unlock schedule. They are counted neither as unlocked nor as locked, so totalUnlockedPercent + totalLockedPercent + untrackedPercent approximates 100%.",
            "example": "4278000000",
            "nullable": true,
            "type": "string"
          },
          "untrackedPercent": {
            "description": "Untracked tokens as % of total supply.",
            "example": 42.78,
            "nullable": true,
            "type": "number"
          },
          "vestingSourceUrls": {
            "description": "Vesting source documentation links. Empty when no vesting data.",
            "example": [
              "https://docs.project.io/tokenomics"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "totalSupply",
          "maxSupply",
          "circulatingSupply",
          "circulatingPercent",
          "fullyDilutedValuation",
          "totalUnlockedAmount",
          "totalUnlockedPercent",
          "totalLockedAmount",
          "totalLockedPercent",
          "untrackedAmount",
          "untrackedPercent",
          "nextUnlockDate",
          "nextUnlockTokenAmount",
          "nextUnlockValue",
          "nextUnlockPercentOfMcap",
          "nextUnlockPercentOfSupply",
          "vestingSourceUrls"
        ],
        "type": "object"
      },
      "CurrencyTrendingItemDto": {
        "properties": {
          "category": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CurrencyCategoryDto"
              }
            ],
            "description": "Coin category; null when the coin has none.",
            "nullable": true,
            "type": "object"
          },
          "high24h": {
            "description": "24h high price, USD.",
            "example": "65500",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "example": 1,
            "type": "number"
          },
          "imageUrl": {
            "description": "Coin logo (150×150); null when no image is available.",
            "example": "https://images.cryptorank.io/coins/150x150.bitcoin.png",
            "nullable": true,
            "type": "string"
          },
          "listingDate": {
            "description": "First exchange listing date.",
            "example": "2009-01-03T00:00:00.000Z",
            "nullable": true,
            "type": "string"
          },
          "low24h": {
            "description": "24h low price, USD.",
            "example": "64000",
            "nullable": true,
            "type": "string"
          },
          "marketCap": {
            "description": "Market cap, USD.",
            "example": "1280000000000",
            "nullable": true,
            "type": "string"
          },
          "name": {
            "example": "Bitcoin",
            "type": "string"
          },
          "price": {
            "description": "Price, USD; null when the coin is not actively traded.",
            "example": "65000.5",
            "nullable": true,
            "type": "string"
          },
          "priceChangePercent24h": {
            "description": "24h price change, percent; null when unavailable.",
            "example": 2.34,
            "nullable": true,
            "type": "number"
          },
          "rank": {
            "description": "Position in the trending list (1-based).",
            "example": 1,
            "type": "number"
          },
          "slug": {
            "example": "bitcoin",
            "type": "string"
          },
          "symbol": {
            "example": "BTC",
            "nullable": true,
            "type": "string"
          },
          "volMcapRatio": {
            "description": "Volume / market-cap ratio. Null when market cap is unavailable or zero.",
            "example": 0.025,
            "nullable": true,
            "type": "number"
          },
          "volume24h": {
            "description": "24h trading volume, USD; null when the coin is not actively traded.",
            "example": "32000000000",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "rank",
          "slug",
          "symbol",
          "name",
          "imageUrl",
          "category",
          "price",
          "priceChangePercent24h",
          "high24h",
          "low24h",
          "volume24h",
          "marketCap",
          "volMcapRatio",
          "listingDate"
        ],
        "type": "object"
      },
      "CurrencyUpcomingTokenUnlockItemDto": {
        "properties": {
          "circulatingSupply": {
            "description": "Current coin circulating supply (raw token units).",
            "example": "297000000",
            "type": "string"
          },
          "id": {
            "description": "Currency unique numeric identifier.",
            "example": 28,
            "type": "number"
          },
          "imageUrl": {
            "description": "Coin logo (150×150); null when no image is available.",
            "example": "https://images.cryptorank.io/coins/150x150.ethereum1524754012028.png",
            "nullable": true,
            "type": "string"
          },
          "marketCap": {
            "description": "Current coin market capitalization, USD, rounded to whole dollars.",
            "example": "1100000000",
            "type": "string"
          },
          "name": {
            "description": "Display name.",
            "example": "Ethereum",
            "type": "string"
          },
          "percentOfMcap": {
            "description": "Unlock value as a percent of the coin market capitalization (current circulating supply). Example: `0.42` means 0.42%.",
            "example": 0.42,
            "type": "number"
          },
          "percentOfSupply": {
            "description": "Unlock token amount as a percent of the coin total supply (max supply with a fallback to total supply). Example: `1.05` means 1.05%.",
            "example": 1.05,
            "type": "number"
          },
          "price": {
            "description": "Current coin price, USD (twelve fractional digits).",
            "example": "3.70",
            "type": "string"
          },
          "symbol": {
            "description": "Native token symbol (e.g. 'ETH', 'BNB'); null when unknown.",
            "example": "ETH",
            "nullable": true,
            "type": "string"
          },
          "time": {
            "description": "Unlock date — Unix milliseconds (start of day, UTC). When several events fall on the same day for one coin their token amounts are aggregated into a single entry.",
            "example": 1780272000000,
            "type": "number"
          },
          "unlockTokens": {
            "description": "Number of tokens that will be unlocked on `time` (raw token units).",
            "example": "1250000",
            "type": "string"
          },
          "unlockValue": {
            "description": "Value of the unlock at the current coin price, USD — `unlockTokens` × `price`, rounded to whole dollars.",
            "example": "4625000",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "symbol",
          "imageUrl",
          "time",
          "unlockTokens",
          "unlockValue",
          "percentOfMcap",
          "percentOfSupply",
          "price",
          "marketCap",
          "circulatingSupply"
        ],
        "type": "object"
      },
      "CurrencyVcPressureDto": {
        "properties": {
          "circulatingSupply": {
            "description": "Circulating supply — the denominator for dominance and unlock percentages (raw token units).",
            "example": "297000000",
            "type": "string"
          },
          "dominance": {
            "description": "VC Dominance — tokens held by investors as a percent of total supply.",
            "example": 18.4,
            "type": "number"
          },
          "dumpPressure": {
            "description": "VC-induced dump-pressure rating.",
            "enum": [
              "low",
              "moderate",
              "high",
              "very-high"
            ],
            "example": "high",
            "type": "string"
          },
          "investors": {
            "description": "Full list of the project investors (VC).",
            "items": {
              "$ref": "#/components/schemas/VcPressureInvestorDto"
            },
            "type": "array"
          },
          "nextUnlockDate": {
            "description": "Closest upcoming VC unlock date (ISO 8601 UTC). Null when there are no upcoming VC unlocks.",
            "example": "2026-08-01T00:00:00.000Z",
            "nullable": true,
            "type": "string"
          },
          "priceChangePercent24h": {
            "description": "Price change over the last 24 hours, percent. Null when unavailable.",
            "example": -2.31,
            "nullable": true,
            "type": "number"
          },
          "profit": {
            "description": "VC Profit — investor ROI multiplier (0.01 = 0.01x, 1.8 = 1.8x).",
            "example": 1.8,
            "type": "number"
          },
          "unlock": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VcPressureUnlockDto"
              }
            ],
            "description": "Breakdown of the closest upcoming unlock. Null when there are no upcoming VC unlocks.",
            "nullable": true,
            "type": "object"
          },
          "unlocked30d": {
            "description": "VC unlocks over the last 30 days as a percent of circulating supply.",
            "example": 0.9,
            "type": "number"
          }
        },
        "required": [
          "dumpPressure",
          "dominance",
          "profit",
          "nextUnlockDate",
          "unlock",
          "unlocked30d",
          "circulatingSupply",
          "investors",
          "priceChangePercent24h"
        ],
        "type": "object"
      },
      "CurrencyVestingAllocationItemDto": {
        "properties": {
          "allocationId": {
            "description": "Allocation ID. Stable; the same allocation has the same allocationId in vesting events and schedule.",
            "example": 17132,
            "type": "number"
          },
          "allocationName": {
            "description": "Allocation name (e.g. Team, Private Sale).",
            "example": "Private Sale Investors",
            "type": "string"
          },
          "groupDominance": {
            "description": "Share of this allocation in the total locked tokens across tracked allocations, %. Null for untracked allocations (includeUntracked=true).",
            "example": 12.35,
            "nullable": true,
            "type": "number"
          },
          "isTracked": {
            "description": "Whether the allocation has a known unlock schedule. Always true unless includeUntracked=true. Untracked allocations have null unlock/lock fields and are excluded from groupDominance.",
            "example": true,
            "type": "boolean"
          },
          "lockedPercent": {
            "description": "Share locked within the allocation, % of its totalTokens. Null for untracked allocations (includeUntracked=true).",
            "example": 66.67,
            "nullable": true,
            "type": "number"
          },
          "lockedTokens": {
            "description": "Allocation tokens still locked. Null for untracked allocations (includeUntracked=true).",
            "example": "10000000",
            "nullable": true,
            "type": "string"
          },
          "nextUnlockDate": {
            "description": "Closest upcoming unlock date for this allocation (ISO 8601 UTC). Null when no upcoming unlock.",
            "example": "2026-07-01T00:00:00.000Z",
            "nullable": true,
            "type": "string"
          },
          "nextUnlockTokenAmount": {
            "description": "Tokens in the closest upcoming unlock for this allocation.",
            "example": "125000",
            "nullable": true,
            "type": "string"
          },
          "nextUnlockValue": {
            "description": "USD value of the closest upcoming unlock (tokens × current price).",
            "example": "8125000",
            "nullable": true,
            "type": "string"
          },
          "percentOfSupply": {
            "description": "Allocation size relative to total supply, in percent.",
            "example": 15,
            "nullable": true,
            "type": "number"
          },
          "totalTokens": {
            "description": "Allocation size — total tokens in this category.",
            "example": "15000000",
            "type": "string"
          },
          "unlockedAmount": {
            "description": "Tokens already unlocked in this allocation. Null for untracked allocations (includeUntracked=true).",
            "example": "5000000",
            "nullable": true,
            "type": "string"
          },
          "unlockedPercent": {
            "description": "Share unlocked within the allocation, % of its totalTokens. Null for untracked allocations (includeUntracked=true).",
            "example": 33.33,
            "nullable": true,
            "type": "number"
          },
          "vestingType": {
            "description": "Allocation vesting schedule type. Null for untracked allocations (includeUntracked=true).",
            "enum": [
              "linear",
              "nonlinear",
              "dynamic"
            ],
            "example": "linear",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "allocationId",
          "allocationName",
          "isTracked",
          "totalTokens",
          "percentOfSupply",
          "unlockedAmount",
          "unlockedPercent",
          "lockedTokens",
          "lockedPercent",
          "groupDominance",
          "nextUnlockDate",
          "nextUnlockTokenAmount",
          "nextUnlockValue",
          "vestingType"
        ],
        "type": "object"
      },
      "CurrencyVestingChartPointDto": {
        "properties": {
          "cumulativeUnlockedPercent": {
            "description": "Cumulative tokens unlocked from TGE to the end of the interval as a percent of total supply.",
            "example": 84,
            "type": "number"
          },
          "cumulativeUnlockedTokens": {
            "description": "Total tokens unlocked from TGE to the end of the interval (raw token units).",
            "example": "527400000",
            "type": "string"
          },
          "time": {
            "description": "Interval start — Unix milliseconds (UTC).",
            "example": 1715000000000,
            "type": "number"
          },
          "unlockedPercent": {
            "description": "Tokens unlocked within the interval as a percent of total supply (max supply with a fallback to total supply).",
            "example": 0.08,
            "type": "number"
          },
          "unlockedTokens": {
            "description": "Tokens unlocked within the interval (raw token units).",
            "example": "125000",
            "type": "string"
          }
        },
        "required": [
          "time",
          "unlockedTokens",
          "unlockedPercent",
          "cumulativeUnlockedTokens",
          "cumulativeUnlockedPercent"
        ],
        "type": "object"
      },
      "CurrencyVestingChartResponseDto": {
        "properties": {
          "series": {
            "description": "Token emission time series. Interval granularity is selected automatically: daily for ranges up to 3 years, weekly beyond.",
            "items": {
              "$ref": "#/components/schemas/CurrencyVestingChartPointDto"
            },
            "type": "array"
          },
          "untracked": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CurrencyVestingChartUntrackedDto"
              }
            ],
            "description": "Allocations excluded from the series because they have no known unlock schedule. Their tokens are not counted in the cumulative totals, so cumulative values may stay below total supply."
          }
        },
        "required": [
          "series",
          "untracked"
        ],
        "type": "object"
      },
      "CurrencyVestingChartUntrackedDto": {
        "properties": {
          "allocationNames": {
            "description": "Names of the untracked allocations.",
            "example": [
              "Ecosystem",
              "Treasury"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "percentOfTotal": {
            "description": "Untracked tokens as a percent of total supply.",
            "example": 5,
            "type": "number"
          },
          "totalTokens": {
            "description": "Total tokens in allocations without a known unlock schedule (raw token units).",
            "example": "50000000",
            "type": "string"
          }
        },
        "required": [
          "totalTokens",
          "percentOfTotal",
          "allocationNames"
        ],
        "type": "object"
      },
      "CurrencyVestingEventItemDto": {
        "properties": {
          "allocationId": {
            "description": "Allocation ID, the same as in vesting allocations and schedule.",
            "example": 17132,
            "type": "number"
          },
          "allocationName": {
            "description": "Allocation (round) name.",
            "example": "Private Sale Investors",
            "type": "string"
          },
          "cumulativeUnlockedPercent": {
            "description": "Share of total supply unlocked after this event, %.",
            "example": 84,
            "type": "number"
          },
          "cumulativeUnlockedTokens": {
            "description": "Total tokens unlocked after this event (raw token units).",
            "example": "527400000",
            "type": "string"
          },
          "cumulativeUnlockedValue": {
            "description": "Value of the cumulative unlocked tokens at the current price in the `convert` currency, rounded to a whole amount. `null` when the coin price is unavailable.",
            "example": "36370000000",
            "nullable": true,
            "type": "string"
          },
          "percentOfAllocation": {
            "description": "Percent of the allocation released by this event.",
            "example": 1.37,
            "type": "number"
          },
          "percentOfMcap": {
            "description": "Unlock token amount as a percent of market cap (current circulating supply). `null` when circulating supply is unavailable.",
            "example": 0.42,
            "nullable": true,
            "type": "number"
          },
          "percentOfSupply": {
            "description": "Unlock token amount as a percent of total supply (max supply with a fallback to total supply).",
            "example": 0.08,
            "type": "number"
          },
          "time": {
            "description": "Unlock date — Unix milliseconds (start of day, UTC).",
            "example": 1715000000000,
            "type": "number"
          },
          "unlockTokens": {
            "description": "Tokens unlocked by this event (raw token units).",
            "example": "125000",
            "type": "string"
          },
          "unlockValue": {
            "description": "Unlock value at the current price in the `convert` currency, rounded to a whole amount. `null` when the coin price is unavailable.",
            "example": "462500",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "time",
          "allocationId",
          "allocationName",
          "unlockTokens",
          "percentOfSupply",
          "unlockValue",
          "percentOfMcap",
          "percentOfAllocation",
          "cumulativeUnlockedPercent",
          "cumulativeUnlockedTokens",
          "cumulativeUnlockedValue"
        ],
        "type": "object"
      },
      "CurrencyVestingPhaseDto": {
        "properties": {
          "endTime": {
            "description": "Phase window end — Unix milliseconds (last release in the phase). Equals startTime for single-release phases.",
            "example": 1746000000000,
            "type": "number"
          },
          "frequency": {
            "description": "Release cadence. Set only for linear phases with a regular single-unit cadence; null otherwise (the cadence can be derived from startTime, endTime and periods).",
            "enum": [
              "daily",
              "weekly",
              "monthly",
              "quarterly",
              "yearly"
            ],
            "example": "monthly",
            "nullable": true,
            "type": "string"
          },
          "percentPerPeriod": {
            "description": "Percentage of the round released per period. Null for dynamic phases, where amounts vary between releases.",
            "example": 6.05,
            "nullable": true,
            "type": "number"
          },
          "periods": {
            "description": "Number of release periods in the phase.",
            "example": 12,
            "type": "number"
          },
          "startTime": {
            "description": "Phase window start — Unix milliseconds (first release in the phase).",
            "example": 1715000000000,
            "type": "number"
          },
          "type": {
            "description": "Phase release type — matches the round vesting type.",
            "enum": [
              "linear",
              "nonlinear",
              "dynamic"
            ],
            "example": "linear",
            "type": "string"
          },
          "unlockPercent": {
            "description": "Percentage of the round unlocked during this phase.",
            "example": 72.6,
            "type": "number"
          },
          "unlockTokens": {
            "description": "Tokens released during this phase, in the project's native token.",
            "example": "12500000",
            "type": "string"
          }
        },
        "required": [
          "type",
          "startTime",
          "endTime",
          "unlockPercent",
          "unlockTokens",
          "frequency",
          "periods",
          "percentPerPeriod"
        ],
        "type": "object"
      },
      "CurrencyVestingScheduleItemDto": {
        "properties": {
          "allocationId": {
            "description": "Allocation ID, the same as in vesting allocations and events.",
            "example": 17132,
            "type": "number"
          },
          "allocationName": {
            "description": "Allocation (round) name, the same as in vesting allocations and events.",
            "example": "Private Sale Investors",
            "type": "string"
          },
          "lockedPercent": {
            "description": "Currently locked share of the round, %.",
            "example": 66.67,
            "type": "number"
          },
          "lockedTokens": {
            "description": "Currently locked token amount.",
            "example": "10000000",
            "type": "string"
          },
          "name": {
            "deprecated": true,
            "description": "Round name. Deprecated: use allocationName.",
            "example": "Private Sale Investors",
            "type": "string"
          },
          "percentOfTotal": {
            "description": "Round share relative to total supply, in percent.",
            "example": 34.9,
            "nullable": true,
            "type": "number"
          },
          "phases": {
            "description": "Release phases in chronological order. The TGE unlock is reported via tgeUnlockPercent and is not a phase; a gap between the TGE date and the first phase startTime indicates a cliff.",
            "items": {
              "$ref": "#/components/schemas/CurrencyVestingPhaseDto"
            },
            "type": "array"
          },
          "tgeUnlockPercent": {
            "description": "Percentage of the round unlocked at TGE.",
            "example": 10,
            "type": "number"
          },
          "totalTokens": {
            "description": "Total tokens in the round.",
            "example": "15000000",
            "type": "string"
          },
          "type": {
            "description": "Round vesting schedule type.",
            "enum": [
              "linear",
              "nonlinear",
              "dynamic"
            ],
            "example": "linear",
            "type": "string"
          },
          "unlockedPercent": {
            "description": "Currently unlocked share of the round, %.",
            "example": 33.33,
            "type": "number"
          }
        },
        "required": [
          "allocationId",
          "allocationName",
          "name",
          "totalTokens",
          "percentOfTotal",
          "tgeUnlockPercent",
          "type",
          "unlockedPercent",
          "lockedPercent",
          "lockedTokens",
          "phases"
        ],
        "type": "object"
      },
      "CurrencyVestingScheduleResponseDto": {
        "properties": {
          "rounds": {
            "description": "Per-round vesting schedule. Rounds without a tracked schedule are excluded.",
            "items": {
              "$ref": "#/components/schemas/CurrencyVestingScheduleItemDto"
            },
            "type": "array"
          },
          "untracked": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CurrencyVestingScheduleUntrackedDto"
              }
            ],
            "description": "Allocations excluded from rounds because they have no known unlock schedule. Their tokens are not counted in the per-round shares, so the sum of all round percentOfTotal values plus untracked.percentOfTotal approximates 100%."
          }
        },
        "required": [
          "rounds",
          "untracked"
        ],
        "type": "object"
      },
      "CurrencyVestingScheduleUntrackedDto": {
        "properties": {
          "allocationIds": {
            "description": "IDs of the untracked allocations, the same as in vesting allocations with includeUntracked=true. Ordered like allocationNames.",
            "example": [
              24842,
              17133
            ],
            "items": {
              "type": "number"
            },
            "type": "array"
          },
          "allocationNames": {
            "description": "Names of the untracked allocations.",
            "example": [
              "Arbitrum Foundation",
              "DAO Treasury"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "percentOfTotal": {
            "description": "Untracked tokens as a percent of total supply (max supply with a fallback to total supply); null when supply is unavailable.",
            "example": 42.78,
            "nullable": true,
            "type": "number"
          },
          "totalTokens": {
            "description": "Total tokens in allocations without a known unlock schedule (raw token units).",
            "example": "4278000000",
            "type": "string"
          }
        },
        "required": [
          "totalTokens",
          "percentOfTotal",
          "allocationIds",
          "allocationNames"
        ],
        "type": "object"
      },
      "CursorMetaDto": {
        "properties": {
          "nextCursor": {
            "description": "Opaque cursor pointing to the next page; null when no further results exist.",
            "example": "eyJpZCI6MTIzNH0=",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "nextCursor"
        ],
        "type": "object"
      },
      "DrophuntingByIdDto": {
        "properties": {
          "activityStatus": {
            "description": "Current activity status.",
            "enum": [
              "POTENTIAL",
              "CONFIRMED",
              "VERIFICATION",
              "REWARD_AVAILABLE",
              "DISTRIBUTED",
              "SNAPSHOT",
              "INACTIVE"
            ],
            "type": "string"
          },
          "currencyId": {
            "description": "Unique currency identifier.",
            "example": 28,
            "type": "number"
          },
          "description": {
            "description": "Activity description.",
            "nullable": true,
            "type": "string"
          },
          "estimatedCost": {
            "description": "Total estimated cost across all tasks, USD. Null when no tasks have a declared cost.",
            "example": "0",
            "nullable": true,
            "type": "string"
          },
          "estimatedTimeMinutes": {
            "description": "Total estimated time across all tasks, minutes. Null when no tasks have a declared time.",
            "example": 45,
            "nullable": true,
            "type": "number"
          },
          "hasBackers": {
            "description": "True when the underlying coin has at least one disclosed backer (VC fund from a funding round).",
            "type": "boolean"
          },
          "hasFundingRounds": {
            "description": "True when the underlying coin has disclosed funding rounds.",
            "type": "boolean"
          },
          "hasTasks": {
            "description": "True when at least one task is available.",
            "type": "boolean"
          },
          "id": {
            "description": "Unique activity identifier.",
            "example": 42,
            "type": "number"
          },
          "imageUrl": {
            "description": "Logo image URL, 150×150. Null when no image is available.",
            "example": "https://images.cryptorank.io/coins/150x150.eigenlayer1524754012028.png",
            "nullable": true,
            "type": "string"
          },
          "lastStatusUpdate": {
            "description": "Last status update, ISO 8601 UTC.",
            "example": "2026-05-15T12:34:56.000Z",
            "type": "string"
          },
          "links": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DrophuntingLinksDto"
              }
            ],
            "description": "Reward claim and eligibility-verify links."
          },
          "name": {
            "description": "Display name.",
            "example": "EigenLayer",
            "type": "string"
          },
          "rewardDate": {
            "description": "Expected reward distribution date, ISO 8601 UTC. May be coarse — see `rewardDatePrecision`.",
            "example": "2026-09-30T00:00:00.000Z",
            "nullable": true,
            "type": "string"
          },
          "rewardDatePrecision": {
            "description": "Granularity of `rewardDate`. `YEAR`/`QUARTER`/`MONTH` mean only that part of the timestamp is meaningful.",
            "enum": [
              "YEAR",
              "QUARTER",
              "MONTH",
              "DATE",
              "DATE_TIME"
            ],
            "nullable": true,
            "type": "string"
          },
          "rewardType": {
            "description": "Reward type.",
            "enum": [
              "airdrop",
              "ambassador",
              "fee",
              "nft",
              "points",
              "role",
              "spaceships",
              "whitelist"
            ],
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly entity slug.",
            "example": "eigenlayer",
            "type": "string"
          },
          "symbol": {
            "description": "Native token symbol (e.g. 'ETH'). Null when unavailable.",
            "example": "EIGEN",
            "nullable": true,
            "type": "string"
          },
          "taskTypes": {
            "description": "Distinct task types present in this activity.",
            "items": {
              "$ref": "#/components/schemas/DrophuntingTaskTypeDto"
            },
            "type": "array"
          },
          "totalRaised": {
            "description": "Total airdrop rewards value in USD, across funding rounds and crowdsales.",
            "example": "125000000",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "currencyId",
          "name",
          "symbol",
          "slug",
          "imageUrl",
          "rewardType",
          "activityStatus",
          "lastStatusUpdate",
          "rewardDate",
          "links",
          "hasFundingRounds",
          "estimatedCost",
          "estimatedTimeMinutes",
          "taskTypes",
          "totalRaised",
          "description",
          "rewardDatePrecision",
          "hasBackers",
          "hasTasks"
        ],
        "type": "object"
      },
      "DrophuntingLinksDto": {
        "properties": {
          "claim": {
            "description": "URL where users claim the reward.",
            "nullable": true,
            "type": "string"
          },
          "verify": {
            "description": "URL where users verify eligibility.",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "claim",
          "verify"
        ],
        "type": "object"
      },
      "DrophuntingListItemDto": {
        "properties": {
          "activityStatus": {
            "description": "Current activity status.",
            "enum": [
              "POTENTIAL",
              "CONFIRMED",
              "VERIFICATION",
              "REWARD_AVAILABLE",
              "DISTRIBUTED",
              "SNAPSHOT",
              "INACTIVE"
            ],
            "type": "string"
          },
          "currencyId": {
            "description": "Underlying coin identifier.",
            "example": 28,
            "type": "number"
          },
          "id": {
            "description": "Unique activity identifier.",
            "example": 42,
            "type": "number"
          },
          "imageUrl": {
            "description": "Logo image URL, 150×150. Null when no image is available.",
            "example": "https://images.cryptorank.io/coins/150x150.eigenlayer1524754012028.png",
            "nullable": true,
            "type": "string"
          },
          "lastStatusUpdate": {
            "description": "Last status update, ISO 8601 UTC.",
            "example": "2026-05-15T12:34:56.000Z",
            "type": "string"
          },
          "name": {
            "description": "Display name.",
            "example": "EigenLayer",
            "type": "string"
          },
          "rewardType": {
            "description": "Reward type.",
            "enum": [
              "airdrop",
              "ambassador",
              "fee",
              "nft",
              "points",
              "role",
              "spaceships",
              "whitelist"
            ],
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly entity slug.",
            "example": "eigenlayer",
            "type": "string"
          },
          "symbol": {
            "description": "Native token symbol (e.g. 'ETH'). Null when unavailable.",
            "example": "EIGEN",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "currencyId",
          "name",
          "symbol",
          "slug",
          "imageUrl",
          "rewardType",
          "activityStatus",
          "lastStatusUpdate"
        ],
        "type": "object"
      },
      "DrophuntingMapItemDto": {
        "properties": {
          "id": {
            "description": "Unique numeric identifier",
            "example": 42,
            "type": "number"
          },
          "name": {
            "description": "Display name",
            "example": "EigenLayer",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly entity slug",
            "example": "eigenlayer",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name"
        ],
        "type": "object"
      },
      "DrophuntingTaskBlockchainDto": {
        "properties": {
          "id": {
            "description": "Unique blockchain identifier.",
            "example": 4,
            "type": "number"
          },
          "name": {
            "description": "Display name.",
            "example": "BNB",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly entity slug.",
            "example": "bnb",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name"
        ],
        "type": "object"
      },
      "DrophuntingTaskDto": {
        "properties": {
          "blockchains": {
            "description": "Blockchains used in the task.",
            "items": {
              "$ref": "#/components/schemas/DrophuntingTaskBlockchainDto"
            },
            "type": "array"
          },
          "buttonUrl": {
            "description": "External resource link for completing the task. Null when none.",
            "nullable": true,
            "type": "string"
          },
          "cost": {
            "description": "Estimated cost to complete, USD. Null when not declared.",
            "example": "150",
            "nullable": true,
            "type": "string"
          },
          "endDate": {
            "description": "Task close date, ISO 8601 UTC. Null when open-ended.",
            "example": "2026-06-15T12:00:00.000Z",
            "nullable": true,
            "type": "string"
          },
          "estimatedTimeMinutes": {
            "description": "Estimated time to complete, minutes. Null when not declared.",
            "example": 45,
            "nullable": true,
            "type": "number"
          },
          "id": {
            "description": "Unique task identifier.",
            "example": 17,
            "type": "number"
          },
          "mainText": {
            "description": "Task guide content — text, images and links. Null when no guide is available.",
            "nullable": true,
            "type": "string"
          },
          "startDate": {
            "description": "Task open date, ISO 8601 UTC. Null when not scheduled.",
            "example": "2026-05-15T12:00:00.000Z",
            "nullable": true,
            "type": "string"
          },
          "status": {
            "description": "Task status.",
            "enum": [
              "UPCOMING",
              "OPEN",
              "CLOSED"
            ],
            "type": "string"
          },
          "title": {
            "description": "Task title.",
            "example": "Bridge to Scroll",
            "type": "string"
          },
          "types": {
            "description": "Task types.",
            "items": {
              "$ref": "#/components/schemas/DrophuntingTaskTypeDto"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "title",
          "types",
          "status",
          "startDate",
          "endDate",
          "blockchains",
          "cost",
          "estimatedTimeMinutes",
          "mainText",
          "buttonUrl"
        ],
        "type": "object"
      },
      "DrophuntingTaskTypeDto": {
        "properties": {
          "id": {
            "description": "Unique numeric identifier.",
            "example": 1,
            "type": "number"
          },
          "name": {
            "description": "Display name.",
            "example": "Testnet",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly entity slug.",
            "example": "testnet",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name"
        ],
        "type": "object"
      },
      "EcosystemByIdDto": {
        "properties": {
          "funds": {
            "description": "Top 6 ecosystem backers.",
            "items": {
              "$ref": "#/components/schemas/EcosystemFundDto"
            },
            "type": "array"
          },
          "id": {
            "description": "Unique numeric identifier.",
            "example": 1,
            "type": "number"
          },
          "imageUrl": {
            "description": "Logo image URL, 150×150; null when no image is available.",
            "example": "https://images.cryptorank.io/coins/150x150.ethereum1765201517428.png",
            "nullable": true,
            "type": "string"
          },
          "links": {
            "description": "Ecosystem links (website, socials, explorer).",
            "items": {
              "$ref": "#/components/schemas/LinkDto"
            },
            "type": "array"
          },
          "marketCap": {
            "description": "Total market cap of all ecosystem tokens, USD. Null when none have a price.",
            "example": "420000000000",
            "nullable": true,
            "type": "string"
          },
          "marketCapChangePercent24h": {
            "description": "24h market cap change, %. Null when no 24h baseline is available.",
            "example": 1.23,
            "nullable": true,
            "type": "number"
          },
          "name": {
            "description": "Display name.",
            "example": "Ethereum",
            "type": "string"
          },
          "newProjectsCount": {
            "description": "Projects added in the last 3 months.",
            "example": 27,
            "type": "number"
          },
          "projectsCount": {
            "description": "Total number of projects.",
            "example": 1432,
            "type": "number"
          },
          "shortDescription": {
            "description": "Short description.",
            "example": "Smart-contract platform launched in 2015.",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly slug.",
            "example": "ethereum",
            "type": "string"
          },
          "tags": {
            "description": "Currency tags associated with the ecosystem.",
            "items": {
              "$ref": "#/components/schemas/EcosystemProfileTagDto"
            },
            "type": "array"
          },
          "totalValueLocked": {
            "description": "Total Value Locked, USD. Null when not tracked.",
            "example": "85000000000",
            "nullable": true,
            "type": "string"
          },
          "totalValueLockedChangePercent24h": {
            "description": "24h TVL change, %. Null when no 24h baseline is available.",
            "example": -0.42,
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "imageUrl",
          "shortDescription",
          "projectsCount",
          "newProjectsCount",
          "marketCap",
          "marketCapChangePercent24h",
          "totalValueLocked",
          "totalValueLockedChangePercent24h",
          "tags",
          "links",
          "funds"
        ],
        "type": "object"
      },
      "EcosystemFundDto": {
        "properties": {
          "id": {
            "description": "Unique fund identifier.",
            "example": 42,
            "type": "number"
          },
          "imageUrl": {
            "description": "Fund logo URL, 150×150; null when no image is available.",
            "example": "https://images.cryptorank.io/funds/150x150.a16z1524754012028.png",
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "Display name.",
            "example": "Andreessen Horowitz",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly entity slug.",
            "example": "a16z",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "imageUrl"
        ],
        "type": "object"
      },
      "EcosystemListItemDto": {
        "properties": {
          "id": {
            "description": "Ecosystem ID.",
            "example": 1,
            "type": "number"
          },
          "name": {
            "description": "Display name.",
            "example": "Ethereum",
            "type": "string"
          },
          "projectsCount": {
            "description": "Number of projects in the ecosystem.",
            "example": 1432,
            "type": "number"
          },
          "slug": {
            "description": "URL-friendly identifier.",
            "example": "ethereum",
            "type": "string"
          },
          "tags": {
            "description": "Tags associated with the ecosystem.",
            "items": {
              "$ref": "#/components/schemas/EcosystemTagDto"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "projectsCount",
          "tags"
        ],
        "type": "object"
      },
      "EcosystemProfileTagDto": {
        "properties": {
          "id": {
            "description": "Unique tag identifier.",
            "example": 1,
            "type": "number"
          },
          "name": {
            "description": "Display name.",
            "example": "Layer 1",
            "type": "string"
          },
          "projectsCount": {
            "description": "Number of ecosystems carrying this tag.",
            "example": 42,
            "type": "number"
          },
          "slug": {
            "description": "URL-friendly entity slug.",
            "example": "layer-1",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "projectsCount"
        ],
        "type": "object"
      },
      "EcosystemTagDto": {
        "properties": {
          "id": {
            "example": 1,
            "type": "number"
          },
          "name": {
            "example": "DeFi",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "type": "object"
      },
      "EcosystemTagsItemDto": {
        "properties": {
          "id": {
            "description": "Unique tag identifier.",
            "example": 1,
            "type": "number"
          },
          "name": {
            "description": "Display name.",
            "example": "Layer 1",
            "type": "string"
          },
          "projectsCount": {
            "description": "Number of ecosystems carrying this tag.",
            "example": 42,
            "type": "number"
          },
          "slug": {
            "description": "URL-friendly tag slug.",
            "example": "layer-1",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "projectsCount"
        ],
        "type": "object"
      },
      "ExchangeMapItemDto": {
        "properties": {
          "id": {
            "description": "Unique numeric identifier.",
            "example": 1,
            "type": "number"
          },
          "name": {
            "description": "Display name.",
            "example": "Binance",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly entity slug.",
            "example": "binance",
            "type": "string"
          },
          "type": {
            "description": "Exchange type.",
            "enum": [
              "cex-spot",
              "cex-derivatives",
              "dex-spot",
              "dex-derivatives"
            ],
            "example": "cex-spot",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "type"
        ],
        "type": "object"
      },
      "ExchangeMonthlyVolumePointDto": {
        "properties": {
          "adjustedVolume": {
            "description": "Adjusted trading volume accumulated over the month, USD.",
            "example": "1180000000000",
            "type": "string"
          },
          "adjustedVolumeBtc": {
            "description": "Adjusted trading volume accumulated over the month, BTC.",
            "example": "19500000",
            "type": "string"
          },
          "reportedVolume": {
            "description": "Reported trading volume accumulated over the month, USD.",
            "example": "1260000000000",
            "type": "string"
          },
          "reportedVolumeBtc": {
            "description": "Reported trading volume accumulated over the month, BTC.",
            "example": "20800000",
            "type": "string"
          },
          "time": {
            "description": "Calendar month start (bucket start), Unix timestamp in milliseconds (UTC).",
            "example": 1748736000000,
            "type": "number"
          }
        },
        "required": [
          "time",
          "adjustedVolume",
          "reportedVolume",
          "adjustedVolumeBtc",
          "reportedVolumeBtc"
        ],
        "type": "object"
      },
      "ExchangeProfileDto": {
        "properties": {
          "adjustedVolume24h": {
            "description": "Adjusted 24h trading volume, USD.",
            "example": "12345678901",
            "type": "string"
          },
          "blockchain": {
            "description": "Native blockchain.",
            "example": null,
            "nullable": true,
            "type": "string"
          },
          "currenciesCount": {
            "description": "Number of distinct coins traded.",
            "example": 350,
            "type": "number"
          },
          "description": {
            "description": "Exchange description.",
            "example": "Binance is a global cryptocurrency exchange...",
            "nullable": true,
            "type": "string"
          },
          "futuresContractsCount": {
            "description": "Number of futures contracts listed. Null for non-derivatives.",
            "example": null,
            "nullable": true,
            "type": "number"
          },
          "hasProofOfReserves": {
            "description": "Whether the exchange publishes proof of reserves.",
            "example": true,
            "type": "boolean"
          },
          "id": {
            "description": "Unique numeric identifier.",
            "example": 1,
            "type": "number"
          },
          "imageUrl": {
            "description": "Logo image URL, 150x150. Null when no image is available.",
            "example": "https://images.cryptorank.io/exchanges/150x150.binance.png",
            "nullable": true,
            "type": "string"
          },
          "jurisdiction": {
            "description": "Exchange jurisdiction or country of registration.",
            "example": "Cayman Islands",
            "nullable": true,
            "type": "string"
          },
          "links": {
            "description": "Related links — website, whitepaper, github, socials, etc.",
            "items": {
              "$ref": "#/components/schemas/LinkDto"
            },
            "type": "array"
          },
          "marketShare": {
            "description": "Share of total market trading volume, %. Futures venues are excluded from the total.",
            "example": 12.34,
            "type": "number"
          },
          "name": {
            "description": "Display name.",
            "example": "Binance",
            "type": "string"
          },
          "nativeCurrencyId": {
            "description": "ID of the exchange's native token.",
            "example": 1839,
            "nullable": true,
            "type": "number"
          },
          "openInterest": {
            "description": "Total open interest for derivative contracts, USD. Only for derivatives.",
            "example": "4567890123",
            "nullable": true,
            "type": "string"
          },
          "pairsCount": {
            "description": "Number of active tickers.",
            "example": 1820,
            "type": "number"
          },
          "perpetualContractsCount": {
            "description": "Number of perpetual contracts listed. Null for non-derivatives.",
            "example": null,
            "nullable": true,
            "type": "number"
          },
          "reportedVolume24h": {
            "description": "Reported 24h trading volume, USD.",
            "example": "23456789012",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly entity slug.",
            "example": "binance",
            "type": "string"
          },
          "type": {
            "description": "Exchange type.",
            "enum": [
              "cex-spot",
              "cex-derivatives",
              "dex-spot",
              "dex-derivatives"
            ],
            "example": "cex-spot",
            "type": "string"
          },
          "yearOfFoundation": {
            "description": "Year founded.",
            "example": 2017,
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "type",
          "imageUrl",
          "yearOfFoundation",
          "nativeCurrencyId",
          "adjustedVolume24h",
          "reportedVolume24h",
          "marketShare",
          "currenciesCount",
          "pairsCount",
          "openInterest",
          "blockchain",
          "description",
          "links",
          "jurisdiction",
          "hasProofOfReserves",
          "perpetualContractsCount",
          "futuresContractsCount"
        ],
        "type": "object"
      },
      "ExchangeProofOfReservesAssetDto": {
        "properties": {
          "amount": {
            "description": "Reserve amount held, in native tokens.",
            "example": "102345.5",
            "type": "string"
          },
          "currencyId": {
            "description": "Coin numeric identifier.",
            "example": 1,
            "type": "number"
          },
          "percentOfTotal": {
            "description": "Share of total reserves, %.",
            "example": 65.6,
            "type": "number"
          },
          "symbol": {
            "description": "Token symbol.",
            "example": "BTC",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "currencyId",
          "symbol",
          "amount",
          "percentOfTotal"
        ],
        "type": "object"
      },
      "ExchangeProofOfReservesDto": {
        "properties": {
          "cleanReserves": {
            "description": "Reserves excluding assets issued by the exchange itself. Null when reserves is 0.",
            "example": "11200000000",
            "nullable": true,
            "type": "string"
          },
          "data": {
            "description": "Per-asset reserve breakdown, sorted by USD value descending.",
            "items": {
              "$ref": "#/components/schemas/ExchangeProofOfReservesAssetDto"
            },
            "type": "array"
          },
          "id": {
            "description": "Exchange numeric identifier.",
            "example": 1,
            "type": "number"
          },
          "name": {
            "description": "Display name.",
            "example": "Binance",
            "type": "string"
          },
          "reserves": {
            "description": "Publicly reported reserves across all supported blockchains, in USD.",
            "example": "12500000000",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly entity slug.",
            "example": "binance",
            "type": "string"
          },
          "sourceUrl": {
            "description": "Link to the exchange page with reserve wallets / attestation report. Null when unavailable.",
            "example": "https://www.binance.com/en/proof-of-reserves",
            "nullable": true,
            "type": "string"
          },
          "stablecoinsPercent": {
            "description": "Share of stablecoin holdings within total reserves, as a percent. Null when reserves is 0.",
            "example": 42.5,
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "reserves",
          "cleanReserves",
          "stablecoinsPercent",
          "sourceUrl",
          "data"
        ],
        "type": "object"
      },
      "ExchangeVolumeChartPointDto": {
        "properties": {
          "adjustedVolume": {
            "description": "Adjusted 24h trading volume at the point, USD.",
            "example": "38400000000",
            "type": "string"
          },
          "reportedVolume": {
            "description": "Reported 24h trading volume at the point, USD.",
            "example": "41200000000",
            "type": "string"
          },
          "time": {
            "description": "Bucket start, Unix timestamp in milliseconds (UTC).",
            "example": 1748908800000,
            "type": "number"
          }
        },
        "required": [
          "time",
          "adjustedVolume",
          "reportedVolume"
        ],
        "type": "object"
      },
      "ExchangeVolumeListItemDto": {
        "properties": {
          "adjustedVolume24h": {
            "description": "Adjusted 24h trading volume, USD.",
            "example": "12345678901",
            "type": "string"
          },
          "currenciesCount": {
            "description": "Number of distinct coins traded.",
            "example": 350,
            "type": "number"
          },
          "id": {
            "description": "Unique numeric identifier.",
            "example": 1,
            "type": "number"
          },
          "imageUrl": {
            "description": "Logo image URL, 150x150. Null when no image is available.",
            "example": "https://images.cryptorank.io/exchanges/150x150.binance.png",
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "Display name.",
            "example": "Binance",
            "type": "string"
          },
          "pairsCount": {
            "description": "Number of active trading pairs.",
            "example": 1820,
            "type": "number"
          },
          "reportedVolume24h": {
            "description": "Reported 24h trading volume, USD.",
            "example": "23456789012",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly entity slug.",
            "example": "binance",
            "type": "string"
          },
          "type": {
            "description": "Exchange type.",
            "enum": [
              "cex-spot",
              "cex-derivatives",
              "dex-spot",
              "dex-derivatives"
            ],
            "example": "cex-spot",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "type",
          "imageUrl",
          "adjustedVolume24h",
          "reportedVolume24h",
          "pairsCount",
          "currenciesCount"
        ],
        "type": "object"
      },
      "FiatListItemDto": {
        "properties": {
          "id": {
            "description": "Unique numeric identifier",
            "example": 1705,
            "type": "number"
          },
          "name": {
            "description": "Display name",
            "example": "United States Dollar",
            "type": "string"
          },
          "price": {
            "description": "Value of 1 unit of this fiat currency in USD",
            "example": "1",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly entity slug",
            "example": "united-states-dollar",
            "type": "string"
          },
          "symbol": {
            "description": "Fiat currency code (e.g. USD, EUR, JPY)",
            "example": "USD",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "symbol",
          "name",
          "price"
        ],
        "type": "object"
      },
      "FundByIdDto": {
        "properties": {
          "avgRoundSize": {
            "description": "Average funding round size across the fund's 20 most recent rounds, USD. Null when no recent round has a disclosed raise.",
            "example": "2500000",
            "nullable": true,
            "type": "string"
          },
          "category": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FundCategoryDto"
              }
            ],
            "description": "Fund category (Angel, Accelerator, etc.). Null when uncategorized.",
            "nullable": true,
            "type": "object"
          },
          "description": {
            "description": "Full description. Null when unavailable.",
            "nullable": true,
            "type": "string"
          },
          "fundingRoundsCount": {
            "description": "Number of rounds the fund participated in",
            "example": 287,
            "type": "number"
          },
          "id": {
            "description": "Unique numeric identifier",
            "example": 1,
            "type": "number"
          },
          "imageUrl": {
            "description": "Logo image URL, 150×150. Null when no image is available.",
            "example": "https://images.cryptorank.io/funds/150x150.a16z1524754012028.png",
            "nullable": true,
            "type": "string"
          },
          "jurisdiction": {
            "description": "Fund jurisdiction. Null when unknown.",
            "example": "United States",
            "nullable": true,
            "type": "string"
          },
          "leadInvestmentsCount": {
            "description": "Number of rounds the fund led",
            "example": 64,
            "type": "number"
          },
          "links": {
            "description": "Related links — website, whitepaper, github, socials, etc.",
            "items": {
              "$ref": "#/components/schemas/LinkDto"
            },
            "type": "array"
          },
          "name": {
            "description": "Display name",
            "example": "Andreessen Horowitz",
            "type": "string"
          },
          "portfolioCount": {
            "description": "Number of portfolio projects",
            "example": 412,
            "type": "number"
          },
          "preferredStage": {
            "description": "Preferred investment stage. Null when no qualifying rounds exist.",
            "example": "SEED",
            "nullable": true,
            "type": "string"
          },
          "retailRoi": {
            "description": "Average portfolio ROI vs current price, from public retail entry price, %. Null when no portfolio coin has a listing price reference.",
            "example": 12.34,
            "nullable": true,
            "type": "number"
          },
          "slug": {
            "description": "URL-friendly entity slug",
            "example": "a16z",
            "type": "string"
          },
          "tier": {
            "description": "Fund tier by CryptoRank classification (Tier 1 = top, descending). Null when unranked.",
            "example": 1,
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "imageUrl",
          "tier",
          "category",
          "description",
          "links",
          "jurisdiction",
          "preferredStage",
          "portfolioCount",
          "fundingRoundsCount",
          "leadInvestmentsCount",
          "retailRoi",
          "avgRoundSize"
        ],
        "type": "object"
      },
      "FundCategoryDto": {
        "properties": {
          "id": {
            "description": "Category identifier",
            "example": 3,
            "type": "number"
          },
          "name": {
            "description": "Category display name",
            "example": "Venture",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly category slug",
            "example": "venture",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name"
        ],
        "type": "object"
      },
      "FundCoInvestorItemDto": {
        "properties": {
          "id": {
            "description": "Co-investor fund identifier in cryptorank.",
            "example": 5,
            "type": "number"
          },
          "imageUrl": {
            "description": "Co-investor logo image URL, 150×150. Null when no image is available.",
            "example": "https://images.cryptorank.io/funds/150x150.paradigm1614335874746.png",
            "nullable": true,
            "type": "string"
          },
          "jointRoundsCount": {
            "description": "Number of funding rounds where both funds participated together. Counts only rounds within the from/to window when one is set.",
            "example": 14,
            "type": "number"
          },
          "lastJointRoundDate": {
            "description": "Date of the latest shared funding round (ISO 8601 UTC), within the from/to window when one is set. Null when no shared round has a known date.",
            "example": "2024-08-15T00:00:00.000Z",
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "Co-investor display name.",
            "example": "Paradigm",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly co-investor slug.",
            "example": "paradigm",
            "type": "string"
          },
          "tier": {
            "description": "Co-investor tier by CryptoRank classification (Tier 1 = top, descending). Null when unranked.",
            "example": 1,
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "imageUrl",
          "tier",
          "jointRoundsCount",
          "lastJointRoundDate"
        ],
        "type": "object"
      },
      "FundCountryItemDto": {
        "properties": {
          "country": {
            "description": "Country name",
            "example": "United States",
            "type": "string"
          },
          "countryCode": {
            "description": "ISO-2 country code",
            "example": "US",
            "type": "string"
          },
          "investmentsCount": {
            "description": "Number of the fund's investments in the country",
            "example": 42,
            "type": "number"
          },
          "percentOfTotal": {
            "description": "Share of all the fund's investments, %",
            "example": 31.58,
            "type": "number"
          }
        },
        "required": [
          "country",
          "countryCode",
          "investmentsCount",
          "percentOfTotal"
        ],
        "type": "object"
      },
      "FundFocusAreaCategoryDto": {
        "properties": {
          "id": {
            "description": "Category identifier",
            "example": 12,
            "type": "number"
          },
          "name": {
            "description": "Category display name",
            "example": "DeFi",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly category slug",
            "example": "defi",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name"
        ],
        "type": "object"
      },
      "FundFocusAreaItemDto": {
        "properties": {
          "category": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FundFocusAreaCategoryDto"
              }
            ],
            "description": "Category object"
          },
          "investmentsCount": {
            "description": "Number of the fund's investments in the category",
            "example": 8,
            "type": "number"
          },
          "percentOfTotal": {
            "description": "Share of all the fund's investments, %",
            "example": 26.67,
            "type": "number"
          }
        },
        "required": [
          "category",
          "investmentsCount",
          "percentOfTotal"
        ],
        "type": "object"
      },
      "FundListItemDto": {
        "properties": {
          "category": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FundCategoryDto"
              }
            ],
            "description": "Fund category (Angel, Accelerator, etc.). Null when uncategorized.",
            "nullable": true,
            "type": "object"
          },
          "fundingRoundsCount": {
            "description": "Number of rounds the fund participated in",
            "example": 287,
            "type": "number"
          },
          "id": {
            "description": "Unique numeric identifier",
            "example": 1,
            "type": "number"
          },
          "imageUrl": {
            "description": "Logo image URL, 150×150. Null when no image is available.",
            "example": "https://images.cryptorank.io/funds/150x150.a16z1524754012028.png",
            "nullable": true,
            "type": "string"
          },
          "leadInvestmentsCount": {
            "description": "Number of rounds the fund led",
            "example": 64,
            "type": "number"
          },
          "name": {
            "description": "Display name",
            "example": "Andreessen Horowitz",
            "type": "string"
          },
          "retailRoi": {
            "description": "Average portfolio ROI vs current price, from public retail entry price, %. Null when no portfolio coin has a listing price reference.",
            "example": 12.34,
            "nullable": true,
            "type": "number"
          },
          "slug": {
            "description": "URL-friendly entity slug",
            "example": "a16z",
            "type": "string"
          },
          "tier": {
            "description": "Fund tier by CryptoRank classification (Tier 1 = top, descending). Null when unranked.",
            "example": 1,
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "imageUrl",
          "tier",
          "category",
          "fundingRoundsCount",
          "leadInvestmentsCount",
          "retailRoi"
        ],
        "type": "object"
      },
      "FundMapItemDto": {
        "properties": {
          "id": {
            "description": "Unique numeric identifier",
            "example": 1,
            "type": "number"
          },
          "name": {
            "description": "Display name",
            "example": "Andreessen Horowitz",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly entity slug",
            "example": "a16z",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name"
        ],
        "type": "object"
      },
      "FundPortfolioItemDto": {
        "properties": {
          "category": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CurrencyCategoryDto"
              }
            ],
            "description": "Primary project category.",
            "nullable": true,
            "type": "object"
          },
          "currencyId": {
            "description": "Currency identifier.",
            "example": 28,
            "type": "number"
          },
          "firstRoundDate": {
            "description": "Date of the first round with fund participation, ISO 8601 UTC. Null when no participated round has a known date.",
            "example": "2022-01-15T00:00:00.000Z",
            "nullable": true,
            "type": "string"
          },
          "imageUrl": {
            "description": "150 × 150 px image link. Null when no image is available.",
            "example": "https://images.cryptorank.io/coins/150x150.ethereum1524754015525.png",
            "nullable": true,
            "type": "string"
          },
          "isLead": {
            "description": "Whether the fund led at least one round in this project.",
            "example": true,
            "type": "boolean"
          },
          "latestRoundDate": {
            "description": "Date of the latest round with fund participation, ISO 8601 UTC. Null when no participated round has a known date.",
            "example": "2024-08-15T00:00:00.000Z",
            "nullable": true,
            "type": "string"
          },
          "lifecycle": {
            "enum": [
              "scheduled",
              "funding",
              "crowdsale",
              "traded",
              "inactive",
              "unknown"
            ],
            "example": "traded",
            "type": "string"
          },
          "marketCap": {
            "description": "Market cap in the requested fiat. Null for projects that are not traded or when unavailable.",
            "example": "450000000000",
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "Project name.",
            "example": "Ethereum",
            "type": "string"
          },
          "price": {
            "description": "Current price in the requested fiat. Null for projects that are not traded or when unavailable.",
            "example": "3200.123456789012",
            "nullable": true,
            "type": "string"
          },
          "priceChangePercent24h": {
            "description": "Price change over the last 24 hours, %. Null for projects that are not traded or when unavailable.",
            "example": 2.34,
            "nullable": true,
            "type": "number"
          },
          "rank": {
            "description": "Market cap rank. Null for projects that are not traded or have no rank.",
            "example": 2,
            "nullable": true,
            "type": "number"
          },
          "retailRoi": {
            "description": "ROI from the public retail sale price as a multiplier (1.0 = breakeven). Null for projects that are not traded or when no retail price reference is available.",
            "example": 12.34,
            "nullable": true,
            "type": "number"
          },
          "roundsCount": {
            "description": "Number of rounds with fund participation. Zero for projects backed without a disclosed round.",
            "example": 3,
            "type": "number"
          },
          "slug": {
            "description": "Project slug.",
            "example": "ethereum",
            "type": "string"
          },
          "symbol": {
            "description": "Token ticker symbol.",
            "example": "ETH",
            "nullable": true,
            "type": "string"
          },
          "totalInvested": {
            "description": "Sum of the full sizes of rounds with fund participation in the requested fiat, not the fund contribution. Null when no round raise amount is known.",
            "example": "5000000",
            "nullable": true,
            "type": "string"
          },
          "type": {
            "description": "Project type, e.g. coin, token or no-token.",
            "example": "coin",
            "type": "string"
          },
          "viaRound": {
            "description": "Whether the fund participated in a disclosed round. False for projects backed without such a round.",
            "example": true,
            "type": "boolean"
          },
          "volume24h": {
            "description": "Trading volume over the last 24 hours in the requested fiat. Null for projects that are not traded or when unavailable.",
            "example": "12000000000",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "currencyId",
          "name",
          "symbol",
          "slug",
          "imageUrl",
          "type",
          "lifecycle",
          "category",
          "rank",
          "price",
          "priceChangePercent24h",
          "marketCap",
          "volume24h",
          "retailRoi",
          "isLead",
          "roundsCount",
          "firstRoundDate",
          "latestRoundDate",
          "totalInvested",
          "viaRound"
        ],
        "type": "object"
      },
      "FundStageItemDto": {
        "properties": {
          "avgRoundSize": {
            "description": "Average round size in USD across the fund rounds at this stage. Null when no round at this stage has a disclosed raise.",
            "example": "2500000",
            "nullable": true,
            "type": "string"
          },
          "count": {
            "description": "Number of funding rounds the fund participated in at this stage.",
            "example": 12,
            "type": "number"
          },
          "percentOfTotal": {
            "description": "Share of this stage across all qualifying rounds, in percent (0–100, two decimals).",
            "example": 24.49,
            "type": "number"
          },
          "stage": {
            "description": "Funding round stage label, e.g. SEED, SERIES A, STRATEGIC.",
            "example": "SEED",
            "type": "string"
          }
        },
        "required": [
          "stage",
          "count",
          "percentOfTotal",
          "avgRoundSize"
        ],
        "type": "object"
      },
      "FundTopInvestmentsItemDto": {
        "properties": {
          "currencyId": {
            "description": "Currency ID.",
            "example": 28,
            "type": "number"
          },
          "imageUrl": {
            "description": "150 × 150 px image link. Null when no image is available.",
            "example": "https://images.cryptorank.io/coins/150x150.ethereum1524754015525.png",
            "nullable": true,
            "type": "string"
          },
          "isLead": {
            "description": "Whether the fund was the lead investor in the round.",
            "example": true,
            "type": "boolean"
          },
          "latestRoundDate": {
            "description": "Date of the latest round with fund participation (ISO 8601 UTC). Null when no participated round has a known date.",
            "example": "2024-08-15T00:00:00.000Z",
            "nullable": true,
            "type": "string"
          },
          "marketCap": {
            "description": "Currency market cap, USD. Null when unavailable.",
            "example": "450000000000",
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "Currency name.",
            "example": "Ethereum",
            "type": "string"
          },
          "retailRoi": {
            "description": "ROI to current price from the public retail (ICO/IDO/IEO) entry price, as a multiplier (1.0 = breakeven, 12.34 = 12.34×). Null when no listing price reference is available.",
            "example": 12.34,
            "nullable": true,
            "type": "number"
          },
          "symbol": {
            "description": "Currency ticker symbol.",
            "example": "ETH",
            "nullable": true,
            "type": "string"
          },
          "totalInvested": {
            "description": "Total size of all funding rounds where the fund participated, USD. Represents the full round size, not the fund's individual contribution. Null when no round raise amount is known.",
            "example": "5000000",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "currencyId",
          "name",
          "symbol",
          "imageUrl",
          "isLead",
          "totalInvested",
          "marketCap",
          "retailRoi",
          "latestRoundDate"
        ],
        "type": "object"
      },
      "FundingRoundByIdDto": {
        "properties": {
          "category": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FundingRoundCategoryDto"
              }
            ],
            "description": "Coin primary category. Null when no category is assigned.",
            "nullable": true,
            "type": "object"
          },
          "currencyId": {
            "description": "Coin identifier in cryptorank.",
            "example": 28,
            "type": "number"
          },
          "date": {
            "description": "Date of the funding round (ISO 8601 UTC). Null when the date is unknown.",
            "example": "2024-08-15T00:00:00.000Z",
            "nullable": true,
            "type": "string"
          },
          "description": {
            "description": "Round description, if any. Null when no description is available.",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "Funding round identifier.",
            "example": 1234,
            "type": "number"
          },
          "imageUrl": {
            "description": "Coin logo (150×150); null when no image is available.",
            "example": "https://images.cryptorank.io/coins/150x150.ethereum1524754012028.png",
            "nullable": true,
            "type": "string"
          },
          "leadInvestors": {
            "description": "Lead investors of the round (ordered by id ascending).",
            "items": {
              "$ref": "#/components/schemas/FundingRoundInvestorDto"
            },
            "type": "array"
          },
          "otherInvestors": {
            "description": "Other investors of the round (ordered by id ascending).",
            "items": {
              "$ref": "#/components/schemas/FundingRoundInvestorDto"
            },
            "type": "array"
          },
          "raised": {
            "description": "Total round size in USD. Null when the raised amount is undisclosed.",
            "example": "5000000",
            "nullable": true,
            "type": "string"
          },
          "sourceUrl": {
            "description": "External URL to the source announcement of the round. Null when not available.",
            "nullable": true,
            "type": "string"
          },
          "type": {
            "description": "Crowdsale/round type label as stored (e.g. SEED, SERIES A, PRE SEED, Series E, Undisclosed).",
            "example": "SERIES A",
            "type": "string"
          },
          "valuation": {
            "description": "Project valuation at the time of the round in USD. Null when undisclosed.",
            "example": "50000000",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "currencyId",
          "imageUrl",
          "type",
          "date",
          "raised",
          "valuation",
          "category",
          "description",
          "sourceUrl",
          "leadInvestors",
          "otherInvestors"
        ],
        "type": "object"
      },
      "FundingRoundCategoryDto": {
        "properties": {
          "id": {
            "example": 12,
            "type": "number"
          },
          "name": {
            "example": "DeFi",
            "type": "string"
          },
          "slug": {
            "example": "defi",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name"
        ],
        "type": "object"
      },
      "FundingRoundInvestorDto": {
        "properties": {
          "id": {
            "example": 1,
            "type": "number"
          },
          "imageUrl": {
            "description": "Absolute URL to the 150×150 fund logo. Null when unavailable.",
            "nullable": true,
            "type": "string"
          },
          "name": {
            "example": "Andreessen Horowitz",
            "type": "string"
          },
          "slug": {
            "example": "a16z",
            "type": "string"
          },
          "tier": {
            "description": "Editorial tier 1–5.",
            "example": 1,
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "tier",
          "imageUrl"
        ],
        "type": "object"
      },
      "FundingRoundListItemDto": {
        "properties": {
          "allInvestors": {
            "description": "All investors of the round, ordered by fund id ascending. Lead-investor information is not included; call `/funding-rounds/{id}` to get the round detail with investors split into `leadInvestors` and `otherInvestors`.",
            "items": {
              "$ref": "#/components/schemas/FundingRoundInvestorDto"
            },
            "type": "array"
          },
          "category": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FundingRoundCategoryDto"
              }
            ],
            "description": "Coin primary category. Null when no category is assigned.",
            "nullable": true,
            "type": "object"
          },
          "currencyId": {
            "description": "Coin identifier in cryptorank.",
            "example": 28,
            "type": "number"
          },
          "date": {
            "description": "Date of the funding round (ISO 8601 UTC). Null when the date is unknown.",
            "example": "2024-08-15T00:00:00.000Z",
            "nullable": true,
            "type": "string"
          },
          "dateAccuracy": {
            "description": "Precision of `date`: 'day' — full date; 'year' — only the year is known (read `date` as Jan 1 of that year). Null when `date` is unknown.",
            "enum": [
              "day",
              "year"
            ],
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "Funding round identifier.",
            "example": 1234,
            "type": "number"
          },
          "raised": {
            "description": "Total round size in USD. Null when the raised amount is undisclosed.",
            "example": "5000000",
            "nullable": true,
            "type": "string"
          },
          "type": {
            "description": "Crowdsale/round type label as stored (e.g. SEED, SERIES A, PRE SEED, Series E, Undisclosed).",
            "example": "SERIES A",
            "type": "string"
          }
        },
        "required": [
          "id",
          "currencyId",
          "type",
          "date",
          "dateAccuracy",
          "raised",
          "category",
          "allInvestors"
        ],
        "type": "object"
      },
      "FundingRoundsMostActiveInvestorDto": {
        "properties": {
          "id": {
            "description": "Fund identifier.",
            "example": 42,
            "type": "number"
          },
          "imageUrl": {
            "description": "Fund logo URL, 150×150. Null when no image is available.",
            "example": "https://images.cryptorank.io/funds/150x150.a16z-crypto1524754012028.png",
            "nullable": true,
            "type": "string"
          },
          "leadInvestments": {
            "description": "Number of funding rounds the fund led within the selected period (subset of `totalInvestments`).",
            "example": 37,
            "type": "number"
          },
          "name": {
            "description": "Fund display name.",
            "example": "a16z crypto",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly fund slug.",
            "example": "a16z-crypto",
            "type": "string"
          },
          "tier": {
            "description": "Fund tier by CryptoRank classification (Tier 1 = top, descending). Null when unranked.",
            "example": 1,
            "nullable": true,
            "type": "number"
          },
          "totalDeployed": {
            "description": "Sum of `raised` (USD) across all funding rounds the fund participated in within the selected period. Aggregates the full round size — the underlying data does not record per-investor check sizes. Rounds with an undisclosed `raised` amount contribute `0`.",
            "example": "5800000000",
            "type": "string"
          },
          "totalInvestments": {
            "description": "Number of funding rounds the fund participated in within the selected period (any role — lead or follow-on).",
            "example": 124,
            "type": "number"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "imageUrl",
          "tier",
          "totalInvestments",
          "leadInvestments",
          "totalDeployed"
        ],
        "type": "object"
      },
      "FundingRoundsTrendPointDto": {
        "properties": {
          "avgRoundSize": {
            "description": "Arithmetic mean of `raised` (USD) across the bucket.",
            "example": "2976190",
            "type": "string"
          },
          "date": {
            "description": "Bucket start (ISO 8601 UTC). For `1w` the bucket starts on Monday; for `1m` on the 1st.",
            "example": "2024-08-01T00:00:00.000Z",
            "type": "string"
          },
          "medianRoundSize": {
            "description": "Median of `raised` (USD) across the bucket (continuous percentile).",
            "example": "1500000",
            "type": "string"
          },
          "roundsCount": {
            "description": "Number of rounds in the bucket with disclosed `raised` amount.",
            "example": 42,
            "type": "number"
          },
          "totalRaised": {
            "description": "Sum of `raised` (USD) across all rounds in the bucket with disclosed raise.",
            "example": "125000000",
            "type": "string"
          }
        },
        "required": [
          "date",
          "totalRaised",
          "roundsCount",
          "avgRoundSize",
          "medianRoundSize"
        ],
        "type": "object"
      },
      "GainersVsLosersDto": {
        "properties": {
          "gainers": {
            "description": "Number of coins on the blockchain whose price rose in the last 24 hours",
            "example": 142,
            "type": "number"
          },
          "losers": {
            "description": "Number of coins on the blockchain whose price fell in the last 24 hours",
            "example": 87,
            "type": "number"
          }
        },
        "required": [
          "gainers",
          "losers"
        ],
        "type": "object"
      },
      "GlobalAltcoinIndexResponseDto": {
        "properties": {
          "classification": {
            "description": "Classification by value: Bitcoin Season (≤25), Neutral (26–74), Altcoin Season (≥75)",
            "enum": [
              "Bitcoin Season",
              "Neutral",
              "Altcoin Season"
            ],
            "example": "Altcoin Season",
            "type": "string"
          },
          "currentValue": {
            "description": "Current value, 0–100",
            "example": 71,
            "type": "number"
          },
          "lastMonthValue": {
            "description": "Value 30 days ago, 0–100",
            "example": 42,
            "nullable": true,
            "type": "number"
          },
          "lastWeekValue": {
            "description": "Value 7 days ago, 0–100",
            "example": 55,
            "nullable": true,
            "type": "number"
          },
          "yearlyHighDate": {
            "description": "Date of the yearly high. ISO 8601",
            "example": "2025-11-15T00:00:00.000Z",
            "type": "string"
          },
          "yearlyHighValue": {
            "description": "Highest value over the last year, 0–100",
            "example": 89,
            "type": "number"
          },
          "yearlyLowDate": {
            "description": "Date of the yearly low. ISO 8601",
            "example": "2025-03-10T00:00:00.000Z",
            "type": "string"
          },
          "yearlyLowValue": {
            "description": "Lowest value over the last year, 0–100",
            "example": 12,
            "type": "number"
          },
          "yesterdayValue": {
            "description": "Value 1 day ago, 0–100",
            "example": 68,
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "currentValue",
          "classification",
          "yesterdayValue",
          "lastWeekValue",
          "lastMonthValue",
          "yearlyHighValue",
          "yearlyHighDate",
          "yearlyLowValue",
          "yearlyLowDate"
        ],
        "type": "object"
      },
      "GlobalDominanceResponseDto": {
        "properties": {
          "btcDominance": {
            "description": "BTC share of total market cap, %",
            "example": 56.3,
            "type": "number"
          },
          "btcDominanceChangePercent24h": {
            "description": "BTC dominance change over 24h, %",
            "example": -1.18,
            "type": "number"
          },
          "ethDominance": {
            "description": "ETH share of total market cap, %",
            "example": 9.44,
            "type": "number"
          },
          "ethDominanceChangePercent24h": {
            "description": "ETH dominance change over 24h, %",
            "example": -1.37,
            "type": "number"
          },
          "othersDominance": {
            "description": "Share of all coins excluding BTC and ETH, %",
            "example": 34.26,
            "type": "number"
          }
        },
        "required": [
          "btcDominance",
          "btcDominanceChangePercent24h",
          "ethDominance",
          "ethDominanceChangePercent24h",
          "othersDominance"
        ],
        "type": "object"
      },
      "GlobalFearGreedResponseDto": {
        "properties": {
          "classification": {
            "description": "Classification by value: Extreme Fear (0–25), Fear (26–45), Neutral (46–55), Greed (56–75), Extreme Greed (76–100)",
            "enum": [
              "Extreme Fear",
              "Fear",
              "Neutral",
              "Greed",
              "Extreme Greed"
            ],
            "example": "Greed",
            "type": "string"
          },
          "currentValue": {
            "description": "Current value, 0–100",
            "example": 64,
            "type": "number"
          }
        },
        "required": [
          "currentValue",
          "classification"
        ],
        "type": "object"
      },
      "GlobalMarketResponseDto": {
        "properties": {
          "activeCurrencies": {
            "description": "Number of actively traded coins (with a live price and active trading pairs)",
            "example": 5036,
            "type": "number"
          },
          "activeExchanges": {
            "description": "Number of exchanges active in the last 24h",
            "example": 288,
            "type": "number"
          },
          "activeTickers": {
            "description": "Number of trading pairs active in the last 24h",
            "example": 47711,
            "type": "number"
          },
          "btcMarketCap": {
            "description": "BTC market cap, USD",
            "example": "1337732842621",
            "type": "string"
          },
          "ethMarketCap": {
            "description": "ETH market cap, USD",
            "example": "223997784796",
            "type": "string"
          },
          "marketCapChangePercent24h": {
            "description": "Total market cap change over 24h, % (rounded to 2 decimals)",
            "example": 1.42,
            "type": "number"
          },
          "totalMarketCap": {
            "description": "Total market cap of the whole market, USD",
            "example": "2374270986288",
            "type": "string"
          },
          "totalVolume24h": {
            "description": "Total 24h spot trading volume (excluding derivatives exchanges), USD",
            "example": "120536367778",
            "type": "string"
          }
        },
        "required": [
          "totalMarketCap",
          "totalVolume24h",
          "btcMarketCap",
          "ethMarketCap",
          "activeCurrencies",
          "activeTickers",
          "activeExchanges",
          "marketCapChangePercent24h"
        ],
        "type": "object"
      },
      "LaunchpadByIdDto": {
        "properties": {
          "athRoi": {
            "description": "Average all-time-high ROI across sales over the last year, as a multiplier (e.g. 1.11×). Null when not computable.",
            "example": 7.32,
            "nullable": true,
            "type": "number"
          },
          "blockchains": {
            "description": "Supported blockchains.",
            "example": [
              "Ethereum",
              "BNB Chain"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "currentRoi": {
            "description": "Average current ROI across sales over the last year, as a multiplier (e.g. 1.11×). Null when not computable.",
            "example": 1.84,
            "nullable": true,
            "type": "number"
          },
          "description": {
            "description": "Launchpad description.",
            "nullable": true,
            "type": "string"
          },
          "foundedDate": {
            "description": "Foundation date (ISO 8601 UTC). Null when unknown.",
            "example": "2018-07-01T00:00:00.000Z",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "Unique numeric identifier.",
            "example": 1,
            "type": "number"
          },
          "imageUrl": {
            "description": "Logo image URL (150×150). Null when no image is available.",
            "example": "https://images.cryptorank.io/ido-platforms/150x150.binance.png",
            "nullable": true,
            "type": "string"
          },
          "latestSaleDate": {
            "description": "Date of the most recent sale (ISO 8601 UTC). Null when none.",
            "example": "2026-04-12T00:00:00.000Z",
            "nullable": true,
            "type": "string"
          },
          "links": {
            "description": "Related links — website, whitepaper, github, socials, etc.",
            "items": {
              "$ref": "#/components/schemas/LinkDto"
            },
            "type": "array"
          },
          "name": {
            "description": "Display name.",
            "example": "Binance Launchpad",
            "type": "string"
          },
          "nativeTokenMarketCap": {
            "description": "Native token market cap, USD. Null when no native token or unpriced.",
            "example": "95000000000",
            "nullable": true,
            "type": "string"
          },
          "nativeTokenVolume24h": {
            "description": "Native token 24h trading volume, USD. Null when no native token or unpriced.",
            "example": "1800000000",
            "nullable": true,
            "type": "string"
          },
          "popularCategories": {
            "description": "Most frequent project categories (up to 5) across sales over the last year.",
            "items": {
              "$ref": "#/components/schemas/CurrencyCategoryDto"
            },
            "type": "array"
          },
          "rank": {
            "description": "Launchpad rank over the last year. Null when not ranked.",
            "example": 12,
            "nullable": true,
            "type": "number"
          },
          "rules": {
            "description": "Launchpad rules.",
            "nullable": true,
            "type": "string"
          },
          "salesCount": {
            "description": "Number of token sales hosted over the last year.",
            "example": 42,
            "type": "number"
          },
          "slug": {
            "description": "URL-friendly entity slug.",
            "example": "binance-launchpad",
            "type": "string"
          },
          "totalRaised": {
            "description": "Total raised across all sales over the last year, USD. Null when none.",
            "example": "12500000",
            "nullable": true,
            "type": "string"
          },
          "type": {
            "description": "Launchpad type.",
            "enum": [
              "IDO",
              "IEO",
              "ICO"
            ],
            "example": "IDO",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "type",
          "imageUrl",
          "rank",
          "currentRoi",
          "athRoi",
          "blockchains",
          "popularCategories",
          "description",
          "rules",
          "links",
          "foundedDate",
          "salesCount",
          "latestSaleDate",
          "totalRaised",
          "nativeTokenMarketCap",
          "nativeTokenVolume24h"
        ],
        "type": "object"
      },
      "LaunchpadListItemDto": {
        "properties": {
          "avgRoi": {
            "description": "Average all-time-high ROI across sales over the last year, as a multiplier (ATH price / sale price). Null when not computable.",
            "example": 7.32,
            "nullable": true,
            "type": "number"
          },
          "id": {
            "description": "Unique numeric identifier.",
            "example": 1,
            "type": "number"
          },
          "imageUrl": {
            "description": "Logo image URL (150×150). Null when no image is available.",
            "example": "https://images.cryptorank.io/ido-platforms/150x150.binance.png",
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "Display name.",
            "example": "Binance Launchpad",
            "type": "string"
          },
          "rank": {
            "description": "Launchpad rank over the last year. Null when not ranked.",
            "example": 12,
            "nullable": true,
            "type": "number"
          },
          "salesCount": {
            "description": "Number of token sales hosted over the last year.",
            "example": 42,
            "type": "number"
          },
          "slug": {
            "description": "URL-friendly entity slug.",
            "example": "binance-launchpad",
            "type": "string"
          },
          "totalRaised": {
            "description": "Total raised across all sales over the last year, USD. Null when none.",
            "example": "12500000",
            "nullable": true,
            "type": "string"
          },
          "type": {
            "description": "Launchpad type.",
            "enum": [
              "IDO",
              "IEO",
              "ICO"
            ],
            "example": "IDO",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "type",
          "imageUrl",
          "rank",
          "salesCount",
          "avgRoi",
          "totalRaised"
        ],
        "type": "object"
      },
      "LaunchpadMapItemDto": {
        "properties": {
          "id": {
            "description": "Unique numeric identifier",
            "example": 1,
            "type": "number"
          },
          "name": {
            "description": "Display name",
            "example": "Binance Launchpad",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly entity slug",
            "example": "binance-launchpad",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name"
        ],
        "type": "object"
      },
      "LinkDto": {
        "properties": {
          "type": {
            "enum": [
              "referral",
              "web",
              "twitter",
              "reddit",
              "slack",
              "discord",
              "blog",
              "github",
              "gitlab",
              "linkedin",
              "facebook",
              "google+",
              "explorer",
              "weibo",
              "chat",
              "messageboard",
              "wechat",
              "telegram",
              "medium",
              "announcement",
              "youtube",
              "fees",
              "whitepaper",
              "gitbook",
              "farcaster"
            ],
            "example": "twitter",
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "value"
        ],
        "type": "object"
      },
      "ListMetaDto": {
        "properties": {
          "hasNextPage": {
            "description": "Whether a further page of results exists",
            "example": true,
            "type": "boolean"
          },
          "page": {
            "description": "Current page number (1-based)",
            "example": 1,
            "type": "number"
          },
          "pageSize": {
            "description": "Fixed number of items per page for this endpoint (varies per endpoint)",
            "example": 25,
            "type": "number"
          }
        },
        "required": [
          "page",
          "pageSize",
          "hasNextPage"
        ],
        "type": "object"
      },
      "NewsFeedAssignedFundDto": {
        "properties": {
          "id": {
            "description": "Fund id.",
            "example": 12,
            "type": "number"
          },
          "name": {
            "description": "Display name.",
            "example": "Pantera Capital",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly fund slug.",
            "example": "pantera-capital",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "slug"
        ],
        "type": "object"
      },
      "NewsFeedAssignedTokenDto": {
        "properties": {
          "id": {
            "description": "Unique currency identifier.",
            "example": 1,
            "type": "number"
          },
          "name": {
            "description": "Display name.",
            "example": "Bitcoin",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly currency slug.",
            "example": "bitcoin",
            "type": "string"
          },
          "symbol": {
            "description": "Currency ticker symbol.",
            "example": "BTC",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "symbol"
        ],
        "type": "object"
      },
      "NewsFeedItemDto": {
        "properties": {
          "assignedFunds": {
            "description": "Funds referenced by the article.",
            "items": {
              "$ref": "#/components/schemas/NewsFeedAssignedFundDto"
            },
            "type": "array"
          },
          "assignedTokens": {
            "description": "Currencies referenced by the article.",
            "items": {
              "$ref": "#/components/schemas/NewsFeedAssignedTokenDto"
            },
            "type": "array"
          },
          "hasMainText": {
            "description": "True when a full article body is available — fetch it from `GET /news/{id}/main-text`. False for headline-only items.",
            "example": true,
            "type": "boolean"
          },
          "heroText": {
            "description": "Short preview / lead text. Null when the source did not provide one.",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "example": 1234567,
            "type": "number"
          },
          "language": {
            "description": "Article language. Null when the source did not declare one.",
            "enum": [
              "en",
              "ru",
              "es",
              "zh",
              "tr",
              "vi",
              "pt",
              "ko"
            ],
            "example": "en",
            "nullable": true,
            "type": "string"
          },
          "previewImage": {
            "description": "Preview image URL. Null when the article has no image.",
            "example": "https://img.cryptorank.io/news/abc.jpg",
            "nullable": true,
            "type": "string"
          },
          "publishedDate": {
            "description": "Publication timestamp (ISO 8601).",
            "example": "2024-01-01T12:34:56.000Z",
            "type": "string"
          },
          "source": {
            "description": "Source name.",
            "example": "CoinDesk",
            "type": "string"
          },
          "sourceUrl": {
            "description": "Link to the original article. Null when the source URL is unavailable.",
            "example": "https://www.coindesk.com/markets/2024/01/01/btc-ath",
            "nullable": true,
            "type": "string"
          },
          "tags": {
            "description": "Tags associated with the news item. Each item carries an `id` (usable as the `tag` filter), a URL-friendly `key` slug and a display `name`.",
            "items": {
              "$ref": "#/components/schemas/NewsFeedTagDto"
            },
            "type": "array"
          },
          "title": {
            "example": "Bitcoin breaks new all-time high",
            "type": "string"
          }
        },
        "required": [
          "id",
          "title",
          "heroText",
          "source",
          "sourceUrl",
          "previewImage",
          "publishedDate",
          "language",
          "hasMainText",
          "tags",
          "assignedTokens",
          "assignedFunds"
        ],
        "type": "object"
      },
      "NewsFeedTagDto": {
        "properties": {
          "id": {
            "description": "Tag id — pass to the `tag` query param to filter.",
            "example": 5,
            "type": "number"
          },
          "key": {
            "description": "URL-friendly tag slug.",
            "example": "defi",
            "type": "string"
          },
          "name": {
            "description": "Display name.",
            "example": "DeFi",
            "type": "string"
          }
        },
        "required": [
          "id",
          "key",
          "name"
        ],
        "type": "object"
      },
      "NewsMainTextDto": {
        "properties": {
          "id": {
            "description": "Unique news identifier.",
            "example": 1234567,
            "type": "number"
          },
          "mainText": {
            "description": "Full article body (may contain HTML). Null when the article has no body (headline-only item) — fetch only when the feed reported `hasMainText: true`.",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "mainText"
        ],
        "type": "object"
      },
      "PercentChangeDto": {
        "properties": {
          "d30": {
            "description": "Price change over the last 30 days, %. Null when unavailable.",
            "example": 12.34,
            "nullable": true,
            "type": "number"
          },
          "d7": {
            "description": "Price change over the last 7 days, %. Null when unavailable.",
            "example": -4.56,
            "nullable": true,
            "type": "number"
          },
          "h24": {
            "description": "Price change over the last 24 hours, %. Null when unavailable.",
            "example": 1.23,
            "nullable": true,
            "type": "number"
          },
          "m3": {
            "description": "Price change over the last ~3 months (≈90 days), %. Null when unavailable.",
            "example": 8.9,
            "nullable": true,
            "type": "number"
          },
          "ytd": {
            "description": "Price change year-to-date, %. Null when unavailable.",
            "example": 50.12,
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "h24",
          "d7",
          "d30",
          "m3",
          "ytd"
        ],
        "type": "object"
      },
      "PersonByIdDto": {
        "properties": {
          "categories": {
            "description": "Person categories",
            "items": {
              "$ref": "#/components/schemas/PersonCategoryDto"
            },
            "type": "array"
          },
          "description": {
            "description": "Short description",
            "example": "Co-founder of Ethereum.",
            "nullable": true,
            "type": "string"
          },
          "fundingRoundsCount": {
            "description": "Number of related funding rounds",
            "example": 34,
            "type": "number"
          },
          "id": {
            "description": "Unique person identifier",
            "example": 1,
            "type": "number"
          },
          "imageUrl": {
            "description": "Photo image URL, 150x150",
            "example": "https://img.cryptorank.io/persons/150x150.vitalik.png",
            "nullable": true,
            "type": "string"
          },
          "links": {
            "description": "Personal and social links",
            "items": {
              "$ref": "#/components/schemas/LinkDto"
            },
            "type": "array"
          },
          "name": {
            "description": "Display name",
            "example": "Vitalik Buterin",
            "type": "string"
          },
          "primaryPosition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PersonPrimaryPositionDto"
              }
            ],
            "description": "Current primary position",
            "nullable": true,
            "type": "object"
          },
          "projectsCount": {
            "description": "Total number of projects this person is associated with",
            "example": 12,
            "type": "number"
          },
          "slug": {
            "description": "URL-friendly identifier",
            "example": "vitalik-buterin",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "imageUrl",
          "categories",
          "description",
          "links",
          "primaryPosition",
          "projectsCount",
          "fundingRoundsCount"
        ],
        "type": "object"
      },
      "PersonCategoryDto": {
        "properties": {
          "description": {
            "description": "Category description",
            "example": "Founder",
            "type": "string"
          },
          "id": {
            "description": "Category identifier",
            "example": 3,
            "type": "number"
          },
          "name": {
            "description": "Category name",
            "example": "Founder",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly category identifier",
            "example": "Founder",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "description"
        ],
        "type": "object"
      },
      "PersonEducationDto": {
        "properties": {
          "fieldOfStudy": {
            "description": "Field of study. Null when not recorded.",
            "example": "Computer Science",
            "nullable": true,
            "type": "string"
          },
          "institutionName": {
            "description": "Institution name",
            "example": "University of Waterloo",
            "type": "string"
          },
          "yearFrom": {
            "description": "Start year. Null when unknown.",
            "example": 2012,
            "nullable": true,
            "type": "number"
          },
          "yearTo": {
            "description": "End year. Null when unknown.",
            "example": 2013,
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "institutionName",
          "fieldOfStudy",
          "yearFrom",
          "yearTo"
        ],
        "type": "object"
      },
      "PersonListItemDto": {
        "properties": {
          "categories": {
            "description": "Person categories",
            "items": {
              "$ref": "#/components/schemas/PersonCategoryDto"
            },
            "type": "array"
          },
          "id": {
            "description": "Unique person identifier",
            "example": 1,
            "type": "number"
          },
          "name": {
            "description": "Display name",
            "example": "Vitalik Buterin",
            "type": "string"
          },
          "projectsCount": {
            "description": "Total number of projects this person is associated with",
            "example": 12,
            "type": "number"
          },
          "slug": {
            "description": "URL-friendly identifier",
            "example": "vitalik-buterin",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "categories",
          "projectsCount"
        ],
        "type": "object"
      },
      "PersonMapItemDto": {
        "properties": {
          "id": {
            "description": "Unique person identifier",
            "example": 1,
            "type": "number"
          },
          "name": {
            "description": "Display name",
            "example": "Vitalik Buterin",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly identifier",
            "example": "vitalik-buterin",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name"
        ],
        "type": "object"
      },
      "PersonPositionDto": {
        "properties": {
          "entityId": {
            "description": "Entity identifier",
            "example": 1,
            "type": "number"
          },
          "entityName": {
            "description": "Entity display name",
            "example": "Ethereum",
            "type": "string"
          },
          "entitySlug": {
            "description": "Entity URL-friendly identifier",
            "example": "ethereum",
            "type": "string"
          },
          "entityType": {
            "description": "Entity type",
            "enum": [
              "Currency",
              "Exchange",
              "Launchpad",
              "Fund"
            ],
            "example": "Currency",
            "type": "string"
          },
          "isCurrent": {
            "description": "True if an active (non-former) position",
            "example": true,
            "type": "boolean"
          },
          "jobs": {
            "description": "Roles held at the entity, ordered by seniority. Empty when no role is recorded.",
            "example": [
              "Co-Founder",
              "CTO"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "yearFrom": {
            "description": "Start year. Null when unknown.",
            "example": 2020,
            "nullable": true,
            "type": "number"
          },
          "yearTo": {
            "description": "End year. Null when unknown or the position is still active.",
            "example": 2022,
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "entityType",
          "entityId",
          "entitySlug",
          "entityName",
          "jobs",
          "yearFrom",
          "yearTo",
          "isCurrent"
        ],
        "type": "object"
      },
      "PersonPrimaryPositionDto": {
        "properties": {
          "entityId": {
            "description": "Primary position entity id",
            "example": 1,
            "type": "number"
          },
          "entityName": {
            "description": "Primary position entity display name",
            "example": "Ethereum",
            "type": "string"
          },
          "entitySlug": {
            "description": "Primary position entity slug",
            "example": "ethereum",
            "type": "string"
          },
          "entityType": {
            "description": "Primary position entity type",
            "enum": [
              "Currency",
              "Exchange",
              "Launchpad",
              "Fund"
            ],
            "example": "Currency",
            "type": "string"
          }
        },
        "required": [
          "entityType",
          "entityId",
          "entitySlug",
          "entityName"
        ],
        "type": "object"
      },
      "PingResponseDto": {
        "properties": {
          "serverTime": {
            "description": "Current server time. Unix timestamp in milliseconds",
            "example": 1780000000000,
            "type": "number"
          }
        },
        "required": [
          "serverTime"
        ],
        "type": "object"
      },
      "PublicSaleByIdDto": {
        "properties": {
          "athRoi": {
            "description": "All-time-high ROI vs sale price, as a multiplier (e.g. 5.4 = 5.4×). Null when the sale price or ATH price is unavailable.",
            "example": 5.4,
            "nullable": true,
            "type": "number"
          },
          "blockchains": {
            "description": "Blockchains associated with the sale. Empty array when none are assigned.",
            "example": [
              "Ethereum",
              "BNB Chain"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "category": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PublicSaleCategoryDto"
              }
            ],
            "description": "Coin primary category. Null when no category is assigned.",
            "nullable": true,
            "type": "object"
          },
          "currencyId": {
            "description": "Coin numeric identifier.",
            "example": 28,
            "type": "number"
          },
          "currencyName": {
            "description": "Display name.",
            "example": "Ethereum",
            "type": "string"
          },
          "currencySlug": {
            "description": "URL-friendly entity slug.",
            "example": "ethereum",
            "type": "string"
          },
          "currencySymbol": {
            "description": "Native token symbol (e.g. 'ETH', 'BNB').",
            "example": "ETH",
            "nullable": true,
            "type": "string"
          },
          "date": {
            "description": "Sale date (ISO 8601 UTC): start date for `upcoming`/`active` sales, end date for `past` sales. Null when unknown.",
            "example": "2024-08-15T00:00:00.000Z",
            "nullable": true,
            "type": "string"
          },
          "description": {
            "description": "Sale description. Null when no description is available.",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "Public sale ID.",
            "example": 1234,
            "type": "number"
          },
          "imageUrl": {
            "description": "Logo image URL, 150x150. Null when no image is available.",
            "example": "https://img.cryptorank.io/coins/150x150.ethereum1696248147028.png",
            "nullable": true,
            "type": "string"
          },
          "initialMarketCap": {
            "description": "Initial market cap at listing, USD (initial price × initial supply). Null when the initial price or supply is unknown.",
            "example": "40000000",
            "nullable": true,
            "type": "string"
          },
          "investors": {
            "description": "Participating funds & backers of the project (ordered by fund id ascending). Empty array when none are known.",
            "items": {
              "$ref": "#/components/schemas/PublicSaleInvestorDto"
            },
            "type": "array"
          },
          "launchpadId": {
            "description": "Sale launchpad ID. Null when sold outside a launchpad.",
            "example": 42,
            "nullable": true,
            "type": "number"
          },
          "launchpadName": {
            "description": "Launchpad name. Null when sold outside a launchpad.",
            "example": "CoinList",
            "nullable": true,
            "type": "string"
          },
          "listingDate": {
            "description": "Token listing date (ISO 8601 UTC). Populated only for `past` sales; null otherwise.",
            "example": "2024-10-01T00:00:00.000Z",
            "nullable": true,
            "type": "string"
          },
          "raised": {
            "description": "Total raised, USD. Null when undisclosed.",
            "example": "5000000",
            "nullable": true,
            "type": "string"
          },
          "roi": {
            "description": "Current ROI vs sale price, as a multiplier (e.g. 1.11 = 1.11×). Null when the sale price or current price is unavailable.",
            "example": 1.11,
            "nullable": true,
            "type": "number"
          },
          "salePrice": {
            "description": "Token price during the sale, USD. Null when undisclosed.",
            "example": "0.25",
            "nullable": true,
            "type": "string"
          },
          "status": {
            "description": "Sale lifecycle status: upcoming, active, past.",
            "enum": [
              "upcoming",
              "active",
              "past"
            ],
            "example": "past",
            "type": "string"
          },
          "tokensForSale": {
            "description": "Number of tokens offered in the sale. Null when undisclosed.",
            "example": "20000000",
            "nullable": true,
            "type": "string"
          },
          "type": {
            "description": "Sale format.",
            "enum": [
              "Angel",
              "ICO",
              "IEO",
              "IDO",
              "Node Sale",
              "KOL",
              "Private/Pre-sale",
              "Private",
              "Private 2",
              "Pre-sale",
              "Strategic",
              "Strategic 2",
              "Pre-Seed",
              "Seed"
            ],
            "example": "IDO",
            "type": "string"
          },
          "valuation": {
            "description": "Project valuation at the sale, USD. Null when undisclosed.",
            "example": "150000000",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "currencyId",
          "currencyName",
          "currencySymbol",
          "currencySlug",
          "imageUrl",
          "type",
          "status",
          "date",
          "raised",
          "salePrice",
          "valuation",
          "initialMarketCap",
          "tokensForSale",
          "roi",
          "athRoi",
          "category",
          "launchpadId",
          "launchpadName",
          "blockchains",
          "listingDate",
          "investors",
          "description"
        ],
        "type": "object"
      },
      "PublicSaleCategoryDto": {
        "properties": {
          "id": {
            "example": 12,
            "type": "number"
          },
          "name": {
            "example": "DeFi",
            "type": "string"
          },
          "slug": {
            "example": "defi",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name"
        ],
        "type": "object"
      },
      "PublicSaleInvestorDto": {
        "properties": {
          "id": {
            "example": 1,
            "type": "number"
          },
          "imageUrl": {
            "description": "Absolute URL to the 150×150 fund logo. Null when unavailable.",
            "nullable": true,
            "type": "string"
          },
          "name": {
            "example": "Andreessen Horowitz",
            "type": "string"
          },
          "slug": {
            "example": "a16z",
            "type": "string"
          },
          "tier": {
            "description": "Editorial tier 1–5.",
            "example": 1,
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "tier",
          "imageUrl"
        ],
        "type": "object"
      },
      "PublicSaleListItemDto": {
        "properties": {
          "athRoi": {
            "description": "All-time-high ROI vs sale price, as a multiplier (e.g. 5.4 = 5.4×). Null when the sale price or ATH price is unavailable.",
            "example": 5.4,
            "nullable": true,
            "type": "number"
          },
          "blockchains": {
            "description": "Blockchains associated with the sale. Empty array when none are assigned.",
            "example": [
              "Ethereum",
              "BNB Chain"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "category": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PublicSaleCategoryDto"
              }
            ],
            "description": "Coin primary category. Null when no category is assigned.",
            "nullable": true,
            "type": "object"
          },
          "currencyId": {
            "description": "Coin numeric identifier.",
            "example": 28,
            "type": "number"
          },
          "currencyName": {
            "description": "Display name.",
            "example": "Ethereum",
            "type": "string"
          },
          "currencySlug": {
            "description": "URL-friendly entity slug.",
            "example": "ethereum",
            "type": "string"
          },
          "currencySymbol": {
            "description": "Native token symbol (e.g. 'ETH', 'BNB').",
            "example": "ETH",
            "nullable": true,
            "type": "string"
          },
          "currentMarketCap": {
            "description": "Current market cap, USD. Populated only for `past` sales; null otherwise.",
            "example": "300000000",
            "nullable": true,
            "type": "string"
          },
          "date": {
            "description": "Sale date (ISO 8601 UTC): start date for `upcoming`/`active` sales, end date for `past` sales. Null when unknown.",
            "example": "2024-08-15T00:00:00.000Z",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "Public sale ID.",
            "example": 1234,
            "type": "number"
          },
          "imageUrl": {
            "description": "Logo image URL, 150x150. Null when no image is available.",
            "example": "https://img.cryptorank.io/coins/150x150.ethereum1696248147028.png",
            "nullable": true,
            "type": "string"
          },
          "launchpadId": {
            "description": "Sale launchpad ID. Null when sold outside a launchpad.",
            "example": 42,
            "nullable": true,
            "type": "number"
          },
          "launchpadName": {
            "description": "Launchpad name. Null when sold outside a launchpad.",
            "example": "CoinList",
            "nullable": true,
            "type": "string"
          },
          "listingDate": {
            "description": "Token listing date (ISO 8601 UTC). Populated only for `past` sales; null otherwise.",
            "example": "2024-10-01T00:00:00.000Z",
            "nullable": true,
            "type": "string"
          },
          "listingPrice": {
            "description": "Token listing price, USD. Populated only for `past` sales; null otherwise.",
            "example": "0.40",
            "nullable": true,
            "type": "string"
          },
          "raised": {
            "description": "Total raised, USD. Null when undisclosed.",
            "example": "5000000",
            "nullable": true,
            "type": "string"
          },
          "roi": {
            "description": "Current ROI vs sale price, as a multiplier (e.g. 1.11 = 1.11×). Null when the sale price or current price is unavailable.",
            "example": 1.11,
            "nullable": true,
            "type": "number"
          },
          "salePrice": {
            "description": "Token price during the sale, USD. Null when undisclosed.",
            "example": "0.25",
            "nullable": true,
            "type": "string"
          },
          "status": {
            "description": "Sale lifecycle status: upcoming, active, past.",
            "enum": [
              "upcoming",
              "active",
              "past"
            ],
            "example": "past",
            "type": "string"
          },
          "totalRaised": {
            "description": "Total amount raised, USD — cumulative across all rounds (public sales, private funding, node sales). Null when no fundraising data is available.",
            "example": "125000000",
            "nullable": true,
            "type": "string"
          },
          "type": {
            "description": "Sale format.",
            "enum": [
              "Angel",
              "ICO",
              "IEO",
              "IDO",
              "Node Sale",
              "KOL",
              "Private/Pre-sale",
              "Private",
              "Private 2",
              "Pre-sale",
              "Strategic",
              "Strategic 2",
              "Pre-Seed",
              "Seed"
            ],
            "example": "IDO",
            "type": "string"
          },
          "valuation": {
            "description": "Project valuation at the sale, USD. Null when undisclosed.",
            "example": "150000000",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "currencyId",
          "currencyName",
          "currencySymbol",
          "currencySlug",
          "imageUrl",
          "type",
          "launchpadId",
          "date",
          "raised",
          "salePrice",
          "roi",
          "athRoi",
          "category",
          "status",
          "totalRaised",
          "valuation",
          "launchpadName",
          "blockchains",
          "listingDate",
          "listingPrice",
          "currentMarketCap"
        ],
        "type": "object"
      },
      "PublicSalesTrendPointDto": {
        "properties": {
          "date": {
            "description": "Bucket start (ISO 8601 UTC). For `1w` the bucket starts on Monday; for `1m` on the 1st.",
            "example": "2024-08-01T00:00:00.000Z",
            "type": "string"
          },
          "icoCount": {
            "description": "Number of `ICO` sales in the bucket with disclosed `raised` amount.",
            "example": 8,
            "type": "number"
          },
          "idoCount": {
            "description": "Number of `IDO` sales in the bucket with disclosed `raised` amount.",
            "example": 28,
            "type": "number"
          },
          "ieoCount": {
            "description": "Number of `IEO` sales in the bucket with disclosed `raised` amount.",
            "example": 6,
            "type": "number"
          },
          "salesCount": {
            "description": "Number of sales in the bucket with disclosed `raised` amount.",
            "example": 42,
            "type": "number"
          },
          "totalRaised": {
            "description": "Sum of `raised` (USD) across all sales in the bucket with disclosed raise.",
            "example": "125000000",
            "type": "string"
          }
        },
        "required": [
          "date",
          "totalRaised",
          "salesCount",
          "icoCount",
          "idoCount",
          "ieoCount"
        ],
        "type": "object"
      },
      "ResponseStatusDto": {
        "properties": {
          "timestamp": {
            "description": "Server time of the response. Unix timestamp in milliseconds",
            "example": 1780000000000,
            "type": "number"
          },
          "usedCredits": {
            "description": "Credits charged for this request",
            "example": 1,
            "type": "number"
          }
        },
        "required": [
          "usedCredits",
          "timestamp"
        ],
        "type": "object"
      },
      "StatusResponseDto": {
        "properties": {
          "credits": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CreditsDto"
              }
            ],
            "description": "Monthly and daily credit usage for the user"
          },
          "currentPeriodEnd": {
            "description": "End of the current credit period. ISO 8601",
            "example": "2026-06-11T07:38:09.723Z",
            "type": "string"
          },
          "currentPeriodStart": {
            "description": "Start of the current credit period, inclusive. ISO 8601",
            "example": "2026-05-11T07:38:09.723Z",
            "type": "string"
          },
          "endpoints": {
            "description": "API endpoints available on the current plan, as path templates",
            "example": [
              "/v3/currencies/list",
              "/v3/currencies/map",
              "/v3/currencies/{id}",
              "/v3/global/market"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "plan": {
            "description": "Subscription plan name",
            "example": "Business",
            "type": "string"
          },
          "rateLimitPerMinute": {
            "description": "User's current rate limit, requests per minute",
            "example": 200,
            "type": "number"
          }
        },
        "required": [
          "plan",
          "rateLimitPerMinute",
          "credits",
          "currentPeriodStart",
          "currentPeriodEnd",
          "endpoints"
        ],
        "type": "object"
      },
      "TickerItemDto": {
        "properties": {
          "ask": {
            "description": "Lowest ask price in the quote currency. Null when the exchange does not report it.",
            "example": "65000.6",
            "nullable": true,
            "type": "string"
          },
          "baseSymbol": {
            "description": "Symbol of the base asset.",
            "example": "BTC",
            "type": "string"
          },
          "bid": {
            "description": "Highest bid price in the quote currency. Null when the exchange does not report it.",
            "example": "65000.4",
            "nullable": true,
            "type": "string"
          },
          "exchangeId": {
            "description": "Exchange id.",
            "example": 200,
            "type": "number"
          },
          "exchangeName": {
            "example": "Binance",
            "type": "string"
          },
          "exchangeType": {
            "description": "Kind of the market the pair trades on.",
            "enum": [
              "cex-spot",
              "cex-derivatives",
              "dex-spot",
              "dex-derivatives"
            ],
            "example": "cex-spot",
            "type": "string"
          },
          "high24hUsd": {
            "description": "24h high normalized to USD. Null when unavailable.",
            "example": "65500",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "Ticker id — stable identifier of the trading pair; default sort key.",
            "example": 12345,
            "type": "number"
          },
          "lastPrice": {
            "description": "Last price in the quote currency.",
            "example": "65000.5",
            "type": "string"
          },
          "lastUpdated": {
            "description": "Last ticker update, ISO 8601 UTC.",
            "example": "2026-05-15T12:34:56.000Z",
            "type": "string"
          },
          "low24hUsd": {
            "description": "24h low normalized to USD. Null when unavailable.",
            "example": "64000",
            "nullable": true,
            "type": "string"
          },
          "open24h": {
            "description": "Price 24h ago in the quote currency — the base of priceChangePercent24h. Null when the exchange does not report it.",
            "example": "64200.1",
            "nullable": true,
            "type": "string"
          },
          "priceChangePercent24h": {
            "description": "24h change as a percent (open → last). Null when open price is unavailable.",
            "example": 1.23,
            "nullable": true,
            "type": "number"
          },
          "priceUsd": {
            "description": "Last price normalized to USD. Null when USD normalization is unavailable.",
            "example": "65000.5",
            "nullable": true,
            "type": "string"
          },
          "quoteSymbol": {
            "description": "Symbol of the quote asset the price is denominated in.",
            "example": "USDT",
            "type": "string"
          },
          "spread": {
            "description": "Bid-ask spread as a percent: (ask − bid) / ask × 100. Null when bid/ask is unavailable. A crossed quote (bid above ask) reports 0.",
            "example": 0.05,
            "nullable": true,
            "type": "number"
          },
          "tradeUrl": {
            "description": "Direct link to the trading pair on the exchange. Null when unavailable.",
            "example": "https://www.binance.com/en/trade/BTC_USDT",
            "nullable": true,
            "type": "string"
          },
          "volume24hBase": {
            "description": "24h trade volume denominated in the base asset.",
            "example": "192.3077",
            "type": "string"
          },
          "volume24hUsd": {
            "description": "24h trade volume in USD. Null when USD normalization is unavailable.",
            "example": "12500000",
            "nullable": true,
            "type": "string"
          },
          "volumeShare": {
            "description": "Share of the total 24h volume (percent), ignoring filters: of the coin when currencyId is set, of the exchange when only exchangeId is set. Null when neither filter is set.",
            "example": 12.34,
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "id",
          "exchangeId",
          "exchangeName",
          "exchangeType",
          "baseSymbol",
          "quoteSymbol",
          "lastPrice",
          "priceUsd",
          "priceChangePercent24h",
          "open24h",
          "high24hUsd",
          "low24hUsd",
          "bid",
          "ask",
          "spread",
          "volume24hUsd",
          "volume24hBase",
          "volumeShare",
          "tradeUrl",
          "lastUpdated"
        ],
        "type": "object"
      },
      "TokenUnlocksDynamicsByCategoryPointDto": {
        "properties": {
          "breakdown": {
            "description": "Per-category split of `totalUnlockValue`, ordered by value descending, with the `uncategorized` entry last.",
            "items": {
              "$ref": "#/components/schemas/UnlockCategoryBreakdownItemDto"
            },
            "type": "array"
          },
          "date": {
            "description": "Bucket start (ISO 8601 UTC). For `1w` the bucket starts on Monday; for `1m` on the 1st.",
            "example": "2026-08-01T00:00:00.000Z",
            "type": "string"
          },
          "totalUnlockValue": {
            "description": "Total unlock value within the bucket, in the `convert` currency.",
            "example": "1250000000",
            "type": "string"
          }
        },
        "required": [
          "date",
          "totalUnlockValue",
          "breakdown"
        ],
        "type": "object"
      },
      "TokenUnlocksDynamicsByTokenPointDto": {
        "properties": {
          "breakdown": {
            "description": "Per-token split of `totalUnlockValue`, ordered by value descending, with the `others` entry last.",
            "items": {
              "$ref": "#/components/schemas/UnlockTokenBreakdownItemDto"
            },
            "type": "array"
          },
          "date": {
            "description": "Bucket start (ISO 8601 UTC). For `1w` the bucket starts on Monday; for `1m` on the 1st.",
            "example": "2026-08-01T00:00:00.000Z",
            "type": "string"
          },
          "totalUnlockValue": {
            "description": "Total unlock value within the bucket, in the `convert` currency.",
            "example": "1250000000",
            "type": "string"
          }
        },
        "required": [
          "date",
          "totalUnlockValue",
          "breakdown"
        ],
        "type": "object"
      },
      "TokenUnlocksDynamicsPointDto": {
        "properties": {
          "date": {
            "description": "Bucket start (ISO 8601 UTC). For `1w` the bucket starts on Monday; for `1m` on the 1st.",
            "example": "2026-08-01T00:00:00.000Z",
            "type": "string"
          },
          "totalUnlockValue": {
            "description": "Total unlock value within the bucket, in the `convert` currency.",
            "example": "1250000000",
            "type": "string"
          }
        },
        "required": [
          "date",
          "totalUnlockValue"
        ],
        "type": "object"
      },
      "UnlockCategoryBreakdownItemDto": {
        "properties": {
          "id": {
            "description": "Category ID, usable as `categoryId` elsewhere. Null for the uncategorized cut.",
            "example": 54,
            "nullable": true,
            "type": "number"
          },
          "key": {
            "description": "Category slug, or `uncategorized` for coins without a category.",
            "example": "gamefi",
            "type": "string"
          },
          "name": {
            "description": "Category name, or `Uncategorized` for coins without a category.",
            "example": "GameFi",
            "type": "string"
          },
          "unlockValue": {
            "description": "Unlock value of this category within the bucket, in the `convert` currency.",
            "example": "48200000",
            "type": "string"
          }
        },
        "required": [
          "id",
          "key",
          "name",
          "unlockValue"
        ],
        "type": "object"
      },
      "UnlockTokenBreakdownItemDto": {
        "properties": {
          "id": {
            "description": "Coin ID, usable as `currencyId` elsewhere. Null for the `others` cut.",
            "example": 1054,
            "nullable": true,
            "type": "number"
          },
          "key": {
            "description": "Coin slug, or `others` for everything outside the top-N.",
            "example": "arbitrum",
            "type": "string"
          },
          "name": {
            "description": "Coin name, or `Others` for everything outside the top-N.",
            "example": "Arbitrum",
            "type": "string"
          },
          "unlockValue": {
            "description": "Unlock value of this token within the bucket, in the `convert` currency.",
            "example": "48200000",
            "type": "string"
          }
        },
        "required": [
          "id",
          "key",
          "name",
          "unlockValue"
        ],
        "type": "object"
      },
      "VcPressureInvestorDto": {
        "properties": {
          "id": {
            "description": "Investor fund identifier in cryptorank.",
            "example": 5,
            "type": "number"
          },
          "imageUrl": {
            "description": "Investor logo image URL, 150×150. Null when no image is available.",
            "example": "https://images.cryptorank.io/funds/150x150.a16z.png",
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "Investor name.",
            "example": "Andreessen Horowitz",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly investor slug.",
            "example": "a16z",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "imageUrl"
        ],
        "type": "object"
      },
      "VcPressureUnlockDto": {
        "properties": {
          "total": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VcPressureUnlockPartDto"
              }
            ],
            "description": "The full upcoming unlock across all recipients."
          },
          "vc": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VcPressureUnlockPartDto"
              }
            ],
            "description": "The share of the upcoming unlock allocated to investors (VC)."
          }
        },
        "required": [
          "total",
          "vc"
        ],
        "type": "object"
      },
      "VcPressureUnlockPartDto": {
        "properties": {
          "percent": {
            "description": "Unlocked amount as a percent of circulating supply.",
            "example": 1.85,
            "type": "number"
          },
          "tokens": {
            "description": "Unlocked amount (raw token units).",
            "example": "1350000",
            "type": "string"
          },
          "usd": {
            "description": "Value of the unlocked amount, USD.",
            "example": "4200000",
            "type": "string"
          }
        },
        "required": [
          "percent",
          "usd",
          "tokens"
        ],
        "type": "object"
      }
    },
    "securitySchemes": {
      "X-Api-Key": {
        "in": "header",
        "name": "X-Api-Key",
        "type": "apiKey"
      }
    }
  },
  "info": {
    "contact": {
      "email": "info@cryptorank.io",
      "name": "Cryptorank Team",
      "url": "https://cryptorank.io"
    },
    "description": "# Overview\n\nCryptorank Public API v3 — comprehensive cryptocurrency data for B2B clients and partners.\n\nUseful Links:\n- [API Plans](https://cryptorank.io/public-api)\n- [Dashboard](https://cryptorank.io/public-api/dashboard)\n\n# Getting Started\n\nPrimary Server URL: [https://api.cryptorank.io/v3/](https://api.cryptorank.io/v3/)\n\n**Authentication**\n\nGenerate an API key in the [dashboard](https://cryptorank.io/public-api/dashboard) and pass it in the `X-Api-Key` header.\n\nKeep your keys secret — never commit them to public repositories or expose them in client-side code.\n",
    "title": "Cryptorank API V3",
    "version": "3.0.0"
  },
  "openapi": "3.0.0",
  "paths": {
    "/v3/blockchains/list": {
      "get": {
        "description": "**Description**\n\nReturns all supported blockchains with their market metrics.\n\n**Access**\n- Available from: **Sandbox**\n- Cost: 1 credit per request",
        "operationId": "BlockchainsController_getList",
        "parameters": [
          {
            "description": "Page number (1-based). Returns up to 100 items per page.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "maximum": 1000,
              "minimum": 1,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/BlockchainListItemDto"
                      },
                      "type": "array"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/ListMetaDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "meta",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Blockchain List with Market Data",
        "tags": [
          "Blockchains"
        ],
        "x-mint": {
          "metadata": {
            "description": "Returns all supported blockchains with their market metrics.<br/><br/>Available from&#58; <Badge color=\"gray\">Sandbox</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/blockchains/map": {
      "get": {
        "description": "**Description**\n\nReturns a lightweight list of all supported blockchains with their IDs.\n\n> **Tip:** Use as a lookup table to resolve blockchain identifiers for other endpoints.\n\n**Access**\n- Available from: **Sandbox**\n- Cost: 1 credit per request",
        "operationId": "BlockchainsController_getMap",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/BlockchainMapItemDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Blockchain Map (ID Reference)",
        "tags": [
          "Blockchains"
        ],
        "x-mint": {
          "content": "<Tip>\nUse as a lookup table to resolve blockchain identifiers for other endpoints.\n</Tip>",
          "metadata": {
            "description": "Returns a lightweight list of all supported blockchains with their IDs.<br/><br/>Available from&#58; <Badge color=\"gray\">Sandbox</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/blockchains/{id}": {
      "get": {
        "description": "**Description**\n\nReturns the full profile of a single blockchain by its ID.\n\n> **Note:** Resolve IDs via [/blockchains/map](https://docs.cryptorank.io/api-reference/blockchains/blockchain-map-id-reference). TVL history is served separately via [/blockchains/:id/tvl/chart](https://docs.cryptorank.io/api-reference/blockchains/blockchain-tvl-chart).\n\n**Access**\n- Available from: **Sandbox**\n- Cost: 1 credit per request",
        "operationId": "BlockchainsController_getById",
        "parameters": [
          {
            "description": "Blockchain ID. See: [GET /v3/blockchains/map](https://docs.cryptorank.io/api-reference/blockchains/blockchain-map-id-reference).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 3,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/BlockchainDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Blockchain not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Blockchain Profile",
        "tags": [
          "Blockchains"
        ],
        "x-mint": {
          "content": "<Note>\nResolve IDs via [/blockchains/map](https://docs.cryptorank.io/api-reference/blockchains/blockchain-map-id-reference). TVL history is served separately via [/blockchains/:id/tvl/chart](https://docs.cryptorank.io/api-reference/blockchains/blockchain-tvl-chart).\n</Note>",
          "metadata": {
            "description": "Returns the full profile of a single blockchain by its ID.<br/><br/>Available from&#58; <Badge color=\"gray\">Sandbox</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/blockchains/{id}/tvl/change": {
      "get": {
        "description": "**Description**\n\nReturns the percentage change in TVL for the specified blockchain over the selected period.\n\n> **Note:** Fixed interval: 1d. Available periods: 7d, 30d, 6m, 1y, ytd, all (default 30d).\n\n**Access**\n- Available from: **Basic**\n- Cost: 1 credit per request",
        "operationId": "BlockchainsController_getTvlChange",
        "parameters": [
          {
            "description": "Blockchain ID. See: [GET /v3/blockchains/map](https://docs.cryptorank.io/api-reference/blockchains/blockchain-map-id-reference).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 3,
              "type": "integer"
            }
          },
          {
            "description": "Time window for the change calculation. `all` returns the deepest window your plan allows: Basic 1y, Advanced 2y, Pro 5y, Business 10y.",
            "in": "query",
            "name": "period",
            "required": false,
            "schema": {
              "default": "30d",
              "enum": [
                "7d",
                "30d",
                "6m",
                "1y",
                "ytd",
                "all"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/BlockchainTvlChangeResponseDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Blockchain not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Blockchain TVL Change",
        "tags": [
          "Blockchains"
        ],
        "x-mint": {
          "content": "<Note>\nFixed interval: 1d. Available periods: 7d, 30d, 6m, 1y, ytd, all (default 30d).\n</Note>",
          "metadata": {
            "description": "Returns the percentage change in TVL for the specified blockchain over the selected period.<br/><br/>Available from&#58; <Badge color=\"blue\">Basic</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/blockchains/{id}/tvl/chart": {
      "get": {
        "description": "**Description**\n\nReturns a time series of Total Value Locked (TVL) for the specified blockchain.\n\n> **Note:** Available periods: 7d, 30d, 6m, 1y, ytd, all (default 30d).\n\n**Access**\n- Available from: **Basic**\n- Cost: 1 credit per request",
        "operationId": "BlockchainsController_getTvlChart",
        "parameters": [
          {
            "description": "Blockchain ID. See: [GET /v3/blockchains/map](https://docs.cryptorank.io/api-reference/blockchains/blockchain-map-id-reference).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 3,
              "type": "integer"
            }
          },
          {
            "description": "Chart time range. `all` returns the deepest window your plan allows: Basic 1y, Advanced 2y, Pro 5y, Business 10y.",
            "in": "query",
            "name": "period",
            "required": false,
            "schema": {
              "default": "30d",
              "enum": [
                "7d",
                "30d",
                "6m",
                "1y",
                "ytd",
                "all"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/ChartTvlDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Blockchain not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Blockchain TVL Chart",
        "tags": [
          "Blockchains"
        ],
        "x-mint": {
          "content": "<Note>\nAvailable periods: 7d, 30d, 6m, 1y, ytd, all (default 30d).\n</Note>",
          "metadata": {
            "description": "Returns a time series of Total Value Locked (TVL) for the specified blockchain.<br/><br/>Available from&#58; <Badge color=\"blue\">Basic</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/currencies/categories": {
      "get": {
        "description": "**Description**\n\nReturns the full flat list of coin categories. Use it to resolve the categoryId values returned by other endpoints.\n\n> **Note:** Reference data, updated infrequently — safe to cache on your side. The list is flat (no hierarchy). A coin has at most one category, and may have none — treat a missing category as expected.\n\n**Access**\n- Available from: **Sandbox**\n- Cost: 1 credit per request",
        "operationId": "CurrenciesController_getCategories",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/CurrencyCategoryDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Coin Categories",
        "tags": [
          "Currencies"
        ],
        "x-mint": {
          "content": "<Note>\nReference data, updated infrequently — safe to cache on your side. The list is flat (no hierarchy). A coin has at most one category, and may have none — treat a missing category as expected.\n</Note>",
          "metadata": {
            "description": "Returns the full flat list of coin categories. Use it to resolve the categoryId values returned by other endpoints.<br/><br/>Available from&#58; <Badge color=\"gray\">Sandbox</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/currencies/derivatives": {
      "get": {
        "description": "**Description**\n\nReturns an aggregated, market-wide snapshot of crypto derivatives: open interest, derivatives volume, and related metrics across tracked exchanges.\n\n**Access**\n- Available from: **Advanced**\n- Cost: 1 credit per request",
        "operationId": "CurrenciesController_getDerivatives",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/CurrenciesDerivativesResponseDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Global Derivatives Snapshot",
        "tags": [
          "Currencies"
        ],
        "x-mint": {
          "metadata": {
            "description": "Returns an aggregated, market-wide snapshot of crypto derivatives: open interest, derivatives volume, and related metrics across tracked exchanges.<br/><br/>Available from&#58; <Badge color=\"green\">Advanced</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/currencies/gainers-losers": {
      "get": {
        "description": "**Description**\n\nReturns the top coins by price movement over the selected period.\n\n> **Note:** Default filters apply: minMarketCap=500000, minVolume24h=1000000.\n\n> **Tip:** Toggle between Gainers and Losers via group (default gainers).\n\n**Access**\n- Available from: **Basic**\n- Cost: 1 credit per request",
        "operationId": "CurrenciesController_getGainersLosers",
        "parameters": [
          {
            "description": "Period over which coins are ranked by price movement.",
            "in": "query",
            "name": "period",
            "required": false,
            "schema": {
              "default": "24h",
              "enum": [
                "24h",
                "7d",
                "30d"
              ],
              "type": "string"
            }
          },
          {
            "description": "`gainers` returns the biggest risers, `losers` the biggest fallers.",
            "in": "query",
            "name": "group",
            "required": false,
            "schema": {
              "default": "gainers",
              "enum": [
                "gainers",
                "losers"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by category id. See: [GET /v3/currencies/categories](https://docs.cryptorank.io/api-reference/currencies/coin-categories).",
            "in": "query",
            "name": "categoryId",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "description": "Minimum market cap filter, USD. Pass `0` to disable.",
            "in": "query",
            "name": "minMarketCap",
            "required": false,
            "schema": {
              "default": 500000,
              "minimum": 0,
              "type": "number"
            }
          },
          {
            "description": "Maximum market cap filter, USD.",
            "in": "query",
            "name": "maxMarketCap",
            "required": false,
            "schema": {
              "minimum": 0,
              "type": "number"
            }
          },
          {
            "description": "Minimum 24h volume filter, USD. Pass `0` to disable.",
            "in": "query",
            "name": "minVolume24h",
            "required": false,
            "schema": {
              "default": 1000000,
              "minimum": 0,
              "type": "number"
            }
          },
          {
            "description": "Maximum 24h volume filter, USD.",
            "in": "query",
            "name": "maxVolume24h",
            "required": false,
            "schema": {
              "minimum": 0,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/CurrencyGainerLoserItemDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Top Gainers & Losers",
        "tags": [
          "Currencies"
        ],
        "x-mint": {
          "content": "<Note>\nDefault filters apply: minMarketCap=500000, minVolume24h=1000000.\n</Note>\n\n<Tip>\nToggle between Gainers and Losers via group (default gainers).\n</Tip>",
          "metadata": {
            "description": "Returns the top coins by price movement over the selected period.<br/><br/>Available from&#58; <Badge color=\"blue\">Basic</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/currencies/historical": {
      "get": {
        "description": "**Description**\n\nMarket state of all tracked coins at a given point in time: price, market cap, volume and circulating supply.\n\n> **Note:** `storedTime` is the actual timestamp of the returned values, which may differ slightly from the requested `date`.\n\n> **Note:** A `date` deeper than your plan allows returns `403 PLAN_LIMIT_EXCEEDED` — Advanced 2y, Pro 5y, Business 10y.\n\n> **Tip:** For the history of a single coin use [/currencies/:id/sparkline](https://docs.cryptorank.io/api-reference/currencies/price-&-volume-chart).\n\n**Access**\n- Available from: **Advanced**\n- Cost: 1 credit per request",
        "operationId": "CurrenciesController_getHistorical",
        "parameters": [
          {
            "description": "Page number (1-based). Returns up to 100 items per page.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "maximum": 1000,
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "description": "Point in time to return market data for. Accepted: ISO 8601, bare date (YYYY-MM-DD), or Unix timestamp in seconds or milliseconds. Must not be in the future. Bounded by your plan's history limit — Advanced 2y, Pro 5y, Business 10y.",
            "in": "query",
            "name": "date",
            "required": true,
            "schema": {
              "example": "2024-01-15",
              "type": "string"
            }
          },
          {
            "description": "Comma-separated coin IDs, up to 100. See: [GET /v3/currencies/map](https://docs.cryptorank.io/api-reference/currencies/currency-map-id-reference).",
            "in": "query",
            "name": "currencyIds",
            "required": false,
            "schema": {
              "example": "1,1027",
              "type": "string"
            }
          },
          {
            "description": "Sort field: `id | rank | price | marketCap | volume24h`.",
            "in": "query",
            "name": "sortBy",
            "required": false,
            "schema": {
              "default": "rank",
              "enum": [
                "id",
                "rank",
                "price",
                "marketCap",
                "volume24h"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sort direction. For `rank`, `asc` puts top-1 first.",
            "in": "query",
            "name": "sortOrder",
            "required": false,
            "schema": {
              "default": "asc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          },
          {
            "description": "Fiat ISO code for monetary fields (e.g. USD, EUR, RUB, AED). See: [GET /v3/fiat/list](https://docs.cryptorank.io/api-reference/fiat/supported-fiat-currency-list).",
            "in": "query",
            "name": "convert",
            "required": false,
            "schema": {
              "default": "USD",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/CurrencyHistoricalItemDto"
                      },
                      "type": "array"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/ListMetaDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "meta",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Historical Market Data",
        "tags": [
          "Currencies"
        ],
        "x-mint": {
          "content": "<Note>\n`storedTime` is the actual timestamp of the returned values, which may differ slightly from the requested `date`.\n</Note>\n\n<Note>\nA `date` deeper than your plan allows returns `403 PLAN_LIMIT_EXCEEDED` — Advanced 2y, Pro 5y, Business 10y.\n</Note>\n\n<Tip>\nFor the history of a single coin use [/currencies/:id/sparkline](https://docs.cryptorank.io/api-reference/currencies/price-&-volume-chart).\n</Tip>",
          "metadata": {
            "description": "Market state of all tracked coins at a given point in time: price, market cap, volume and circulating supply.<br/><br/>Available from&#58; <Badge color=\"green\">Advanced</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/currencies/list": {
      "get": {
        "description": "**Description**\n\nReturns a paginated market table of cryptocurrencies with key market metrics, with sorting, pagination and filters by coin set, category, market cap and 24h volume.\n\n> **Note:** Supports conversion via the convert parameter. Market cap and volume filters always apply to USD values.\n\n> **Tip:** Pass `currencyIds` to fetch a specific watchlist in one call instead of paging the whole market. Resolve tickers to ids once via [/currencies/search](https://docs.cryptorank.io/api-reference/currencies/currency-search).\n\n> **Tip:** Filter to one ecosystem’s projects with `ecosystemId` — get IDs from [/ecosystems/list](https://docs.cryptorank.io/api-reference/ecosystems/ecosystems-map).\n\n**Access**\n- Available from: **Sandbox**\n- Cost: 1 credit per request",
        "operationId": "CurrenciesController_getList",
        "parameters": [
          {
            "description": "Page number (1-based). Returns up to 100 items per page.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "maximum": 1000,
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "description": "Sort field.",
            "in": "query",
            "name": "sortBy",
            "required": false,
            "schema": {
              "default": "id",
              "enum": [
                "id",
                "rank",
                "price",
                "marketCap",
                "volume24h",
                "priceChangePercent24h"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sort direction. For `rank`, `asc` puts top-1 first.",
            "in": "query",
            "name": "sortOrder",
            "required": false,
            "schema": {
              "default": "asc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          },
          {
            "description": "Fiat ISO code for monetary fields (e.g. USD, EUR, RUB, AED). See: [GET /v3/fiat/list](https://docs.cryptorank.io/api-reference/fiat/supported-fiat-currency-list).",
            "in": "query",
            "name": "convert",
            "required": false,
            "schema": {
              "default": "USD",
              "type": "string"
            }
          },
          {
            "description": "Filter to coins that are core projects of this ecosystem. See: [GET /v3/ecosystems/list](https://docs.cryptorank.io/api-reference/ecosystems/ecosystems-map).",
            "in": "query",
            "name": "ecosystemId",
            "required": false,
            "schema": {
              "example": 17,
              "type": "number"
            }
          },
          {
            "description": "Filter by coin tag. See: [GET /v3/currencies/tags](https://docs.cryptorank.io/api-reference/currencies/coin-tags).",
            "in": "query",
            "name": "tagId",
            "required": false,
            "schema": {
              "example": 12,
              "type": "number"
            }
          },
          {
            "description": "Comma-separated coin IDs, up to 100. Restricts the list to these coins; unknown IDs are skipped. Resolve tickers via See: [GET /v3/currencies/search](https://docs.cryptorank.io/api-reference/currencies/currency-search).",
            "in": "query",
            "name": "currencyIds",
            "required": false,
            "schema": {
              "example": "1,1027",
              "type": "string"
            }
          },
          {
            "description": "Filter by coin category. See: [GET /v3/currencies/categories](https://docs.cryptorank.io/api-reference/currencies/coin-categories).",
            "in": "query",
            "name": "categoryId",
            "required": false,
            "schema": {
              "example": 37,
              "type": "number"
            }
          },
          {
            "description": "Minimum market cap filter, USD.",
            "in": "query",
            "name": "minMarketCap",
            "required": false,
            "schema": {
              "minimum": 0,
              "type": "number"
            }
          },
          {
            "description": "Maximum market cap filter, USD.",
            "in": "query",
            "name": "maxMarketCap",
            "required": false,
            "schema": {
              "minimum": 0,
              "type": "number"
            }
          },
          {
            "description": "Minimum 24h volume filter, USD.",
            "in": "query",
            "name": "minVolume24h",
            "required": false,
            "schema": {
              "minimum": 0,
              "type": "number"
            }
          },
          {
            "description": "Maximum 24h volume filter, USD.",
            "in": "query",
            "name": "maxVolume24h",
            "required": false,
            "schema": {
              "minimum": 0,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/CurrencyListItemDto"
                      },
                      "type": "array"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/ListMetaDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "meta",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Currency List with Market Data",
        "tags": [
          "Currencies"
        ],
        "x-mint": {
          "content": "<Note>\nSupports conversion via the convert parameter. Market cap and volume filters always apply to USD values.\n</Note>\n\n<Tip>\nPass `currencyIds` to fetch a specific watchlist in one call instead of paging the whole market. Resolve tickers to ids once via [/currencies/search](https://docs.cryptorank.io/api-reference/currencies/currency-search).\n</Tip>\n\n<Tip>\nFilter to one ecosystem’s projects with `ecosystemId` — get IDs from [/ecosystems/list](https://docs.cryptorank.io/api-reference/ecosystems/ecosystems-map).\n</Tip>",
          "metadata": {
            "description": "Returns a paginated market table of cryptocurrencies with key market metrics, with sorting, pagination and filters by coin set, category, market cap and 24h volume.<br/><br/>Available from&#58; <Badge color=\"gray\">Sandbox</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/currencies/map": {
      "get": {
        "description": "**Description**\n\nReturns a lightweight list of all cryptocurrencies with their IDs.\n\n**Access**\n- Available from: **Sandbox**\n- Cost: 1 credit per request",
        "operationId": "CurrenciesController_getMap",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/CurrencyMapItemDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Currency Map (ID Reference)",
        "tags": [
          "Currencies"
        ],
        "x-mint": {
          "metadata": {
            "description": "Returns a lightweight list of all cryptocurrencies with their IDs.<br/><br/>Available from&#58; <Badge color=\"gray\">Sandbox</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/currencies/search": {
      "get": {
        "description": "**Description**\n\nServer-side search of coins by name or ticker, ranked by relevance; resolves a query string to an id/slug.\n\n> **Note:** Does not return market data — use [/currencies/list](https://docs.cryptorank.io/api-reference/currencies/currency-list-with-market-data) or [/currencies/:id](https://docs.cryptorank.io/api-reference/currencies/currency-profile) for that.\n\n> **Tip:** Results are ranked by relevance, so the first hit is usually the right one.\n\n> **Tip:** Resolve ids once, then pass them as `currencyIds` to [/currencies/list](https://docs.cryptorank.io/api-reference/currencies/currency-list-with-market-data) to fetch the whole watchlist with market data in one call.\n\n**Access**\n- Available from: **Basic**\n- Cost: 1 credit per request",
        "operationId": "CurrenciesController_search",
        "parameters": [
          {
            "description": "Search string — matches name and symbol.",
            "in": "query",
            "name": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/CurrencySearchItemDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Currency Search",
        "tags": [
          "Currencies"
        ],
        "x-mint": {
          "content": "<Note>\nDoes not return market data — use [/currencies/list](https://docs.cryptorank.io/api-reference/currencies/currency-list-with-market-data) or [/currencies/:id](https://docs.cryptorank.io/api-reference/currencies/currency-profile) for that.\n</Note>\n\n<Tip>\nResults are ranked by relevance, so the first hit is usually the right one.\n</Tip>\n\n<Tip>\nResolve ids once, then pass them as `currencyIds` to [/currencies/list](https://docs.cryptorank.io/api-reference/currencies/currency-list-with-market-data) to fetch the whole watchlist with market data in one call.\n</Tip>",
          "metadata": {
            "description": "Server-side search of coins by name or ticker, ranked by relevance; resolves a query string to an id/slug.<br/><br/>Available from&#58; <Badge color=\"blue\">Basic</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/currencies/tags": {
      "get": {
        "description": "**Description**\n\nReturns the full flat list of coin tags. Use it to resolve the `tags` values returned by [the coin profile](https://docs.cryptorank.io/api-reference/currencies/currency-profile) and to filter the market via the `tagId` parameter of [/currencies/list](https://docs.cryptorank.io/api-reference/currencies/currency-list-with-market-data).\n\n> **Note:** Reference data, updated infrequently — safe to cache on your side. The list is flat (no hierarchy). A coin may carry several tags, or none.\n\n**Access**\n- Available from: **Sandbox**\n- Cost: 1 credit per request",
        "operationId": "CurrenciesController_getTags",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/CurrencyTagItemDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Coin Tags",
        "tags": [
          "Currencies"
        ],
        "x-mint": {
          "content": "<Note>\nReference data, updated infrequently — safe to cache on your side. The list is flat (no hierarchy). A coin may carry several tags, or none.\n</Note>",
          "metadata": {
            "description": "Returns the full flat list of coin tags. Use it to resolve the `tags` values returned by [the coin profile](https://docs.cryptorank.io/api-reference/currencies/currency-profile) and to filter the market via the `tagId` parameter of [/currencies/list](https://docs.cryptorank.io/api-reference/currencies/currency-list-with-market-data).<br/><br/>Available from&#58; <Badge color=\"gray\">Sandbox</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/currencies/trending": {
      "get": {
        "description": "**Description**\n\nReturns coins with elevated interest right now.\n\n> **Note:** Ranked by CryptoRank's internal Trending Score; reflects the moment of the request and can change quickly.\n\n**Access**\n- Available from: **Sandbox**\n- Cost: 1 credit per request",
        "operationId": "CurrenciesController_getTrending",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/CurrencyTrendingItemDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Trending Currencies",
        "tags": [
          "Currencies"
        ],
        "x-mint": {
          "content": "<Note>\nRanked by CryptoRank's internal Trending Score; reflects the moment of the request and can change quickly.\n</Note>",
          "metadata": {
            "description": "Returns coins with elevated interest right now.<br/><br/>Available from&#58; <Badge color=\"gray\">Sandbox</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/currencies/upcoming-token-unlocks": {
      "get": {
        "description": "**Description**\n\nReturns upcoming unlocks across all coins.\n\n> **Tip:** For a single coin's full unlock schedule use [/currencies/:id/vesting/events](https://docs.cryptorank.io/api-reference/vesting-&-token-unlocks/unlock-events).\n\n**Access**\n- Available from: **Pro**\n- Cost: 1 credit per request",
        "operationId": "VestingController_getUpcomingTokenUnlocks",
        "parameters": [
          {
            "description": "Page number (1-based). Returns up to 25 items per page.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "maximum": 1000,
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "description": "Window for upcoming unlocks in days from today (inclusive).",
            "in": "query",
            "name": "daysAhead",
            "required": false,
            "schema": {
              "default": 30,
              "maximum": 365,
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "description": "Lower bound on the unlock USD value (inclusive).",
            "in": "query",
            "name": "minValue",
            "required": false,
            "schema": {
              "example": 1000000,
              "type": "number"
            }
          },
          {
            "description": "Lower bound on the unlock size as a percent of the coin market capitalization (inclusive). Value is a percent, e.g. `5` means 5%.",
            "in": "query",
            "name": "minPercentOfMcap",
            "required": false,
            "schema": {
              "example": 1,
              "type": "number"
            }
          },
          {
            "description": "Sort field.",
            "in": "query",
            "name": "sortBy",
            "required": false,
            "schema": {
              "default": "date",
              "enum": [
                "id",
                "date",
                "unlockValue",
                "percentOfMcap"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sort direction.",
            "in": "query",
            "name": "sortOrder",
            "required": false,
            "schema": {
              "default": "asc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/CurrencyUpcomingTokenUnlockItemDto"
                      },
                      "type": "array"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/ListMetaDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "meta",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Upcoming Token Unlocks",
        "tags": [
          "Vesting & Token Unlocks"
        ],
        "x-mint": {
          "content": "<Tip>\nFor a single coin's full unlock schedule use [/currencies/:id/vesting/events](https://docs.cryptorank.io/api-reference/vesting-&-token-unlocks/unlock-events).\n</Tip>",
          "metadata": {
            "description": "Returns upcoming unlocks across all coins.<br/><br/>Available from&#58; <Badge color=\"orange\">Pro</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/currencies/{id}": {
      "get": {
        "description": "**Description**\n\nReturns a coin's profile: identity, current price snapshot.\n\n> **Note:** Asset classification:\n- coin — native asset of its own blockchain (BTC, ETH, SOL)\n- token — asset issued via smart contract on an existing chain (ERC-20, SPL)\n- etf — exchange-listed fund tracking underlying asset(s); no chain, no on-chain contract; excluded from ranked coin lists\n- leveraged-token — tokenized leveraged product (e.g. BTC3L/BTC3S); has on-chain contract address; issued by exchanges\n- fiat — government-issued currency (USD, EUR); price/quote reference only, not tradable crypto\n- no-token — tracked project without a launched token yet; no symbol/price\n- derivative — primarily a futures instrument; markets page defaults to Futures tab (legacy, rarely used)\n\n**Access**\n- Available from: **Sandbox**\n- Cost: 1 credit per request",
        "operationId": "CurrenciesController_getById",
        "parameters": [
          {
            "description": "Coin ID. See: [GET /v3/currencies/map](https://docs.cryptorank.io/api-reference/currencies/currency-map-id-reference).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Fiat currency for price/market-cap conversion (default USD).",
            "in": "query",
            "name": "convert",
            "required": false,
            "schema": {
              "default": "USD",
              "enum": [
                "EUR",
                "USD"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/CurrencyProfileDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Currency not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Currency Profile",
        "tags": [
          "Currencies"
        ],
        "x-mint": {
          "content": "<Note>\nAsset classification:\n- coin — native asset of its own blockchain (BTC, ETH, SOL)\n- token — asset issued via smart contract on an existing chain (ERC-20, SPL)\n- etf — exchange-listed fund tracking underlying asset(s); no chain, no on-chain contract; excluded from ranked coin lists\n- leveraged-token — tokenized leveraged product (e.g. BTC3L/BTC3S); has on-chain contract address; issued by exchanges\n- fiat — government-issued currency (USD, EUR); price/quote reference only, not tradable crypto\n- no-token — tracked project without a launched token yet; no symbol/price\n- derivative — primarily a futures instrument; markets page defaults to Futures tab (legacy, rarely used)\n</Note>",
          "metadata": {
            "description": "Returns a coin's profile: identity, current price snapshot.<br/><br/>Available from&#58; <Badge color=\"gray\">Sandbox</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/currencies/{id}/analytics/returns": {
      "get": {
        "description": "**Description**\n\nClosing price and within-period return for each period, all years, including the current incomplete one.\n\n> **Note:** Returns are open→close within each period. The last period may be incomplete.\n\n**Access**\n- Available from: **Advanced**\n- Cost: 1 credit per request",
        "operationId": "CurrenciesController_getAnalyticsReturns",
        "parameters": [
          {
            "description": "Coin ID. See: [GET /v3/currencies/map](https://docs.cryptorank.io/api-reference/currencies/currency-map-id-reference).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Aggregation period: monthly, quarterly, or yearly.",
            "in": "query",
            "name": "period",
            "required": false,
            "schema": {
              "default": "monthly",
              "enum": [
                "monthly",
                "quarterly",
                "yearly"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/CurrencyAnalyticsReturnItemDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Currency not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Periodic Returns",
        "tags": [
          "Currencies"
        ],
        "x-mint": {
          "content": "<Note>\nReturns are open→close within each period. The last period may be incomplete.\n</Note>",
          "metadata": {
            "description": "Closing price and within-period return for each period, all years, including the current incomplete one.<br/><br/>Available from&#58; <Badge color=\"green\">Advanced</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/currencies/{id}/contracts": {
      "get": {
        "description": "**Description**\n\nReturns a coin's contract addresses across networks.\n\n> **Note:** Native coins without a contract address are omitted entirely (no row, not null).\n\n**Access**\n- Available from: **Basic**\n- Cost: 1 credit per request",
        "operationId": "CurrenciesController_getContracts",
        "parameters": [
          {
            "description": "Coin ID. See: [GET /v3/currencies/map](https://docs.cryptorank.io/api-reference/currencies/currency-map-id-reference).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/CurrencyContractItemDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Currency not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Currency Contracts",
        "tags": [
          "Currencies"
        ],
        "x-mint": {
          "content": "<Note>\nNative coins without a contract address are omitted entirely (no row, not null).\n</Note>",
          "metadata": {
            "description": "Returns a coin's contract addresses across networks.<br/><br/>Available from&#58; <Badge color=\"blue\">Basic</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/currencies/{id}/holders": {
      "get": {
        "description": "**Description**\n\nTop 100 token holders for a coin on a single network: address, label, type, balance, share of supply and USD value.\n\n> **Note:** Coverage is limited to the top-1000 coins by market cap and EVM networks only. Coins outside coverage return an empty array, not an error.\n\n> **Note:** Data is a daily snapshot; `meta.snapshotDate` returns its collection time. Holder metrics are per-network and are never summed across networks.\n\n> **Tip:** Resolve available networks for a coin via [/currencies/{id}/contracts](https://docs.cryptorank.io/api-reference/currencies/currency-contracts) and network ids via [/blockchains/map](https://docs.cryptorank.io/api-reference/blockchains/blockchain-map-id-reference).\n\n**Access**\n- Available from: **Advanced**\n- Cost: 1 credit per request",
        "operationId": "CurrenciesController_getHolders",
        "parameters": [
          {
            "description": "Coin ID. See: [GET /v3/currencies/map](https://docs.cryptorank.io/api-reference/currencies/currency-map-id-reference).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Page number (1-based). Returns up to 100 items per page.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "maximum": 1000,
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "description": "Network to return holders for. Defaults to the coin's primary network — the one the website opens first. Unknown id → 400. See: [GET /v3/blockchains/map](https://docs.cryptorank.io/api-reference/blockchains/blockchain-map-id-reference).",
            "in": "query",
            "name": "blockchainId",
            "required": false,
            "schema": {
              "example": 1,
              "type": "number"
            }
          },
          {
            "description": "Exclude contract addresses from the list. `rank` and `percentOfSupply` keep their original values — they are not recalculated over the filtered set.",
            "in": "query",
            "name": "excludeContracts",
            "required": false,
            "schema": {
              "default": false,
              "type": "boolean"
            }
          },
          {
            "description": "Sort direction by `rank`. `desc` returns the same top holders starting from the lowest rank.",
            "in": "query",
            "name": "sortOrder",
            "required": false,
            "schema": {
              "default": "asc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/CurrencyHolderItemDto"
                      },
                      "type": "array"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/CurrencyHoldersMetaDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "meta",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Currency not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Token Holders",
        "tags": [
          "Currencies"
        ],
        "x-mint": {
          "content": "<Note>\nCoverage is limited to the top-1000 coins by market cap and EVM networks only. Coins outside coverage return an empty array, not an error.\n</Note>\n\n<Note>\nData is a daily snapshot; `meta.snapshotDate` returns its collection time. Holder metrics are per-network and are never summed across networks.\n</Note>\n\n<Tip>\nResolve available networks for a coin via [/currencies/{id}/contracts](https://docs.cryptorank.io/api-reference/currencies/currency-contracts) and network ids via [/blockchains/map](https://docs.cryptorank.io/api-reference/blockchains/blockchain-map-id-reference).\n</Tip>",
          "metadata": {
            "description": "Top 100 token holders for a coin on a single network: address, label, type, balance, share of supply and USD value.<br/><br/>Available from&#58; <Badge color=\"green\">Advanced</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/currencies/{id}/holders/summary": {
      "get": {
        "description": "**Description**\n\nOwnership aggregates for a coin on a single network: total holders, top-100 share, wallet vs contract split, concentration by rank and holder tier distribution.\n\n> **Note:** Coverage is limited to the top-1000 coins by market cap and EVM networks only. Coins outside coverage return null metrics, not an error.\n\n> **Note:** All metrics are per-network and are never summed across networks. Data is a daily snapshot; `snapshotDate` returns its collection time.\n\n> **Tip:** For the holder rows behind these aggregates use [/currencies/{id}/holders](https://docs.cryptorank.io/api-reference/currencies/token-holders).\n\n**Access**\n- Available from: **Advanced**\n- Cost: 1 credit per request",
        "operationId": "CurrenciesController_getHoldersSummary",
        "parameters": [
          {
            "description": "Coin ID. See: [GET /v3/currencies/map](https://docs.cryptorank.io/api-reference/currencies/currency-map-id-reference).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Network to return aggregates for. Defaults to the coin's primary network — the one the website opens first. Unknown id → 400. See: [GET /v3/blockchains/map](https://docs.cryptorank.io/api-reference/blockchains/blockchain-map-id-reference).",
            "in": "query",
            "name": "blockchainId",
            "required": false,
            "schema": {
              "example": 1,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/CurrencyHoldersSummaryDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Currency not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Token Holders Summary",
        "tags": [
          "Currencies"
        ],
        "x-mint": {
          "content": "<Note>\nCoverage is limited to the top-1000 coins by market cap and EVM networks only. Coins outside coverage return null metrics, not an error.\n</Note>\n\n<Note>\nAll metrics are per-network and are never summed across networks. Data is a daily snapshot; `snapshotDate` returns its collection time.\n</Note>\n\n<Tip>\nFor the holder rows behind these aggregates use [/currencies/{id}/holders](https://docs.cryptorank.io/api-reference/currencies/token-holders).\n</Tip>",
          "metadata": {
            "description": "Ownership aggregates for a coin on a single network: total holders, top-100 share, wallet vs contract split, concentration by rank and holder tier distribution.<br/><br/>Available from&#58; <Badge color=\"green\">Advanced</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/currencies/{id}/ohlcv": {
      "get": {
        "description": "**Description**\n\nAggregated historical candles for a single coin: OHLC price, traded volume, circulating supply and period-over-period changes.\n\n> **Note:** All values are in USD; the `convert` parameter does not apply.\n\n> **Note:** Depth depends on the plan:\nAdvanced — up to 30d at 1h, up to 2y at 1d/1w/1m;\nPro — up to 90d at 1h, up to 5y at 1d/1w/1m;\nBusiness — up to 1y at 1h, full history at 1d/1w/1m.\nA `from`/`to` range reaching deeper than your plan allows returns `403 PLAN_LIMIT_EXCEEDED` — the window is never silently cut.\n\n> **Tip:** For a lightweight price line use [/currencies/{id}/sparkline](https://docs.cryptorank.io/api-reference/currencies/price-&-volume-chart) instead.\n\n**Access**\n- Available from: **Advanced**\n- Cost: 1 credit per request",
        "operationId": "CurrenciesController_getOhlcv",
        "parameters": [
          {
            "description": "Coin ID. See: [GET /v3/currencies/map](https://docs.cryptorank.io/api-reference/currencies/currency-map-id-reference).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Page number (1-based). Returns up to 500 items per page.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "maximum": 1000,
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "description": "Window start, aligned down to the candle's period. Defaults to the earliest point your plan allows. Accepted: ISO 8601, bare date (YYYY-MM-DD), or Unix timestamp in seconds/milliseconds.",
            "in": "query",
            "name": "from",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Window end. Defaults to now. Accepted: ISO 8601, bare date (YYYY-MM-DD), or Unix timestamp in seconds/milliseconds. Bare dates resolve to end-of-day UTC.",
            "in": "query",
            "name": "to",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Candle granularity: hour, day, week, or month. Depth allowed per granularity depends on your plan.",
            "in": "query",
            "name": "interval",
            "required": false,
            "schema": {
              "default": "1d",
              "enum": [
                "1h",
                "1d",
                "1w",
                "1m"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sort direction by candle time.",
            "in": "query",
            "name": "sortOrder",
            "required": false,
            "schema": {
              "default": "asc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/CurrencyOhlcvItemDto"
                      },
                      "type": "array"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/ListMetaDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "meta",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Currency not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Historical OHLCV",
        "tags": [
          "Currencies"
        ],
        "x-mint": {
          "content": "<Note>\nAll values are in USD; the `convert` parameter does not apply.\n</Note>\n\n<Note>\nDepth depends on the plan:\nAdvanced — up to 30d at 1h, up to 2y at 1d/1w/1m;\nPro — up to 90d at 1h, up to 5y at 1d/1w/1m;\nBusiness — up to 1y at 1h, full history at 1d/1w/1m.\nA `from`/`to` range reaching deeper than your plan allows returns `403 PLAN_LIMIT_EXCEEDED` — the window is never silently cut.\n</Note>\n\n<Tip>\nFor a lightweight price line use [/currencies/{id}/sparkline](https://docs.cryptorank.io/api-reference/currencies/price-&-volume-chart) instead.\n</Tip>",
          "metadata": {
            "description": "Aggregated historical candles for a single coin: OHLC price, traded volume, circulating supply and period-over-period changes.<br/><br/>Available from&#58; <Badge color=\"green\">Advanced</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/currencies/{id}/performance": {
      "get": {
        "description": "**Description**\n\nReturns a coin's ATH/ATL and ROI metrics.\n\n> **Warning:** ATH/ATL values are in USD and are not affected by the convert parameter.\n\n**Access**\n- Available from: **Advanced**\n- Cost: 1 credit per request",
        "operationId": "CurrenciesController_getPerformance",
        "parameters": [
          {
            "description": "Coin ID. See: [GET /v3/currencies/map](https://docs.cryptorank.io/api-reference/currencies/currency-map-id-reference).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/CurrencyPerformanceDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Currency not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Currency Performance",
        "tags": [
          "Currencies"
        ],
        "x-mint": {
          "content": "<Warning>\nATH/ATL values are in USD and are not affected by the convert parameter.\n</Warning>",
          "metadata": {
            "description": "Returns a coin's ATH/ATL and ROI metrics.<br/><br/>Available from&#58; <Badge color=\"green\">Advanced</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/currencies/{id}/sparkline": {
      "get": {
        "description": "**Description**\n\nReturns data points for a coin's price and volume chart.\n\n> **Note:** Depth and granularity depend on the plan:\nBasic — up to 30d at 5m/15m/1h, up to 1y at 1d;\nAdvanced — up to 30d at 5m/15m/1h, up to 2y at 1d;\nPro — up to 90d at 5m/15m/1h, up to 5y at 1d;\nBusiness — up to 1y at 5m/15m/1h, full history at 1d.\n\n> **Tip:** With no parameters, returns the last 7 days at 1h.\n\n**Access**\n- Available from: **Basic**\n- Cost: 1 credit per request",
        "operationId": "CurrenciesController_getSparkline",
        "parameters": [
          {
            "description": "Coin ID. See: [GET /v3/currencies/map](https://docs.cryptorank.io/api-reference/currencies/currency-map-id-reference).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Window start. Defaults to 7d before `to`. Accepted: ISO 8601, bare date (YYYY-MM-DD), or Unix timestamp in seconds/milliseconds.",
            "in": "query",
            "name": "from",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Window end. Defaults to now. Accepted: ISO 8601, bare date (YYYY-MM-DD), or Unix timestamp in seconds/milliseconds. Bare dates resolve to end-of-day UTC.",
            "in": "query",
            "name": "to",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Step between points. Depth allowed per interval depends on your plan.",
            "in": "query",
            "name": "interval",
            "required": false,
            "schema": {
              "default": "1h",
              "enum": [
                "5m",
                "15m",
                "1h",
                "1d"
              ],
              "type": "string"
            }
          },
          {
            "description": "Order by time.",
            "in": "query",
            "name": "sortOrder",
            "required": false,
            "schema": {
              "default": "asc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/CoinSparklinePointDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Currency not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Price & Volume Chart",
        "tags": [
          "Currencies"
        ],
        "x-mint": {
          "content": "<Note>\nDepth and granularity depend on the plan:\nBasic — up to 30d at 5m/15m/1h, up to 1y at 1d;\nAdvanced — up to 30d at 5m/15m/1h, up to 2y at 1d;\nPro — up to 90d at 5m/15m/1h, up to 5y at 1d;\nBusiness — up to 1y at 5m/15m/1h, full history at 1d.\n</Note>\n\n<Tip>\nWith no parameters, returns the last 7 days at 1h.\n</Tip>",
          "metadata": {
            "description": "Returns data points for a coin's price and volume chart.<br/><br/>Available from&#58; <Badge color=\"blue\">Basic</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/currencies/{id}/tokenomics": {
      "get": {
        "description": "**Description**\n\nReturns a summary of a coin's supply and unlocks.\n\n> **Note:** nextUnlockValue = tokens × current price.\n\n> **Tip:** Per-group breakdown: [/currencies/:id/vesting/allocations](https://docs.cryptorank.io/api-reference/vesting-&-token-unlocks/vesting-allocations). Emission chart: [/currencies/:id/vesting/chart](https://docs.cryptorank.io/api-reference/vesting-&-token-unlocks/token-emission-chart).\n\n**Access**\n- Available from: **Advanced**\n- Cost: 1 credit per request",
        "operationId": "CurrenciesController_getTokenomics",
        "parameters": [
          {
            "description": "Coin ID. See: [GET /v3/currencies/map](https://docs.cryptorank.io/api-reference/currencies/currency-map-id-reference).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/CurrencyTokenomicsDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Currency not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Tokenomics Summary",
        "tags": [
          "Currencies"
        ],
        "x-mint": {
          "content": "<Note>\nnextUnlockValue = tokens × current price.\n</Note>\n\n<Tip>\nPer-group breakdown: [/currencies/:id/vesting/allocations](https://docs.cryptorank.io/api-reference/vesting-&-token-unlocks/vesting-allocations). Emission chart: [/currencies/:id/vesting/chart](https://docs.cryptorank.io/api-reference/vesting-&-token-unlocks/token-emission-chart).\n</Tip>",
          "metadata": {
            "description": "Returns a summary of a coin's supply and unlocks.<br/><br/>Available from&#58; <Badge color=\"green\">Advanced</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/currencies/{id}/vesting/allocations": {
      "get": {
        "description": "**Description**\n\nReturns the unlock breakdown by allocation group (Team, Private Sale, …).\n\n> **Note:** By default only tracked allocations are returned. `includeUntracked=true` adds allocations without a known unlock schedule, with `isTracked: false` and null unlock fields. `groupDominance` = % of total locked across tracked allocations.\n\n**Access**\n- Available from: **Pro**\n- Cost: 1 credit per request",
        "operationId": "VestingController_getVestingAllocations",
        "parameters": [
          {
            "description": "Coin ID. See: [GET /v3/currencies/map](https://docs.cryptorank.io/api-reference/currencies/currency-map-id-reference).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Include allocations without a known unlock schedule. They come with `isTracked: false` and null unlock/lock fields. Without it, a coin that has only such allocations returns 404.",
            "in": "query",
            "name": "includeUntracked",
            "required": false,
            "schema": {
              "default": false,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/CurrencyVestingAllocationItemDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Currency not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Vesting Allocations",
        "tags": [
          "Vesting & Token Unlocks"
        ],
        "x-mint": {
          "content": "<Note>\nBy default only tracked allocations are returned. `includeUntracked=true` adds allocations without a known unlock schedule, with `isTracked: false` and null unlock fields. `groupDominance` = % of total locked across tracked allocations.\n</Note>",
          "metadata": {
            "description": "Returns the unlock breakdown by allocation group (Team, Private Sale, …).<br/><br/>Available from&#58; <Badge color=\"orange\">Pro</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/currencies/{id}/vesting/chart": {
      "get": {
        "description": "**Description**\n\nReturns a time series of token emission for a currency.\n\n> **Note:** Untracked allocations are excluded — cumulative values may stay below total supply.\n\n> **Warning:** There is no interval parameter — granularity is selected automatically from the range: daily for ranges up to 3 years, weekly beyond.\n\n> **Tip:** Per-round release rules behind this chart: [/currencies/:id/vesting/schedule](https://docs.cryptorank.io/api-reference/vesting-&-token-unlocks/vesting-schedule-chart). Discrete unlock events: [/currencies/:id/vesting/events](https://docs.cryptorank.io/api-reference/vesting-&-token-unlocks/unlock-events).\n\n**Access**\n- Available from: **Pro**\n- Cost: 1 credit per request",
        "operationId": "VestingController_getVestingChart",
        "parameters": [
          {
            "description": "Coin ID. See: [GET /v3/currencies/map](https://docs.cryptorank.io/api-reference/currencies/currency-map-id-reference).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Range start. Defaults to the token generation event (TGE) date. Accepted: ISO 8601, bare date (YYYY-MM-DD), or Unix timestamp in seconds/milliseconds.",
            "in": "query",
            "name": "from",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Range end, inclusive. Defaults to now; may be set in the future to include scheduled unlocks. Accepted: ISO 8601, bare date (YYYY-MM-DD), or Unix timestamp in seconds/milliseconds. Bare dates resolve to end-of-day UTC.",
            "in": "query",
            "name": "to",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/CurrencyVestingChartResponseDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Currency not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Token Emission Chart",
        "tags": [
          "Vesting & Token Unlocks"
        ],
        "x-mint": {
          "content": "<Note>\nUntracked allocations are excluded — cumulative values may stay below total supply.\n</Note>\n\n<Warning>\nThere is no interval parameter — granularity is selected automatically from the range: daily for ranges up to 3 years, weekly beyond.\n</Warning>\n\n<Tip>\nPer-round release rules behind this chart: [/currencies/:id/vesting/schedule](https://docs.cryptorank.io/api-reference/vesting-&-token-unlocks/vesting-schedule-chart). Discrete unlock events: [/currencies/:id/vesting/events](https://docs.cryptorank.io/api-reference/vesting-&-token-unlocks/unlock-events).\n</Tip>",
          "metadata": {
            "description": "Returns a time series of token emission for a currency.<br/><br/>Available from&#58; <Badge color=\"orange\">Pro</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/currencies/{id}/vesting/events": {
      "get": {
        "description": "**Description**\n\nChronological list of token unlock events for a currency.\n\n> **Note:** Filterable by all / upcoming / past. Amounts are in the project's native token; USD figures use the current price.\n\n**Access**\n- Available from: **Pro**\n- Cost: 1 credit per request",
        "operationId": "VestingController_getVestingEvents",
        "parameters": [
          {
            "description": "Coin ID. See: [GET /v3/currencies/map](https://docs.cryptorank.io/api-reference/currencies/currency-map-id-reference).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Page number (1-based). Returns up to 50 items per page.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "maximum": 1000,
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "description": "Limit events to upcoming or past ones, or return the full history.",
            "in": "query",
            "name": "filter",
            "required": false,
            "schema": {
              "default": "upcoming",
              "enum": [
                "all",
                "upcoming",
                "past"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sort field.",
            "in": "query",
            "name": "sortBy",
            "required": false,
            "schema": {
              "default": "time",
              "enum": [
                "time",
                "unlockValue",
                "percentOfMcap"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sort direction.",
            "in": "query",
            "name": "sortOrder",
            "required": false,
            "schema": {
              "default": "asc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          },
          {
            "description": "Fiat currency for unlock-value conversion (default USD).",
            "in": "query",
            "name": "convert",
            "required": false,
            "schema": {
              "default": "USD",
              "enum": [
                "EUR",
                "USD"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/CurrencyVestingEventItemDto"
                      },
                      "type": "array"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/ListMetaDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "meta",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Currency not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Unlock Events",
        "tags": [
          "Vesting & Token Unlocks"
        ],
        "x-mint": {
          "content": "<Note>\nFilterable by all / upcoming / past. Amounts are in the project's native token; USD figures use the current price.\n</Note>",
          "metadata": {
            "description": "Chronological list of token unlock events for a currency.<br/><br/>Available from&#58; <Badge color=\"orange\">Pro</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/currencies/{id}/vesting/schedule": {
      "get": {
        "description": "**Description**\n\nPer-round (allocation) token release schedule over time: cliff/linear/batch phases with dates, share, and token amounts. Data for the vesting schedule chart.\n\n> **Note:** Allocations without a tracked schedule are summarized in the untracked block, not listed as rounds. Amounts are in the project's native token.\n\n**Access**\n- Available from: **Pro**\n- Cost: 1 credit per request",
        "operationId": "VestingController_getVestingSchedule",
        "parameters": [
          {
            "description": "Coin ID. See: [GET /v3/currencies/map](https://docs.cryptorank.io/api-reference/currencies/currency-map-id-reference).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Sort field: round share of total supply or round name.",
            "in": "query",
            "name": "sortBy",
            "required": false,
            "schema": {
              "default": "percentOfTotal",
              "enum": [
                "percentOfTotal",
                "name"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sort direction.",
            "in": "query",
            "name": "sortOrder",
            "required": false,
            "schema": {
              "default": "desc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/CurrencyVestingScheduleResponseDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Currency not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Vesting Schedule Chart",
        "tags": [
          "Vesting & Token Unlocks"
        ],
        "x-mint": {
          "content": "<Note>\nAllocations without a tracked schedule are summarized in the untracked block, not listed as rounds. Amounts are in the project's native token.\n</Note>",
          "metadata": {
            "description": "Per-round (allocation) token release schedule over time: cliff/linear/batch phases with dates, share, and token amounts. Data for the vesting schedule chart.<br/><br/>Available from&#58; <Badge color=\"orange\">Pro</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/currencies/{id}/vesting/vc-pressure": {
      "get": {
        "description": "**Description**\n\nVC-induced dump pressure for a single coin: upcoming unlock, VC dominance, investor ROI and the dump-pressure rating.\n\n> **Note:** Profit and USD values depend on the current price and are recalculated as it changes.\n\n**Access**\n- Available from: **Pro**\n- Cost: 1 credit per request",
        "operationId": "VestingController_getVcPressure",
        "parameters": [
          {
            "description": "Coin ID. See: [GET /v3/currencies/map](https://docs.cryptorank.io/api-reference/currencies/currency-map-id-reference).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/CurrencyVcPressureDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Currency not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "VC Dump Pressure",
        "tags": [
          "Vesting & Token Unlocks"
        ],
        "x-mint": {
          "content": "<Note>\nProfit and USD values depend on the current price and are recalculated as it changes.\n</Note>",
          "metadata": {
            "description": "VC-induced dump pressure for a single coin: upcoming unlock, VC dominance, investor ROI and the dump-pressure rating.<br/><br/>Available from&#58; <Badge color=\"orange\">Pro</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/drophunting/list": {
      "get": {
        "description": "**Description**\n\nActivities with status, reward type, raised funds and social metrics.\n\n> **Note:** Returns all activities, including those without published tasks.\n\n**Access**\n- Available from: **Advanced**\n- Cost: 1 credit per request",
        "operationId": "DrophuntingController_getList",
        "parameters": [
          {
            "description": "Page number (1-based). Returns up to 100 items per page.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "maximum": 1000,
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "description": "Filter by activity status.",
            "in": "query",
            "name": "activityStatus",
            "required": false,
            "schema": {
              "enum": [
                "POTENTIAL",
                "CONFIRMED",
                "VERIFICATION",
                "REWARD_AVAILABLE",
                "DISTRIBUTED",
                "SNAPSHOT",
                "INACTIVE"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by reward type.",
            "in": "query",
            "name": "rewardType",
            "required": false,
            "schema": {
              "enum": [
                "airdrop",
                "ambassador",
                "fee",
                "nft",
                "points",
                "role",
                "spaceships",
                "whitelist"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sort field.",
            "in": "query",
            "name": "sortBy",
            "required": false,
            "schema": {
              "default": "id",
              "enum": [
                "id",
                "lastStatusUpdate",
                "name"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sort direction.",
            "in": "query",
            "name": "sortOrder",
            "required": false,
            "schema": {
              "default": "desc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/DrophuntingListItemDto"
                      },
                      "type": "array"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/ListMetaDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "meta",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Drophunting Activities List",
        "tags": [
          "Drophunting"
        ],
        "x-mint": {
          "content": "<Note>\nReturns all activities, including those without published tasks.\n</Note>",
          "metadata": {
            "description": "Activities with status, reward type, raised funds and social metrics.<br/><br/>Available from&#58; <Badge color=\"green\">Advanced</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/drophunting/map": {
      "get": {
        "description": "**Description**\n\nLightweight list of all drophunting activities with their IDs for reference.\n\n**Access**\n- Available from: **Sandbox**\n- Cost: 1 credit per request",
        "operationId": "DrophuntingController_getMap",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/DrophuntingMapItemDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Drophunting Map",
        "tags": [
          "Drophunting"
        ],
        "x-mint": {
          "metadata": {
            "description": "Lightweight list of all drophunting activities with their IDs for reference.<br/><br/>Available from&#58; <Badge color=\"gray\">Sandbox</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/drophunting/{id}": {
      "get": {
        "description": "**Description**\n\nFull profile of a single drophunting activity.\n\n> **Tip:** The task list is served separately via [/drophunting/:id/tasks](https://docs.cryptorank.io/api-reference/drophunting/drophunting-tasks).\n\n**Access**\n- Available from: **Pro**\n- Cost: 1 credit per request",
        "operationId": "DrophuntingController_getById",
        "parameters": [
          {
            "description": "Activity ID. See: [GET /v3/drophunting/map](https://docs.cryptorank.io/api-reference/drophunting/drophunting-map).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 42,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/DrophuntingByIdDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Drophunting activity not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Drophunting Activity Profile",
        "tags": [
          "Drophunting"
        ],
        "x-mint": {
          "content": "<Tip>\nThe task list is served separately via [/drophunting/:id/tasks](https://docs.cryptorank.io/api-reference/drophunting/drophunting-tasks).\n</Tip>",
          "metadata": {
            "description": "Full profile of a single drophunting activity.<br/><br/>Available from&#58; <Badge color=\"orange\">Pro</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/drophunting/{id}/tasks": {
      "get": {
        "description": "**Description**\n\nList of tasks for a drophunting activity.\n\n**Access**\n- Available from: **Business**\n- Cost: 1 credit per request",
        "operationId": "DrophuntingController_getTasks",
        "parameters": [
          {
            "description": "Activity ID. See: [GET /v3/drophunting/map](https://docs.cryptorank.io/api-reference/drophunting/drophunting-map).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 42,
              "type": "integer"
            }
          },
          {
            "description": "Filter by task status.",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "enum": [
                "UPCOMING",
                "OPEN",
                "CLOSED"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sort field. `date` sorts by start date, then end date.",
            "in": "query",
            "name": "sortBy",
            "required": false,
            "schema": {
              "default": "id",
              "enum": [
                "id",
                "date"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sort direction.",
            "in": "query",
            "name": "sortOrder",
            "required": false,
            "schema": {
              "default": "asc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/DrophuntingTaskDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Drophunting activity not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Drophunting Tasks",
        "tags": [
          "Drophunting"
        ],
        "x-mint": {
          "metadata": {
            "description": "List of tasks for a drophunting activity.<br/><br/>Available from&#58; <Badge color=\"yellow\">Business</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/ecosystems/list": {
      "get": {
        "description": "**Description**\n\nLightweight list of ecosystems.\n\n**Access**\n- Available from: **Sandbox**\n- Cost: 1 credit per request",
        "operationId": "EcosystemsController_getList",
        "parameters": [
          {
            "description": "Filter ecosystems by tag ID. See: [GET /v3/ecosystems/tags](https://docs.cryptorank.io/api-reference/ecosystems/ecosystems-tags).",
            "in": "query",
            "name": "tagId",
            "required": false,
            "schema": {
              "example": 1,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/EcosystemListItemDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Ecosystems Map",
        "tags": [
          "Ecosystems"
        ],
        "x-mint": {
          "metadata": {
            "description": "Lightweight list of ecosystems.<br/><br/>Available from&#58; <Badge color=\"gray\">Sandbox</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/ecosystems/tags": {
      "get": {
        "description": "**Description**\n\nAll ecosystem tags.\n\n**Access**\n- Available from: **Sandbox**\n- Cost: 1 credit per request",
        "operationId": "EcosystemsController_getTags",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/EcosystemTagsItemDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Ecosystems Tags",
        "tags": [
          "Ecosystems"
        ],
        "x-mint": {
          "metadata": {
            "description": "All ecosystem tags.<br/><br/>Available from&#58; <Badge color=\"gray\">Sandbox</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/ecosystems/{id}": {
      "get": {
        "description": "**Description**\n\nFull metrics for a single ecosystem.\n\n> **Tip:** List this ecosystem’s projects via [/currencies/list](https://docs.cryptorank.io/api-reference/currencies/currency-list-with-market-data) with the `ecosystemId` filter.\n\n**Access**\n- Available from: **Advanced**\n- Cost: 1 credit per request",
        "operationId": "EcosystemsController_getById",
        "parameters": [
          {
            "description": "Ecosystem ID. See: [GET /v3/ecosystems/list](https://docs.cryptorank.io/api-reference/ecosystems/ecosystems-map).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/EcosystemByIdDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Ecosystem not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Ecosystem Profile",
        "tags": [
          "Ecosystems"
        ],
        "x-mint": {
          "content": "<Tip>\nList this ecosystem’s projects via [/currencies/list](https://docs.cryptorank.io/api-reference/currencies/currency-list-with-market-data) with the `ecosystemId` filter.\n</Tip>",
          "metadata": {
            "description": "Full metrics for a single ecosystem.<br/><br/>Available from&#58; <Badge color=\"green\">Advanced</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/exchanges/list": {
      "get": {
        "description": "**Description**\n\nExchanges with key profile fields and 24h trading volumes.\n\n**Access**\n- Available from: **Basic**\n- Cost: 1 credit per request",
        "operationId": "ExchangesController_getList",
        "parameters": [
          {
            "description": "Page number (1-based). Returns up to 100 items per page.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "maximum": 1000,
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "description": "Filter by exchange type.",
            "in": "query",
            "name": "type",
            "required": false,
            "schema": {
              "default": "all",
              "enum": [
                "cex-spot",
                "cex-derivatives",
                "dex-spot",
                "dex-derivatives",
                "all"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sort field.",
            "in": "query",
            "name": "sortBy",
            "required": false,
            "schema": {
              "default": "id",
              "enum": [
                "id",
                "adjustedVolume24h",
                "reportedVolume24h",
                "name"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sort direction.",
            "in": "query",
            "name": "sortOrder",
            "required": false,
            "schema": {
              "default": "desc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/ExchangeVolumeListItemDto"
                      },
                      "type": "array"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/ListMetaDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "meta",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Exchanges List with Volume",
        "tags": [
          "Exchanges"
        ],
        "x-mint": {
          "metadata": {
            "description": "Exchanges with key profile fields and 24h trading volumes.<br/><br/>Available from&#58; <Badge color=\"blue\">Basic</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/exchanges/map": {
      "get": {
        "description": "**Description**\n\nLightweight list of all tracked exchanges.\n\n**Access**\n- Available from: **Sandbox**\n- Cost: 1 credit per request",
        "operationId": "ExchangesController_getMap",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/ExchangeMapItemDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Exchanges Map",
        "tags": [
          "Exchanges"
        ],
        "x-mint": {
          "metadata": {
            "description": "Lightweight list of all tracked exchanges.<br/><br/>Available from&#58; <Badge color=\"gray\">Sandbox</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/exchanges/{id}": {
      "get": {
        "description": "**Description**\n\nFull profile of a single exchange.\n\n**Access**\n- Available from: **Basic**\n- Cost: 1 credit per request",
        "operationId": "ExchangesController_getById",
        "parameters": [
          {
            "description": "Exchange ID. See: [GET /v3/exchanges/map](https://docs.cryptorank.io/api-reference/exchanges/exchanges-map).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 200,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ExchangeProfileDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Exchange not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Exchange Profile",
        "tags": [
          "Exchanges"
        ],
        "x-mint": {
          "metadata": {
            "description": "Full profile of a single exchange.<br/><br/>Available from&#58; <Badge color=\"blue\">Basic</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/exchanges/{id}/reserves": {
      "get": {
        "description": "**Description**\n\nProof-of-Reserves holdings reported for the exchange.\n\n> **Note:** Available only for exchanges that publish Proof-of-Reserves data.\n\n**Access**\n- Available from: **Advanced**\n- Cost: 1 credit per request",
        "operationId": "ExchangesController_getProofOfReserves",
        "parameters": [
          {
            "description": "Exchange ID. See: [GET /v3/exchanges/map](https://docs.cryptorank.io/api-reference/exchanges/exchanges-map).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 200,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ExchangeProofOfReservesDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Exchange not found or has no proof of reserves data"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Exchange Proof of Reserves",
        "tags": [
          "Exchanges"
        ],
        "x-mint": {
          "content": "<Note>\nAvailable only for exchanges that publish Proof-of-Reserves data.\n</Note>",
          "metadata": {
            "description": "Proof-of-Reserves holdings reported for the exchange.<br/><br/>Available from&#58; <Badge color=\"green\">Advanced</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/exchanges/{id}/volume-chart": {
      "get": {
        "description": "**Description**\n\nHistorical adjusted and reported trading volume over the selected period.\n\n> **Warning:** There is no interval parameter — granularity is selected automatically from the period: intraday — 10-min, up to 14d — hourly, 30d+ — daily.\n\n**Access**\n- Available from: **Basic**\n- Cost: 1 credit per request",
        "operationId": "ExchangesController_getVolumeChart",
        "parameters": [
          {
            "description": "Exchange ID. See: [GET /v3/exchanges/map](https://docs.cryptorank.io/api-reference/exchanges/exchanges-map).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 200,
              "type": "integer"
            }
          },
          {
            "description": "Time window in days. Bucket size is auto-selected: `1 → 10-minute`, `7|14 → hourly`, `30|90|180|365 → daily`.",
            "in": "query",
            "name": "days",
            "required": false,
            "schema": {
              "default": 7,
              "enum": [
                1,
                7,
                14,
                30,
                90,
                180,
                365
              ],
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/ExchangeVolumeChartPointDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Exchange not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Exchange Volume Chart",
        "tags": [
          "Exchanges"
        ],
        "x-mint": {
          "content": "<Warning>\nThere is no interval parameter — granularity is selected automatically from the period: intraday — 10-min, up to 14d — hourly, 30d+ — daily.\n</Warning>",
          "metadata": {
            "description": "Historical adjusted and reported trading volume over the selected period.<br/><br/>Available from&#58; <Badge color=\"blue\">Basic</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/exchanges/{id}/volume-chart/monthly": {
      "get": {
        "description": "**Description**\n\nMonthly adjusted and reported trading volumes (USD and BTC) over the selected multi-year period. Complements the daily [Exchange Volume Chart](https://docs.cryptorank.io/api-reference/exchanges/exchange-volume-chart).\n\n> **Note:** The current calendar month is partial — it holds the volume accumulated so far and updates daily. Explicit periods deeper than your plan's history limit return `403 PLAN_LIMIT_EXCEEDED`. Use `all` to get the deepest window your plan allows.\n\n**Access**\n- Available from: **Advanced**\n- Cost: 1 credit per request",
        "operationId": "ExchangesController_getMonthlyVolumeChart",
        "parameters": [
          {
            "description": "Exchange ID. See: [GET /v3/exchanges/map](https://docs.cryptorank.io/api-reference/exchanges/exchanges-map).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 200,
              "type": "integer"
            }
          },
          {
            "description": "Look-back period. Explicit values deeper than your plan's history limit return `403 PLAN_LIMIT_EXCEEDED` — Advanced up to `2y`, Pro up to `5y`, Business up to `10y`. `all` never fails: it returns the deepest window available on your plan. `ytd` covers the current calendar year.",
            "in": "query",
            "name": "period",
            "required": false,
            "schema": {
              "default": "2y",
              "enum": [
                "1y",
                "2y",
                "3y",
                "5y",
                "10y",
                "ytd",
                "all"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/ExchangeMonthlyVolumePointDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Exchange not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Exchange Monthly Volume Chart",
        "tags": [
          "Exchanges"
        ],
        "x-mint": {
          "content": "<Note>\nThe current calendar month is partial — it holds the volume accumulated so far and updates daily. Explicit periods deeper than your plan's history limit return `403 PLAN_LIMIT_EXCEEDED`. Use `all` to get the deepest window your plan allows.\n</Note>",
          "metadata": {
            "description": "Monthly adjusted and reported trading volumes (USD and BTC) over the selected multi-year period. Complements the daily [Exchange Volume Chart](https://docs.cryptorank.io/api-reference/exchanges/exchange-volume-chart).<br/><br/>Available from&#58; <Badge color=\"green\">Advanced</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/fiat/list": {
      "get": {
        "description": "**Description**\n\nReturns all fiat currencies supported for price conversion via the convert parameter.\n\n> **Tip:** Pass a currency code from this list to the convert parameter on market-data endpoints.\n\n**Access**\n- Available from: **Sandbox**\n- Cost: 1 credit per request",
        "operationId": "FiatController_getList",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/FiatListItemDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Supported Fiat Currency List",
        "tags": [
          "Fiat"
        ],
        "x-mint": {
          "content": "<Tip>\nPass a currency code from this list to the convert parameter on market-data endpoints.\n</Tip>",
          "metadata": {
            "description": "Returns all fiat currencies supported for price conversion via the convert parameter.<br/><br/>Available from&#58; <Badge color=\"gray\">Sandbox</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/funding-rounds/list": {
      "get": {
        "description": "**Description**\n\nReturns a feed of the latest funding rounds, with filters.\n\n> **Note:** from/to select a window within the available depth.\n\n> **Tip:** For a single coin's rounds, filter this feed by the `currencyId` query parameter.\n\n**Access**\n- Available from: **Pro**\n- Cost: 1 credit per request",
        "operationId": "FundingRoundsController_getList",
        "parameters": [
          {
            "description": "Page number (1-based). Returns up to 50 items per page.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "maximum": 1000,
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "description": "Filter by round type. Value must match a stored round-type label exactly.",
            "in": "query",
            "name": "stage",
            "required": false,
            "schema": {
              "enum": [
                "ANGEL",
                "Debt Financing",
                "Extended Pre-Seed",
                "Extended Seed",
                "Extended Series A",
                "Extended Series B",
                "Extended Series C",
                "Extended Series D",
                "Grant",
                "IPO",
                "Incubation",
                "KOL",
                "M&A",
                "OTC Purchase",
                "PIPE",
                "Post-IPO",
                "Post-IPO Debt",
                "PRESALE",
                "PRE SEED",
                "Pre-Series A",
                "Pre-Series B",
                "Private Token Sale",
                "SEED",
                "SERIES A",
                "SERIES B",
                "SERIES C",
                "SERIES D",
                "Series E",
                "Series F",
                "Series G",
                "Series H",
                "STRATEGIC",
                "Treasury Diversification",
                "Undisclosed"
              ],
              "example": "SEED",
              "type": "string"
            }
          },
          {
            "description": "Window start — lower bound on the round date (inclusive). Accepts ISO 8601 string or Unix timestamp (sec/ms).",
            "in": "query",
            "name": "from",
            "required": false,
            "schema": {
              "example": "2024-01-01T00:00:00.000Z",
              "type": "string"
            }
          },
          {
            "description": "Window end — upper bound on the round date (inclusive). Accepts ISO 8601 string or Unix timestamp (sec/ms). Bare `YYYY-MM-DD` is coerced to end-of-day UTC.",
            "in": "query",
            "name": "to",
            "required": false,
            "schema": {
              "example": "2024-12-31T23:59:59.999Z",
              "type": "string"
            }
          },
          {
            "description": "Minimum round size in USD (inclusive).",
            "in": "query",
            "name": "minRaised",
            "required": false,
            "schema": {
              "example": 1000000,
              "type": "number"
            }
          },
          {
            "description": "Maximum round size in USD (inclusive).",
            "in": "query",
            "name": "maxRaised",
            "required": false,
            "schema": {
              "example": 100000000,
              "type": "number"
            }
          },
          {
            "description": "Filter by coin primary category identifier. See: [GET /v3/currencies/categories](https://docs.cryptorank.io/api-reference/currencies/coin-categories).",
            "in": "query",
            "name": "categoryId",
            "required": false,
            "schema": {
              "example": 12,
              "type": "number"
            }
          },
          {
            "description": "Filter rounds with participation of the fund with this identifier. See: [GET /v3/funds/map](https://docs.cryptorank.io/api-reference/funds/funds-map-id-reference).",
            "in": "query",
            "name": "fundId",
            "required": false,
            "schema": {
              "example": 1,
              "type": "number"
            }
          },
          {
            "description": "When true, keep only rounds where the fund participated as a lead investor. Requires `fundId`; ignored without it.",
            "in": "query",
            "name": "fundIsLead",
            "required": false,
            "schema": {
              "example": true,
              "type": "boolean"
            }
          },
          {
            "description": "Filter by coin (currency) identifier. See: [GET /v3/currencies/map](https://docs.cryptorank.io/api-reference/currencies/currency-map-id-reference).",
            "in": "query",
            "name": "currencyId",
            "required": false,
            "schema": {
              "example": 28,
              "type": "number"
            }
          },
          {
            "description": "Sort field.",
            "in": "query",
            "name": "sortBy",
            "required": false,
            "schema": {
              "default": "id",
              "enum": [
                "id",
                "date",
                "raised"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sort direction.",
            "in": "query",
            "name": "sortOrder",
            "required": false,
            "schema": {
              "default": "asc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/FundingRoundListItemDto"
                      },
                      "type": "array"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/ListMetaDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "meta",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Funding Rounds Feed",
        "tags": [
          "Funding Rounds"
        ],
        "x-mint": {
          "content": "<Note>\nfrom/to select a window within the available depth.\n</Note>\n\n<Tip>\nFor a single coin's rounds, filter this feed by the `currencyId` query parameter.\n</Tip>",
          "metadata": {
            "description": "Returns a feed of the latest funding rounds, with filters.<br/><br/>Available from&#58; <Badge color=\"orange\">Pro</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/funding-rounds/most-active-investors": {
      "get": {
        "description": "**Description**\n\nReturns the top investors by activity over the selected period: number of rounds participated in and, of those, how many as lead. Returns up to 50 funds.\n\n> **Note:** Activity is counted within the selected period only.\n\n**Access**\n- Available from: **Advanced**\n- Cost: 1 credit per request",
        "operationId": "FundingRoundsController_getMostActiveInvestors",
        "parameters": [
          {
            "description": "Activity period over which a fund’s rounds are counted. `all` returns the deepest window your plan allows: Basic 1y, Advanced 2y, Pro 5y, Business 10y.",
            "in": "query",
            "name": "period",
            "required": false,
            "schema": {
              "default": "90d",
              "enum": [
                "30d",
                "90d",
                "180d",
                "1y",
                "all"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sort field.",
            "in": "query",
            "name": "sortBy",
            "required": false,
            "schema": {
              "default": "investments",
              "enum": [
                "investments",
                "leadInvestments"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sort direction.",
            "in": "query",
            "name": "sortOrder",
            "required": false,
            "schema": {
              "default": "desc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/FundingRoundsMostActiveInvestorDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Most Active Investors",
        "tags": [
          "Funding Rounds"
        ],
        "x-mint": {
          "content": "<Note>\nActivity is counted within the selected period only.\n</Note>",
          "metadata": {
            "description": "Returns the top investors by activity over the selected period: number of rounds participated in and, of those, how many as lead. Returns up to 50 funds.<br/><br/>Available from&#58; <Badge color=\"green\">Advanced</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/funding-rounds/trends": {
      "get": {
        "description": "**Description**\n\nReturns an aggregated time series of funding rounds, bucketed by the selected `interval`: total raised, round count, and average/median round size per bucket.\n\n> **Note:** By default, late-stage / non-VC round types (IPO, Post-IPO, Post-IPO Debt, Debt Financing, M&A, PIPE) are excluded — override with `excludeStages`.\n\n> **Note:** A `from`/`to` range reaching deeper than your plan allows returns `403 PLAN_LIMIT_EXCEEDED` — the window is never silently cut.\n\n**Access**\n- Available from: **Advanced**\n- Cost: 1 credit per request",
        "operationId": "FundingRoundsController_getTrends",
        "parameters": [
          {
            "description": "Bucket size for aggregation: `1d` — daily, `1w` — weekly (ISO week), `1m` — monthly.",
            "in": "query",
            "name": "interval",
            "required": true,
            "schema": {
              "enum": [
                "1d",
                "1w",
                "1m"
              ],
              "example": "1m",
              "type": "string"
            }
          },
          {
            "description": "Lower bound on the round date (inclusive). Accepts ISO 8601 string or Unix timestamp (sec/ms). Bounded by your plan's history limit — Advanced 2y, Pro 5y, Business 10y.",
            "in": "query",
            "name": "from",
            "required": true,
            "schema": {
              "example": "2024-01-01T00:00:00.000Z",
              "type": "string"
            }
          },
          {
            "description": "Upper bound on the round date (inclusive). Accepts ISO 8601 string or Unix timestamp (sec/ms). Bare `YYYY-MM-DD` is coerced to end-of-day UTC. Defaults to now.",
            "in": "query",
            "name": "to",
            "required": false,
            "schema": {
              "example": "2024-12-31T23:59:59.999Z",
              "type": "string"
            }
          },
          {
            "description": "Filter by coin primary category identifier. See: [GET /v3/currencies/categories](https://docs.cryptorank.io/api-reference/currencies/coin-categories).",
            "in": "query",
            "name": "categoryId",
            "required": false,
            "schema": {
              "example": 12,
              "type": "number"
            }
          },
          {
            "description": "Comma-separated round types to exclude from the aggregate. Defaults to late-stage / non-VC types: IPO, Post-IPO, Post-IPO Debt, Debt Financing, M&A, PIPE.",
            "in": "query",
            "name": "excludeStages",
            "required": false,
            "schema": {
              "example": "IPO,Post-IPO,M&A",
              "items": {
                "enum": [
                  "ANGEL",
                  "Debt Financing",
                  "Extended Pre-Seed",
                  "Extended Seed",
                  "Extended Series A",
                  "Extended Series B",
                  "Extended Series C",
                  "Extended Series D",
                  "Grant",
                  "IPO",
                  "Incubation",
                  "KOL",
                  "M&A",
                  "OTC Purchase",
                  "PIPE",
                  "Post-IPO",
                  "Post-IPO Debt",
                  "PRESALE",
                  "PRE SEED",
                  "Pre-Series A",
                  "Pre-Series B",
                  "Private Token Sale",
                  "SEED",
                  "SERIES A",
                  "SERIES B",
                  "SERIES C",
                  "SERIES D",
                  "Series E",
                  "Series F",
                  "Series G",
                  "Series H",
                  "STRATEGIC",
                  "Treasury Diversification",
                  "Undisclosed"
                ],
                "type": "string"
              },
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/FundingRoundsTrendPointDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Fundraising Trends (Aggregate)",
        "tags": [
          "Funding Rounds"
        ],
        "x-mint": {
          "content": "<Note>\nBy default, late-stage / non-VC round types (IPO, Post-IPO, Post-IPO Debt, Debt Financing, M&A, PIPE) are excluded — override with `excludeStages`.\n</Note>\n\n<Note>\nA `from`/`to` range reaching deeper than your plan allows returns `403 PLAN_LIMIT_EXCEEDED` — the window is never silently cut.\n</Note>",
          "metadata": {
            "description": "Returns an aggregated time series of funding rounds, bucketed by the selected `interval`: total raised, round count, and average/median round size per bucket.<br/><br/>Available from&#58; <Badge color=\"green\">Advanced</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/funding-rounds/{id}": {
      "get": {
        "description": "**Description**\n\nReturns full details for a single funding round, including valuation, round description, source link, and the investor list split into lead and other investors.\n\n> **Tip:** Take round IDs from the [/funding-rounds](https://docs.cryptorank.io/api-reference/funding-rounds/funding-rounds-feed) feed.\n\n**Access**\n- Available from: **Business**\n- Cost: 1 credit per request",
        "operationId": "FundingRoundsController_getById",
        "parameters": [
          {
            "description": "Funding round ID. See: [GET /v3/funding-rounds/list](https://docs.cryptorank.io/api-reference/funding-rounds/funding-rounds-feed).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/FundingRoundByIdDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Funding round not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Funding Round Detail",
        "tags": [
          "Funding Rounds"
        ],
        "x-mint": {
          "content": "<Tip>\nTake round IDs from the [/funding-rounds](https://docs.cryptorank.io/api-reference/funding-rounds/funding-rounds-feed) feed.\n</Tip>",
          "metadata": {
            "description": "Returns full details for a single funding round, including valuation, round description, source link, and the investor list split into lead and other investors.<br/><br/>Available from&#58; <Badge color=\"yellow\">Business</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/funds/list": {
      "get": {
        "description": "**Description**\n\nReturns a list of funds with aggregated portfolio and activity metrics.\n\n**Access**\n- Available from: **Advanced**\n- Cost: 1 credit per request",
        "operationId": "FundsController_getList",
        "parameters": [
          {
            "description": "Page number (1-based). Returns up to 100 items per page.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "maximum": 1000,
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "description": "Filter to funds that invested in this coin (coin id). See: [GET /v3/currencies/map](https://docs.cryptorank.io/api-reference/currencies/currency-map-id-reference).",
            "in": "query",
            "name": "currencyId",
            "required": false,
            "schema": {
              "example": 28,
              "type": "number"
            }
          },
          {
            "description": "Comma-separated fund tiers (1–5).",
            "in": "query",
            "name": "tier",
            "required": false,
            "schema": {
              "example": "1,2",
              "type": "string"
            }
          },
          {
            "description": "Sort field.",
            "in": "query",
            "name": "sortBy",
            "required": false,
            "schema": {
              "default": "id",
              "enum": [
                "id",
                "retailRoi",
                "fundingRoundsCount",
                "leadInvestmentsCount"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sort direction.",
            "in": "query",
            "name": "sortOrder",
            "required": false,
            "schema": {
              "default": "desc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/FundListItemDto"
                      },
                      "type": "array"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/ListMetaDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "meta",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Funds List with Metrics",
        "tags": [
          "Funds"
        ],
        "x-mint": {
          "metadata": {
            "description": "Returns a list of funds with aggregated portfolio and activity metrics.<br/><br/>Available from&#58; <Badge color=\"green\">Advanced</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/funds/map": {
      "get": {
        "description": "**Description**\n\nReturns a lightweight list of all available funds with their IDs.\n\n**Access**\n- Available from: **Sandbox**\n- Cost: 1 credit per request",
        "operationId": "FundsController_getMap",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/FundMapItemDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Funds Map (ID Reference)",
        "tags": [
          "Funds"
        ],
        "x-mint": {
          "metadata": {
            "description": "Returns a lightweight list of all available funds with their IDs.<br/><br/>Available from&#58; <Badge color=\"gray\">Sandbox</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/funds/{id}": {
      "get": {
        "description": "**Description**\n\nReturns a fund's profile: identity & metrics.\n\n> **Note:** Portfolio breakdowns (top investments, focus areas, stages, countries, co-investors) are served via separate sub-endpoints.\n\n**Access**\n- Available from: **Advanced**\n- Cost: 1 credit per request",
        "operationId": "FundsController_getById",
        "parameters": [
          {
            "description": "Fund ID. See: [GET /v3/funds/map](https://docs.cryptorank.io/api-reference/funds/funds-map-id-reference).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/FundByIdDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Fund not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Fund Profile (Summary)",
        "tags": [
          "Funds"
        ],
        "x-mint": {
          "content": "<Note>\nPortfolio breakdowns (top investments, focus areas, stages, countries, co-investors) are served via separate sub-endpoints.\n</Note>",
          "metadata": {
            "description": "Returns a fund's profile: identity & metrics.<br/><br/>Available from&#58; <Badge color=\"green\">Advanced</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/funds/{id}/co-investors": {
      "get": {
        "description": "**Description**\n\nReturns funds that participated alongside this fund in the same rounds.\n\n> **Note:** Without from/to — all shared rounds across all time.\n\nWith from/to — only rounds within the window; a co-investor with no shared rounds in the window is dropped from the list.\n\n**Access**\n- Available from: **Business**\n- Cost: 1 credit per request",
        "operationId": "FundsController_getCoInvestors",
        "parameters": [
          {
            "description": "Fund ID. See: [GET /v3/funds/map](https://docs.cryptorank.io/api-reference/funds/funds-map-id-reference).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Lower bound on the shared-round date (inclusive). Accepts ISO 8601 string or Unix timestamp (sec/ms). Omit for no lower bound.",
            "in": "query",
            "name": "from",
            "required": false,
            "schema": {
              "example": "2024-01-01T00:00:00.000Z",
              "type": "string"
            }
          },
          {
            "description": "Upper bound on the shared-round date (inclusive). Accepts ISO 8601 string or Unix timestamp (sec/ms). Bare `YYYY-MM-DD` is coerced to end-of-day UTC. Omit for no upper bound.",
            "in": "query",
            "name": "to",
            "required": false,
            "schema": {
              "example": "2024-12-31T23:59:59.999Z",
              "type": "string"
            }
          },
          {
            "description": "Sort field.",
            "in": "query",
            "name": "sortBy",
            "required": false,
            "schema": {
              "default": "jointRoundsCount",
              "enum": [
                "jointRoundsCount",
                "lastJointRoundDate",
                "tier"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sort direction.",
            "in": "query",
            "name": "sortOrder",
            "required": false,
            "schema": {
              "default": "desc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/FundCoInvestorItemDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Fund not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Fund Co-Investors",
        "tags": [
          "Funds"
        ],
        "x-mint": {
          "content": "<Note>\nWithout from/to — all shared rounds across all time.\n\nWith from/to — only rounds within the window; a co-investor with no shared rounds in the window is dropped from the list.\n</Note>",
          "metadata": {
            "description": "Returns funds that participated alongside this fund in the same rounds.<br/><br/>Available from&#58; <Badge color=\"yellow\">Business</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/funds/{id}/country": {
      "get": {
        "description": "**Description**\n\nReturns the distribution of a fund's investments across project countries.\n\n**Access**\n- Available from: **Pro**\n- Cost: 1 credit per request",
        "operationId": "FundsController_getCountry",
        "parameters": [
          {
            "description": "Fund ID. See: [GET /v3/funds/map](https://docs.cryptorank.io/api-reference/funds/funds-map-id-reference).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/FundCountryItemDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Fund not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Fund Investments by Country",
        "tags": [
          "Funds"
        ],
        "x-mint": {
          "metadata": {
            "description": "Returns the distribution of a fund's investments across project countries.<br/><br/>Available from&#58; <Badge color=\"orange\">Pro</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/funds/{id}/focus-area": {
      "get": {
        "description": "**Description**\n\nReturns the distribution of a fund's investments across categories.\n\n**Access**\n- Available from: **Pro**\n- Cost: 1 credit per request",
        "operationId": "FundsController_getFocusArea",
        "parameters": [
          {
            "description": "Fund ID. See: [GET /v3/funds/map](https://docs.cryptorank.io/api-reference/funds/funds-map-id-reference).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/FundFocusAreaItemDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Fund not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Fund Focus Area",
        "tags": [
          "Funds"
        ],
        "x-mint": {
          "metadata": {
            "description": "Returns the distribution of a fund's investments across categories.<br/><br/>Available from&#58; <Badge color=\"orange\">Pro</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/funds/{id}/portfolio": {
      "get": {
        "description": "**Description**\n\nReturns the full portfolio of a fund: every project it has backed, with market data for traded coins and aggregates of the rounds the fund took part in.\n\n> **Note:** `totalInvested` is the total size of every round the fund participated in — the full round size, not the fund's individual contribution.\n\n> **Tip:** Projects backed without a disclosed funding round are included with `viaRound: false` and `roundsCount: 0`. To list the rounds themselves, use [/funding-rounds/list?fundId={id}](https://docs.cryptorank.io/api-reference/funding-rounds/funding-rounds-feed).\n\n> **Note:** Market fields (`price`, `marketCap`, `volume24h`, `priceChangePercent24h`, `retailRoi`) are `null` for projects that are not traded.\n\n**Access**\n- Available from: **Pro**\n- Cost: 1 credit per request",
        "operationId": "FundsController_getPortfolio",
        "parameters": [
          {
            "description": "Fund ID. See: [GET /v3/funds/map](https://docs.cryptorank.io/api-reference/funds/funds-map-id-reference).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Page number (1-based). Returns up to 50 items per page.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "maximum": 1000,
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "description": "Comma-separated lifecycle states: scheduled, funding, crowdsale, traded, inactive, unknown. Omit to include all states.",
            "in": "query",
            "name": "lifecycle",
            "required": false,
            "schema": {
              "example": "traded,funding",
              "type": "string"
            }
          },
          {
            "description": "Filter by the project's primary category. See: [GET /v3/currencies/categories](https://docs.cryptorank.io/api-reference/currencies/coin-categories).",
            "in": "query",
            "name": "categoryId",
            "required": false,
            "schema": {
              "example": 54,
              "type": "number"
            }
          },
          {
            "description": "True keeps projects where the fund led at least one round. False keeps projects where the fund never led a round, including backer-only projects. Omit to include both.",
            "in": "query",
            "name": "isLead",
            "required": false,
            "schema": {
              "example": true,
              "type": "boolean"
            }
          },
          {
            "description": "Lower bound on the first round with fund participation (inclusive). Accepts ISO 8601 or Unix timestamp (sec/ms). Projects without a known first round date are excluded.",
            "in": "query",
            "name": "from",
            "required": false,
            "schema": {
              "example": "2024-01-01T00:00:00.000Z",
              "type": "string"
            }
          },
          {
            "description": "Upper bound on the first round with fund participation (inclusive). Accepts ISO 8601 or Unix timestamp (sec/ms). Bare YYYY-MM-DD means end-of-day UTC. Projects without a known first round date are excluded.",
            "in": "query",
            "name": "to",
            "required": false,
            "schema": {
              "example": "2024-12-31T23:59:59.999Z",
              "type": "string"
            }
          },
          {
            "description": "Sort field.",
            "in": "query",
            "name": "sortBy",
            "required": false,
            "schema": {
              "default": "id",
              "enum": [
                "id",
                "marketCap",
                "retailRoi",
                "latestRoundDate",
                "firstRoundDate",
                "totalInvested",
                "roundsCount",
                "name"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sort direction. Null values are always placed last.",
            "in": "query",
            "name": "sortOrder",
            "required": false,
            "schema": {
              "default": "desc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          },
          {
            "description": "Fiat ISO code for price, marketCap, volume24h and totalInvested. See: [GET /v3/fiat/list](https://docs.cryptorank.io/api-reference/fiat/supported-fiat-currency-list).",
            "in": "query",
            "name": "convert",
            "required": false,
            "schema": {
              "default": "USD",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/FundPortfolioItemDto"
                      },
                      "type": "array"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/ListMetaDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "meta",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Fund not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Fund Portfolio",
        "tags": [
          "Funds"
        ],
        "x-mint": {
          "content": "<Note>\n`totalInvested` is the total size of every round the fund participated in — the full round size, not the fund's individual contribution.\n</Note>\n\n<Tip>\nProjects backed without a disclosed funding round are included with `viaRound: false` and `roundsCount: 0`. To list the rounds themselves, use [/funding-rounds/list?fundId={id}](https://docs.cryptorank.io/api-reference/funding-rounds/funding-rounds-feed).\n</Tip>\n\n<Note>\nMarket fields (`price`, `marketCap`, `volume24h`, `priceChangePercent24h`, `retailRoi`) are `null` for projects that are not traded.\n</Note>",
          "metadata": {
            "description": "Returns the full portfolio of a fund: every project it has backed, with market data for traded coins and aggregates of the rounds the fund took part in.<br/><br/>Available from&#58; <Badge color=\"orange\">Pro</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/funds/{id}/stages": {
      "get": {
        "description": "**Description**\n\nReturns the distribution of a fund's investments across round stages.\n\n**Access**\n- Available from: **Pro**\n- Cost: 1 credit per request",
        "operationId": "FundsController_getStages",
        "parameters": [
          {
            "description": "Fund ID. See: [GET /v3/funds/map](https://docs.cryptorank.io/api-reference/funds/funds-map-id-reference).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/FundStageItemDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Fund not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Fund Investments by Stage",
        "tags": [
          "Funds"
        ],
        "x-mint": {
          "metadata": {
            "description": "Returns the distribution of a fund's investments across round stages.<br/><br/>Available from&#58; <Badge color=\"orange\">Pro</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/funds/{id}/top-investments": {
      "get": {
        "description": "**Description**\n\nReturns the top projects in a fund's portfolio.\n\n> **Note:** Attention: totalInvested is the total size of every round the fund participated in - the full round size, not the fund's individual contribution.\n\n**Access**\n- Available from: **Pro**\n- Cost: 1 credit per request",
        "operationId": "FundsController_getTopInvestments",
        "parameters": [
          {
            "description": "Fund ID. See: [GET /v3/funds/map](https://docs.cryptorank.io/api-reference/funds/funds-map-id-reference).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/FundTopInvestmentsItemDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Fund not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Fund Top Investments",
        "tags": [
          "Funds"
        ],
        "x-mint": {
          "content": "<Note>\nAttention: totalInvested is the total size of every round the fund participated in - the full round size, not the fund's individual contribution.\n</Note>",
          "metadata": {
            "description": "Returns the top projects in a fund's portfolio.<br/><br/>Available from&#58; <Badge color=\"orange\">Pro</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/global/altcoin-index": {
      "get": {
        "description": "**Description**\n\nReturns the current and previous Altcoin Season Index values with their classification.\n\n> **Note:** Index ≥ 75 - Altcoin Season; 26–74 - Neutral; ≤ 25 - Bitcoin Season.\n\n**Access**\n- Available from: **Sandbox**\n- Cost: 1 credit per request",
        "operationId": "GlobalController_getAltcoinIndex",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/GlobalAltcoinIndexResponseDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Altcoin Season Index",
        "tags": [
          "Global"
        ],
        "x-mint": {
          "content": "<Note>\nIndex ≥ 75 - Altcoin Season; 26–74 - Neutral; ≤ 25 - Bitcoin Season.\n</Note>",
          "metadata": {
            "description": "Returns the current and previous Altcoin Season Index values with their classification.<br/><br/>Available from&#58; <Badge color=\"gray\">Sandbox</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/global/altcoin-index/chart": {
      "get": {
        "description": "**Description**\n\nReturns a historical time series of the Altcoin Season Index.\n\n> **Note:** Fixed interval: 1d. Available periods: 7d, 30d, 6m, 1y, ytd, all.\n\n**Access**\n- Available from: **Basic**\n- Cost: 1 credit per request",
        "operationId": "GlobalController_getAltcoinIndexChart",
        "parameters": [
          {
            "description": "Chart time range. `all` returns the deepest window your plan allows: Basic 1y, Advanced 2y, Pro 5y, Business 10y.",
            "in": "query",
            "name": "period",
            "required": false,
            "schema": {
              "default": "7d",
              "enum": [
                "7d",
                "30d",
                "6m",
                "1y",
                "ytd",
                "all"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/ChartAltcoinIndexDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Altcoin Season Chart",
        "tags": [
          "Global"
        ],
        "x-mint": {
          "content": "<Note>\nFixed interval: 1d. Available periods: 7d, 30d, 6m, 1y, ytd, all.\n</Note>",
          "metadata": {
            "description": "Returns a historical time series of the Altcoin Season Index.<br/><br/>Available from&#58; <Badge color=\"blue\">Basic</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/global/dominance": {
      "get": {
        "description": "**Description**\n\nReturns current market-cap dominance percentages for Bitcoin, Ethereum, and other assets.\n\n> **Note:** Values are expressed as a percentage of total crypto market cap.\n\n**Access**\n- Available from: **Basic**\n- Cost: 1 credit per request",
        "operationId": "GlobalController_getDominance",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/GlobalDominanceResponseDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "BTC & ETH Dominance",
        "tags": [
          "Global"
        ],
        "x-mint": {
          "content": "<Note>\nValues are expressed as a percentage of total crypto market cap.\n</Note>",
          "metadata": {
            "description": "Returns current market-cap dominance percentages for Bitcoin, Ethereum, and other assets.<br/><br/>Available from&#58; <Badge color=\"blue\">Basic</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/global/dominance/chart": {
      "get": {
        "description": "**Description**\n\nReturns a historical dominance time series for the specified asset group over the selected period.\n\n> **Note:** Interval adjusts automatically by period:15m for 7d, 2h for 30d, 1d for 6m and 1y.\n\n> **Note:** Available asset groups: btc, eth, sol, usdt, bnb, top10, top50, top100.\n\n**Access**\n- Available from: **Basic**\n- Cost: 1 credit per request",
        "operationId": "GlobalController_getDominanceChart",
        "parameters": [
          {
            "description": "Coin or aggregate group to chart dominance for.",
            "in": "query",
            "name": "group",
            "required": false,
            "schema": {
              "default": "btc",
              "enum": [
                "btc",
                "eth",
                "sol",
                "usdt",
                "bnb",
                "top10",
                "top50",
                "top100"
              ],
              "type": "string"
            }
          },
          {
            "description": "Chart time range. `all` returns the deepest window your plan allows: Basic 1y, Advanced 2y, Pro 5y, Business 10y.",
            "in": "query",
            "name": "period",
            "required": false,
            "schema": {
              "default": "7d",
              "enum": [
                "7d",
                "30d",
                "6m",
                "1y",
                "ytd",
                "all"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/ChartDominanceDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Dominance Chart by Group (BTC, ETH, TOP-10 MCap, etc.)",
        "tags": [
          "Global"
        ],
        "x-mint": {
          "content": "<Note>\nInterval adjusts automatically by period:15m for 7d, 2h for 30d, 1d for 6m and 1y.\n</Note>\n\n<Note>\nAvailable asset groups: btc, eth, sol, usdt, bnb, top10, top50, top100.\n</Note>",
          "metadata": {
            "description": "Returns a historical dominance time series for the specified asset group over the selected period.<br/><br/>Available from&#58; <Badge color=\"blue\">Basic</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/global/fear-greed": {
      "get": {
        "description": "**Description**\n\nReturns the current Crypto Fear & Greed Index value and its classification.\n\n> **Note:** Classification bands: 0–25 Extreme Fear, 26–45 Fear, 46–55 Neutral, 56–75 Greed, 76–100 Extreme Greed.\n\n**Access**\n- Available from: **Sandbox**\n- Cost: 1 credit per request",
        "operationId": "GlobalController_getFearGreed",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/GlobalFearGreedResponseDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Fear & Greed Index",
        "tags": [
          "Global"
        ],
        "x-mint": {
          "content": "<Note>\nClassification bands: 0–25 Extreme Fear, 26–45 Fear, 46–55 Neutral, 56–75 Greed, 76–100 Extreme Greed.\n</Note>",
          "metadata": {
            "description": "Returns the current Crypto Fear & Greed Index value and its classification.<br/><br/>Available from&#58; <Badge color=\"gray\">Sandbox</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/global/fear-greed/chart": {
      "get": {
        "description": "**Description**\n\nReturns a historical time series of the Fear & Greed Index.\n\n> **Note:** Fixed interval: 1d. Available periods: 7d, 30d, 6m, 1y, ytd, all.\n\n**Access**\n- Available from: **Basic**\n- Cost: 1 credit per request",
        "operationId": "GlobalController_getFearGreedChart",
        "parameters": [
          {
            "description": "Chart time range. `all` returns the deepest window your plan allows: Basic 1y, Advanced 2y, Pro 5y, Business 10y.",
            "in": "query",
            "name": "period",
            "required": false,
            "schema": {
              "default": "7d",
              "enum": [
                "7d",
                "30d",
                "6m",
                "1y",
                "ytd",
                "all"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/ChartFearGreedDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Fear & Greed Chart",
        "tags": [
          "Global"
        ],
        "x-mint": {
          "content": "<Note>\nFixed interval: 1d. Available periods: 7d, 30d, 6m, 1y, ytd, all.\n</Note>",
          "metadata": {
            "description": "Returns a historical time series of the Fear & Greed Index.<br/><br/>Available from&#58; <Badge color=\"blue\">Basic</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/global/market": {
      "get": {
        "description": "**Description**\n\nReturns a real-time snapshot of the overall crypto market.\n\n> **Tip:** For BTC/ETH market share use [/global/dominance](https://docs.cryptorank.io/api-reference/global/btc-&-eth-dominance).\n\n**Access**\n- Available from: **Sandbox**\n- Cost: 1 credit per request",
        "operationId": "GlobalController_getMarket",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/GlobalMarketResponseDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Global Market Snapshot",
        "tags": [
          "Global"
        ],
        "x-mint": {
          "content": "<Tip>\nFor BTC/ETH market share use [/global/dominance](https://docs.cryptorank.io/api-reference/global/btc-&-eth-dominance).\n</Tip>",
          "metadata": {
            "description": "Returns a real-time snapshot of the overall crypto market.<br/><br/>Available from&#58; <Badge color=\"gray\">Sandbox</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/launchpads/list": {
      "get": {
        "description": "**Description**\n\nPaginated list of launchpads with performance metrics over the last year: `rank`, `salesCount`, `avgRoi` (average all-time-high ROI across sales as a multiplier) and `totalRaised`. Optionally filter by launchpad `type` (`IDO` / `IEO` / `ICO`). Sortable by `rank` (default), `salesCount`, `roi`; direction via `sortOrder` (`asc` / `desc`, default `asc`).\n\n**Access**\n- Available from: **Advanced**\n- Cost: 1 credit per request",
        "operationId": "LaunchpadsController_getList",
        "parameters": [
          {
            "description": "Page number (1-based). Returns up to 100 items per page.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "maximum": 1000,
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "description": "Sort field.",
            "in": "query",
            "name": "sortBy",
            "required": false,
            "schema": {
              "default": "rank",
              "enum": [
                "id",
                "rank",
                "salesCount",
                "roi"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sort direction.",
            "in": "query",
            "name": "sortOrder",
            "required": false,
            "schema": {
              "default": "asc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by launchpad type.",
            "in": "query",
            "name": "type",
            "required": false,
            "schema": {
              "enum": [
                "IDO",
                "IEO",
                "ICO"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/LaunchpadListItemDto"
                      },
                      "type": "array"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/ListMetaDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "meta",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Launchpads List with Metrics",
        "tags": [
          "Launchpads"
        ],
        "x-mint": {
          "metadata": {
            "description": "Paginated list of launchpads with performance metrics over the last year: `rank`, `salesCount`, `avgRoi` (average all-time-high ROI across sales as a multiplier) and `totalRaised`. Optionally filter by launchpad `type` (`IDO` / `IEO` / `ICO`). Sortable by `rank` (default), `salesCount`, `roi`; direction via `sortOrder` (`asc` / `desc`, default `asc`).<br/><br/>Available from&#58; <Badge color=\"green\">Advanced</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/launchpads/map": {
      "get": {
        "description": "**Description**\n\nLightweight list of all launchpads with their IDs for reference.\n\n**Access**\n- Available from: **Sandbox**\n- Cost: 1 credit per request",
        "operationId": "LaunchpadsController_getMap",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/LaunchpadMapItemDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Launchpads Map",
        "tags": [
          "Launchpads"
        ],
        "x-mint": {
          "metadata": {
            "description": "Lightweight list of all launchpads with their IDs for reference.<br/><br/>Available from&#58; <Badge color=\"gray\">Sandbox</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/launchpads/{id}": {
      "get": {
        "description": "**Description**\n\nFull launchpad profile and aggregate metrics.\n\n> **Note:** Per-sale history is served via [/public-sales/list](https://docs.cryptorank.io/api-reference/public-sales/public-sales-list) with the `launchpadIds` filter.\n\n**Access**\n- Available from: **Advanced**\n- Cost: 1 credit per request",
        "operationId": "LaunchpadsController_getById",
        "parameters": [
          {
            "description": "Launchpad ID. See: [GET /v3/launchpads/map](https://docs.cryptorank.io/api-reference/launchpads/launchpads-map).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 12,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/LaunchpadByIdDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Launchpad not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Launchpad Profile",
        "tags": [
          "Launchpads"
        ],
        "x-mint": {
          "content": "<Note>\nPer-sale history is served via [/public-sales/list](https://docs.cryptorank.io/api-reference/public-sales/public-sales-list) with the `launchpadIds` filter.\n</Note>",
          "metadata": {
            "description": "Full launchpad profile and aggregate metrics.<br/><br/>Available from&#58; <Badge color=\"green\">Advanced</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/news/feed": {
      "get": {
        "description": "**Description**\n\nCrypto news feed with title, summary, source, tags and related coins/funds.\n\n> **Note:** Filterable by coin, fund, tag, and date range.\n\n> **Tip:** `hasMainText` indicates whether a full article body is available via the [news detail endpoint](https://docs.cryptorank.io/api-reference/news/news-detail) — fetch it there. Check it before spending a credit on the detail call.\n\n**Access**\n- Available from: **Advanced**\n- Cost: 1 credit per request",
        "operationId": "NewsController_getFeed",
        "parameters": [
          {
            "description": "Opaque pagination cursor returned by the previous response as `meta.nextCursor`. Pass it back unchanged to fetch the next page.",
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by article language. Omit to return all languages.",
            "in": "query",
            "name": "language",
            "required": false,
            "schema": {
              "enum": [
                "en",
                "ru",
                "es",
                "zh",
                "tr",
                "vi",
                "pt",
                "ko"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by mentioned currency id — only articles that reference it. See: [GET /v3/currencies/map](https://docs.cryptorank.io/api-reference/currencies/currency-map-id-reference).",
            "in": "query",
            "name": "currencyId",
            "required": false,
            "schema": {
              "example": 1,
              "type": "number"
            }
          },
          {
            "description": "Filter by mentioned fund id — only articles that reference it. See: [GET /v3/funds/map](https://docs.cryptorank.io/api-reference/funds/funds-map-id-reference).",
            "in": "query",
            "name": "fundId",
            "required": false,
            "schema": {
              "example": 12,
              "type": "number"
            }
          },
          {
            "description": "Filter by tag id — only articles tagged with it.",
            "in": "query",
            "name": "tagId",
            "required": false,
            "schema": {
              "example": 5,
              "type": "number"
            }
          },
          {
            "description": "Return articles published on or after this moment (ISO 8601 or Unix timestamp in seconds/milliseconds).",
            "in": "query",
            "name": "from",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Return articles published on or before this moment (ISO 8601 or Unix timestamp in seconds/milliseconds). Bare dates (`YYYY-MM-DD`) are treated as end-of-day UTC so the named day is included.",
            "in": "query",
            "name": "to",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/NewsFeedItemDto"
                      },
                      "type": "array"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/CursorMetaDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "meta",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "News Feed",
        "tags": [
          "News"
        ],
        "x-mint": {
          "content": "<Note>\nFilterable by coin, fund, tag, and date range.\n</Note>\n\n<Tip>\n`hasMainText` indicates whether a full article body is available via the [news detail endpoint](https://docs.cryptorank.io/api-reference/news/news-detail) — fetch it there. Check it before spending a credit on the detail call.\n</Tip>",
          "metadata": {
            "description": "Crypto news feed with title, summary, source, tags and related coins/funds.<br/><br/>Available from&#58; <Badge color=\"green\">Advanced</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/news/{id}/main-text": {
      "get": {
        "description": "**Description**\n\nFull article body (main text) of a single news article by `id`.\n\n> **Warning:** Call only when `hasMainText` is true in the feed — otherwise the article has no separate body and the call wastes a credit.\n\n**Access**\n- Available from: **Advanced**\n- Cost: 1 credit per request",
        "operationId": "NewsController_getMainText",
        "parameters": [
          {
            "description": "News ID. See: [GET /v3/news/feed](https://docs.cryptorank.io/api-reference/news/news-feed).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 85165537,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/NewsMainTextDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "News not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "News Detail",
        "tags": [
          "News"
        ],
        "x-mint": {
          "content": "<Warning>\nCall only when `hasMainText` is true in the feed — otherwise the article has no separate body and the call wastes a credit.\n</Warning>",
          "metadata": {
            "description": "Full article body (main text) of a single news article by `id`.<br/><br/>Available from&#58; <Badge color=\"green\">Advanced</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/persons/list": {
      "get": {
        "description": "**Description**\n\nPersons with category and summary counters for browsing.\n\n> **Note:** For full details use [/persons/:id](https://docs.cryptorank.io/api-reference/persons/person-profile) and its sub-endpoints.\n\n**Access**\n- Available from: **Pro**\n- Cost: 1 credit per request",
        "operationId": "PersonsController_getList",
        "parameters": [
          {
            "description": "Page number (1-based). Returns up to 100 items per page.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "maximum": 1000,
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "description": "Comma-separated person category identifiers. Matches persons in any of the given categories.",
            "in": "query",
            "name": "categoryIds",
            "required": false,
            "schema": {
              "example": "3,6",
              "type": "string"
            }
          },
          {
            "description": "Sort field.",
            "in": "query",
            "name": "sortBy",
            "required": false,
            "schema": {
              "default": "id",
              "enum": [
                "projectsCount",
                "name",
                "id"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sort direction.",
            "in": "query",
            "name": "sortOrder",
            "required": false,
            "schema": {
              "default": "desc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/PersonListItemDto"
                      },
                      "type": "array"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/ListMetaDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "meta",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Persons List",
        "tags": [
          "Persons"
        ],
        "x-mint": {
          "content": "<Note>\nFor full details use [/persons/:id](https://docs.cryptorank.io/api-reference/persons/person-profile) and its sub-endpoints.\n</Note>",
          "metadata": {
            "description": "Persons with category and summary counters for browsing.<br/><br/>Available from&#58; <Badge color=\"orange\">Pro</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/persons/map": {
      "get": {
        "description": "**Description**\n\nLightweight list of all persons.\n\n**Access**\n- Available from: **Sandbox**\n- Cost: 1 credit per request",
        "operationId": "PersonsController_getMap",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/PersonMapItemDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Persons Map",
        "tags": [
          "Persons"
        ],
        "x-mint": {
          "metadata": {
            "description": "Lightweight list of all persons.<br/><br/>Available from&#58; <Badge color=\"gray\">Sandbox</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/persons/{id}": {
      "get": {
        "description": "**Description**\n\nProfile header of a single person.\n\n> **Note:** Positions and education are served via separate sub-endpoints.\n\n**Access**\n- Available from: **Business**\n- Cost: 1 credit per request",
        "operationId": "PersonsController_getById",
        "parameters": [
          {
            "description": "Person ID. See: [GET /v3/persons/map](https://docs.cryptorank.io/api-reference/persons/persons-map).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/PersonByIdDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Person not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Person Profile",
        "tags": [
          "Persons"
        ],
        "x-mint": {
          "content": "<Note>\nPositions and education are served via separate sub-endpoints.\n</Note>",
          "metadata": {
            "description": "Profile header of a single person.<br/><br/>Available from&#58; <Badge color=\"yellow\">Business</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/persons/{id}/education": {
      "get": {
        "description": "**Description**\n\nEducation history of a person.\n\n**Access**\n- Available from: **Business**\n- Cost: 1 credit per request",
        "operationId": "PersonsController_getEducation",
        "parameters": [
          {
            "description": "Person ID. See: [GET /v3/persons/map](https://docs.cryptorank.io/api-reference/persons/persons-map).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/PersonEducationDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Person not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Person Educations",
        "tags": [
          "Persons"
        ],
        "x-mint": {
          "metadata": {
            "description": "Education history of a person.<br/><br/>Available from&#58; <Badge color=\"yellow\">Business</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/persons/{id}/positions": {
      "get": {
        "description": "**Description**\n\nCurrent and previous positions of a person across currencies, exchanges, funds and launchpads.\n\n**Access**\n- Available from: **Business**\n- Cost: 1 credit per request",
        "operationId": "PersonsController_getPositions",
        "parameters": [
          {
            "description": "Person ID. See: [GET /v3/persons/map](https://docs.cryptorank.io/api-reference/persons/persons-map).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/PersonPositionDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Person not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Person Positions",
        "tags": [
          "Persons"
        ],
        "x-mint": {
          "metadata": {
            "description": "Current and previous positions of a person across currencies, exchanges, funds and launchpads.<br/><br/>Available from&#58; <Badge color=\"yellow\">Business</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/ping": {
      "get": {
        "description": "**Description**\n\nReturns the current server timestamp.\n\n> **Note:** No API key required.\n\n> **Tip:** Use it to verify the API is reachable and to measure response latency before sending production requests.\n\n**Access**\n- Available from: **Sandbox**\n- Cost: Free",
        "operationId": "SystemController_ping",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PingResponseDto"
                }
              }
            },
            "description": ""
          }
        },
        "summary": "API Health Check",
        "tags": [
          "System"
        ],
        "x-mint": {
          "content": "<Note>\nNo API key required.\n</Note>\n\n<Tip>\nUse it to verify the API is reachable and to measure response latency before sending production requests.\n</Tip>",
          "metadata": {
            "description": "Returns the current server timestamp.<br/><br/>Available from&#58; <Badge color=\"gray\">Sandbox</Badge><br/>Cost&#58; <Badge color=\"surface\">Free</Badge>"
          }
        }
      }
    },
    "/v3/public-sales/list": {
      "get": {
        "description": "**Description**\n\nReturns a feed of public sales, with filters.\n\n> **Tip:** Sale details are available via [/public-sales/:id](https://docs.cryptorank.io/api-reference/public-sales/public-sale-detail).\n\n**Access**\n- Available from: **Pro**\n- Cost: 1 credit per request",
        "operationId": "PublicSalesController_getList",
        "parameters": [
          {
            "description": "Page number (1-based). Returns up to 100 items per page.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "maximum": 1000,
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "description": "Currency ID. See: [GET /v3/currencies/map](https://docs.cryptorank.io/api-reference/currencies/currency-map-id-reference).",
            "in": "query",
            "name": "currencyId",
            "required": false,
            "schema": {
              "example": 28,
              "type": "number"
            }
          },
          {
            "description": "Sale type.",
            "in": "query",
            "name": "type",
            "required": false,
            "schema": {
              "enum": [
                "Angel",
                "ICO",
                "IEO",
                "IDO",
                "Node Sale",
                "KOL",
                "Private/Pre-sale",
                "Private",
                "Private 2",
                "Pre-sale",
                "Strategic",
                "Strategic 2",
                "Pre-Seed",
                "Seed"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sale status.",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "enum": [
                "upcoming",
                "active",
                "past"
              ],
              "type": "string"
            }
          },
          {
            "description": "Comma-separated launchpad IDs. See: [GET /v3/launchpads/map](https://docs.cryptorank.io/api-reference/launchpads/launchpads-map).",
            "in": "query",
            "name": "launchpadIds",
            "required": false,
            "schema": {
              "example": "12,34",
              "type": "string"
            }
          },
          {
            "description": "Sale-date window start (inclusive). Accepts ISO 8601 string or Unix timestamp (sec/ms). Defaults to 30 days ago.",
            "in": "query",
            "name": "from",
            "required": false,
            "schema": {
              "example": "2024-01-01T00:00:00.000Z",
              "type": "string"
            }
          },
          {
            "description": "Sale-date window end (inclusive). Accepts ISO 8601 string or Unix timestamp (sec/ms). No default — open-ended, so upcoming sales are included.",
            "in": "query",
            "name": "to",
            "required": false,
            "schema": {
              "example": "2024-12-31T23:59:59.999Z",
              "type": "string"
            }
          },
          {
            "description": "Sort field.",
            "in": "query",
            "name": "sortBy",
            "required": false,
            "schema": {
              "default": "id",
              "enum": [
                "id",
                "date",
                "raised"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sort direction.",
            "in": "query",
            "name": "sortOrder",
            "required": false,
            "schema": {
              "default": "desc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/PublicSaleListItemDto"
                      },
                      "type": "array"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/ListMetaDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "meta",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Public Sales List",
        "tags": [
          "Public Sales"
        ],
        "x-mint": {
          "content": "<Tip>\nSale details are available via [/public-sales/:id](https://docs.cryptorank.io/api-reference/public-sales/public-sale-detail).\n</Tip>",
          "metadata": {
            "description": "Returns a feed of public sales, with filters.<br/><br/>Available from&#58; <Badge color=\"orange\">Pro</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/public-sales/trends": {
      "get": {
        "description": "**Description**\n\nAggregated time series of completed token sales (`ICO`, `IDO`, `IEO`). Each bucket includes total raised in USD and sales count by type.\n\n> **Note:** A `from`/`to` range reaching deeper than your plan allows returns `403 PLAN_LIMIT_EXCEEDED` — the window is never silently cut.\n\n**Access**\n- Available from: **Advanced**\n- Cost: 1 credit per request",
        "operationId": "PublicSalesController_getTrends",
        "parameters": [
          {
            "description": "Bucket size for aggregation: `1d` — daily, `1w` — weekly (ISO week), `1m` — monthly.",
            "in": "query",
            "name": "interval",
            "required": true,
            "schema": {
              "enum": [
                "1d",
                "1w",
                "1m"
              ],
              "example": "1m",
              "type": "string"
            }
          },
          {
            "description": "Sale-date window start (inclusive). Accepts ISO 8601 string or Unix timestamp (sec/ms). Bounded by your plan's history limit — Advanced 2y, Pro 5y, Business 10y.",
            "in": "query",
            "name": "from",
            "required": true,
            "schema": {
              "example": "2024-01-01T00:00:00.000Z",
              "type": "string"
            }
          },
          {
            "description": "Sale-date window end (inclusive). Accepts ISO 8601 string or Unix timestamp (sec/ms). Bare `YYYY-MM-DD` is coerced to end-of-day UTC. Defaults to now.",
            "in": "query",
            "name": "to",
            "required": false,
            "schema": {
              "example": "2024-12-31T23:59:59.999Z",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/PublicSalesTrendPointDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Public Sales Trends (Aggregate)",
        "tags": [
          "Public Sales"
        ],
        "x-mint": {
          "content": "<Note>\nA `from`/`to` range reaching deeper than your plan allows returns `403 PLAN_LIMIT_EXCEEDED` — the window is never silently cut.\n</Note>",
          "metadata": {
            "description": "Aggregated time series of completed token sales (`ICO`, `IDO`, `IEO`). Each bucket includes total raised in USD and sales count by type.<br/><br/>Available from&#58; <Badge color=\"green\">Advanced</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/public-sales/{id}": {
      "get": {
        "description": "**Description**\n\nFull data on a single public sale (token sale / crowdsale). Includes heavy and privileged fields not returned in the list view: valuation, initial market cap, tokens for sale, ROI / ATH ROI, project backers (`investors`) and the sale description.\n\n> **Warning:** ROI and ATH ROI are multipliers (×), not percentages.\n\n**Access**\n- Available from: **Pro**\n- Cost: 1 credit per request",
        "operationId": "PublicSalesController_getById",
        "parameters": [
          {
            "description": "Sale ID. See: [GET /v3/public-sales/list](https://docs.cryptorank.io/api-reference/public-sales/public-sales-list).",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": 1234,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/PublicSaleByIdDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NOT_FOUND"
                          ],
                          "example": "NOT_FOUND",
                          "type": "string"
                        },
                        "message": {
                          "example": "Resource not found",
                          "type": "string"
                        },
                        "status": {
                          "example": 404,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Public sale not found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Public Sale Detail",
        "tags": [
          "Public Sales"
        ],
        "x-mint": {
          "content": "<Warning>\nROI and ATH ROI are multipliers (×), not percentages.\n</Warning>",
          "metadata": {
            "description": "Full data on a single public sale (token sale / crowdsale). Includes heavy and privileged fields not returned in the list view: valuation, initial market cap, tokens for sale, ROI / ATH ROI, project backers (`investors`) and the sale description.<br/><br/>Available from&#58; <Badge color=\"orange\">Pro</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/status": {
      "get": {
        "description": "**Description**\n\nReturns the authenticated user's current plan, rate limit (RPM), and credit usage for the active billing period.\n\n> **Tip:** Poll it to monitor quota and build adaptive request throttling.\n\n**Access**\n- Available from: **Sandbox**\n- Cost: Free",
        "operationId": "SystemController_status",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatusResponseDto"
                }
              }
            },
            "description": ""
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription found"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "API Plan & Usage Status",
        "tags": [
          "System"
        ],
        "x-mint": {
          "content": "<Tip>\nPoll it to monitor quota and build adaptive request throttling.\n</Tip>",
          "metadata": {
            "description": "Returns the authenticated user's current plan, rate limit (RPM), and credit usage for the active billing period.<br/><br/>Available from&#58; <Badge color=\"gray\">Sandbox</Badge><br/>Cost&#58; <Badge color=\"surface\">Free</Badge>"
          }
        }
      }
    },
    "/v3/tickers": {
      "get": {
        "description": "**Description**\n\nTrading pairs filtered by coin, by exchange, or both.\n\n> **Note:** currencyId only — all tickers for a coin across exchanges; exchangeId only — all tickers on an exchange; both — tickers for that coin on that exchange.\n\n> **Note:** bid, ask and open24h are reported by the exchange and may be null for pairs where the exchange does not expose order-book data.\n\n**Access**\n- Available from: **Basic**\n- Cost: 1 credit per request",
        "operationId": "TickersController_getList",
        "parameters": [
          {
            "description": "Page number (1-based). Returns up to 50 items per page.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "maximum": 1000,
              "minimum": 1,
              "type": "number"
            }
          },
          {
            "description": "Filter by coin id — matches pairs where the coin is the base or the quote asset. See: [GET /v3/currencies/map](https://docs.cryptorank.io/api-reference/currencies/currency-map-id-reference).",
            "in": "query",
            "name": "currencyId",
            "required": false,
            "schema": {
              "example": 1,
              "type": "number"
            }
          },
          {
            "description": "Filter by exchange id. See: [GET /v3/exchanges/map](https://docs.cryptorank.io/api-reference/exchanges/exchanges-map).",
            "in": "query",
            "name": "exchangeId",
            "required": false,
            "schema": {
              "example": 200,
              "type": "number"
            }
          },
          {
            "description": "Filter by the base asset's coin id. See: [GET /v3/currencies/map](https://docs.cryptorank.io/api-reference/currencies/currency-map-id-reference).",
            "in": "query",
            "name": "baseCurrencyId",
            "required": false,
            "schema": {
              "example": 1,
              "type": "number"
            }
          },
          {
            "description": "Filter by the quote asset's coin id. See: [GET /v3/currencies/map](https://docs.cryptorank.io/api-reference/currencies/currency-map-id-reference).",
            "in": "query",
            "name": "quoteCurrencyId",
            "required": false,
            "schema": {
              "example": 16,
              "type": "number"
            }
          },
          {
            "description": "Filter by market kind. `derivative` covers both `perpetual` and `futures`.",
            "in": "query",
            "name": "marketType",
            "required": false,
            "schema": {
              "enum": [
                "spot",
                "perpetual",
                "futures",
                "derivative"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sort field.",
            "in": "query",
            "name": "sortBy",
            "required": false,
            "schema": {
              "default": "id",
              "enum": [
                "id",
                "volume",
                "spread",
                "lastPrice"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sort direction.",
            "in": "query",
            "name": "sortOrder",
            "required": false,
            "schema": {
              "default": "asc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/TickerItemDto"
                      },
                      "type": "array"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/ListMetaDto"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "meta",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Tickers",
        "tags": [
          "Tickers"
        ],
        "x-mint": {
          "content": "<Note>\ncurrencyId only — all tickers for a coin across exchanges; exchangeId only — all tickers on an exchange; both — tickers for that coin on that exchange.\n</Note>\n\n<Note>\nbid, ask and open24h are reported by the exchange and may be null for pairs where the exchange does not expose order-book data.\n</Note>",
          "metadata": {
            "description": "Trading pairs filtered by coin, by exchange, or both.<br/><br/>Available from&#58; <Badge color=\"blue\">Basic</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/token-unlocks/dynamics": {
      "get": {
        "description": "**Description**\n\nReturns market-wide token unlock dynamics as a time series (history and forecast), with no breakdown.\n\n> **Note:** Untracked allocations are excluded. Unlock value is computed from each token's current price, for both past and upcoming unlocks. Tokens whose price has stopped updating are left out.\n\n> **Tip:** Without `from`/`to` the window is skewed towards upcoming unlocks, sized to the selected `interval`. Both bounds snap to `interval` bucket starts. One response carries at most 366 daily, 520 weekly or 1000 monthly points — wider ranges have to be requested in slices.\n\n**Access**\n- Available from: **Advanced**\n- Cost: 1 credit per request",
        "operationId": "TokenUnlocksController_getDynamics",
        "parameters": [
          {
            "description": "Bucket size for aggregation: `1d` — daily, `1w` — weekly (ISO week, starts Monday), `1m` — monthly.",
            "in": "query",
            "name": "interval",
            "required": false,
            "schema": {
              "default": "1m",
              "enum": [
                "1d",
                "1w",
                "1m"
              ],
              "type": "string"
            }
          },
          {
            "description": "Lower bound on the unlock date, snapped down to the start of its `interval` bucket. Accepts ISO 8601 string or Unix timestamp (sec/ms). Defaults to the history side of the window for the selected `interval`.",
            "in": "query",
            "name": "from",
            "required": false,
            "schema": {
              "example": "2026-01-01T00:00:00.000Z",
              "type": "string"
            }
          },
          {
            "description": "Upper bound on the unlock date, snapped down to the start of its `interval` bucket, which is then included in full. May be in the future — upcoming unlocks are part of the series. Accepts ISO 8601 string or Unix timestamp (sec/ms). Defaults to the forecast side of the window for the selected `interval`.",
            "in": "query",
            "name": "to",
            "required": false,
            "schema": {
              "example": "2027-01-01T00:00:00.000Z",
              "type": "string"
            }
          },
          {
            "description": "Fiat ISO code for monetary fields (e.g. USD, EUR, RUB, AED). See: [GET /v3/fiat/list](https://docs.cryptorank.io/api-reference/fiat/supported-fiat-currency-list).",
            "in": "query",
            "name": "convert",
            "required": false,
            "schema": {
              "default": "USD",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/TokenUnlocksDynamicsPointDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Token Unlock Dynamics",
        "tags": [
          "Vesting & Token Unlocks"
        ],
        "x-mint": {
          "content": "<Note>\nUntracked allocations are excluded. Unlock value is computed from each token's current price, for both past and upcoming unlocks. Tokens whose price has stopped updating are left out.\n</Note>\n\n<Tip>\nWithout `from`/`to` the window is skewed towards upcoming unlocks, sized to the selected `interval`. Both bounds snap to `interval` bucket starts. One response carries at most 366 daily, 520 weekly or 1000 monthly points — wider ranges have to be requested in slices.\n</Tip>",
          "metadata": {
            "description": "Returns market-wide token unlock dynamics as a time series (history and forecast), with no breakdown.<br/><br/>Available from&#58; <Badge color=\"green\">Advanced</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/token-unlocks/dynamics/by-category": {
      "get": {
        "description": "**Description**\n\nReturns market-wide token unlock dynamics as a time series (history and forecast), split by coin primary category.\n\n> **Note:** Untracked allocations are excluded. Unlock value is computed from each token's current price, for both past and upcoming unlocks. Tokens whose price has stopped updating are left out.\n\n> **Note:** Coins without a category are grouped into a single `Uncategorized` entry, always placed last, so the breakdown always adds up to `totalUnlockValue`.\n\n> **Tip:** Without `from`/`to` the window is skewed towards upcoming unlocks, sized to the selected `interval`. Both bounds snap to `interval` bucket starts. One response carries at most 366 daily, 520 weekly or 1000 monthly points — wider ranges have to be requested in slices.\n\n**Access**\n- Available from: **Advanced**\n- Cost: 1 credit per request",
        "operationId": "TokenUnlocksController_getDynamicsByCategory",
        "parameters": [
          {
            "description": "Bucket size for aggregation: `1d` — daily, `1w` — weekly (ISO week, starts Monday), `1m` — monthly.",
            "in": "query",
            "name": "interval",
            "required": false,
            "schema": {
              "default": "1m",
              "enum": [
                "1d",
                "1w",
                "1m"
              ],
              "type": "string"
            }
          },
          {
            "description": "Lower bound on the unlock date, snapped down to the start of its `interval` bucket. Accepts ISO 8601 string or Unix timestamp (sec/ms). Defaults to the history side of the window for the selected `interval`.",
            "in": "query",
            "name": "from",
            "required": false,
            "schema": {
              "example": "2026-01-01T00:00:00.000Z",
              "type": "string"
            }
          },
          {
            "description": "Upper bound on the unlock date, snapped down to the start of its `interval` bucket, which is then included in full. May be in the future — upcoming unlocks are part of the series. Accepts ISO 8601 string or Unix timestamp (sec/ms). Defaults to the forecast side of the window for the selected `interval`.",
            "in": "query",
            "name": "to",
            "required": false,
            "schema": {
              "example": "2027-01-01T00:00:00.000Z",
              "type": "string"
            }
          },
          {
            "description": "Fiat ISO code for monetary fields (e.g. USD, EUR, RUB, AED). See: [GET /v3/fiat/list](https://docs.cryptorank.io/api-reference/fiat/supported-fiat-currency-list).",
            "in": "query",
            "name": "convert",
            "required": false,
            "schema": {
              "default": "USD",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/TokenUnlocksDynamicsByCategoryPointDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Token Unlock Dynamics by Category",
        "tags": [
          "Vesting & Token Unlocks"
        ],
        "x-mint": {
          "content": "<Note>\nUntracked allocations are excluded. Unlock value is computed from each token's current price, for both past and upcoming unlocks. Tokens whose price has stopped updating are left out.\n</Note>\n\n<Note>\nCoins without a category are grouped into a single `Uncategorized` entry, always placed last, so the breakdown always adds up to `totalUnlockValue`.\n</Note>\n\n<Tip>\nWithout `from`/`to` the window is skewed towards upcoming unlocks, sized to the selected `interval`. Both bounds snap to `interval` bucket starts. One response carries at most 366 daily, 520 weekly or 1000 monthly points — wider ranges have to be requested in slices.\n</Tip>",
          "metadata": {
            "description": "Returns market-wide token unlock dynamics as a time series (history and forecast), split by coin primary category.<br/><br/>Available from&#58; <Badge color=\"green\">Advanced</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    },
    "/v3/token-unlocks/dynamics/by-token": {
      "get": {
        "description": "**Description**\n\nReturns market-wide token unlock dynamics as a time series (history and forecast), split by individual token.\n\n> **Note:** Untracked allocations are excluded. Unlock value is computed from each token's current price, for both past and upcoming unlocks. Tokens whose price has stopped updating are left out.\n\n> **Note:** The top `topN` tokens are ranked by unlock value over the whole window, so one set of tokens carries the whole series — though a token with no unlocks in a given bucket is absent from that point. Everything outside the top-N is summed into a single `Others` entry, always placed last, so the breakdown always adds up to `totalUnlockValue`.\n\n> **Tip:** Without `from`/`to` the window is skewed towards upcoming unlocks, sized to the selected `interval`. Both bounds snap to `interval` bucket starts. One response carries at most 366 daily, 520 weekly or 1000 monthly points — wider ranges have to be requested in slices.\n\n**Access**\n- Available from: **Pro**\n- Cost: 1 credit per request",
        "operationId": "TokenUnlocksController_getDynamicsByToken",
        "parameters": [
          {
            "description": "Bucket size for aggregation: `1d` — daily, `1w` — weekly (ISO week, starts Monday), `1m` — monthly.",
            "in": "query",
            "name": "interval",
            "required": false,
            "schema": {
              "default": "1m",
              "enum": [
                "1d",
                "1w",
                "1m"
              ],
              "type": "string"
            }
          },
          {
            "description": "Lower bound on the unlock date, snapped down to the start of its `interval` bucket. Accepts ISO 8601 string or Unix timestamp (sec/ms). Defaults to the history side of the window for the selected `interval`.",
            "in": "query",
            "name": "from",
            "required": false,
            "schema": {
              "example": "2026-01-01T00:00:00.000Z",
              "type": "string"
            }
          },
          {
            "description": "Upper bound on the unlock date, snapped down to the start of its `interval` bucket, which is then included in full. May be in the future — upcoming unlocks are part of the series. Accepts ISO 8601 string or Unix timestamp (sec/ms). Defaults to the forecast side of the window for the selected `interval`.",
            "in": "query",
            "name": "to",
            "required": false,
            "schema": {
              "example": "2027-01-01T00:00:00.000Z",
              "type": "string"
            }
          },
          {
            "description": "Fiat ISO code for monetary fields (e.g. USD, EUR, RUB, AED). See: [GET /v3/fiat/list](https://docs.cryptorank.io/api-reference/fiat/supported-fiat-currency-list).",
            "in": "query",
            "name": "convert",
            "required": false,
            "schema": {
              "default": "USD",
              "type": "string"
            }
          },
          {
            "description": "How many tokens to list separately. Ranked by unlock value over the whole window, so one set of tokens carries the whole series; everything outside it is summed into `Others`. Up to 50.",
            "in": "query",
            "name": "topN",
            "required": false,
            "schema": {
              "default": 10,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/TokenUnlocksDynamicsByTokenPointDto"
                      },
                      "type": "array"
                    },
                    "status": {
                      "$ref": "#/components/schemas/ResponseStatusDto"
                    }
                  },
                  "required": [
                    "data",
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "VALIDATION_ERROR"
                          ],
                          "example": "VALIDATION_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Validation failed",
                          "type": "string"
                        },
                        "status": {
                          "example": 400,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Request validation failed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "API_KEY_MISSING",
                            "API_KEY_INVALID"
                          ],
                          "example": "API_KEY_MISSING",
                          "type": "string"
                        },
                        "message": {
                          "example": "API key is missing",
                          "type": "string"
                        },
                        "status": {
                          "example": 401,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "API key is missing or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "NO_ACTIVE_SUBSCRIPTION",
                            "ENDPOINT_NOT_AVAILABLE",
                            "PLAN_LIMIT_EXCEEDED"
                          ],
                          "example": "NO_ACTIVE_SUBSCRIPTION",
                          "type": "string"
                        },
                        "message": {
                          "example": "No active subscription found",
                          "type": "string"
                        },
                        "status": {
                          "example": 403,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "No active subscription, the endpoint is not available in your plan, or the request goes beyond what your plan allows"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "RATE_LIMIT_EXCEEDED",
                            "DAILY_CREDITS_EXCEEDED",
                            "MONTHLY_CREDITS_EXCEEDED"
                          ],
                          "example": "RATE_LIMIT_EXCEEDED",
                          "type": "string"
                        },
                        "message": {
                          "example": "Rate limit exceeded",
                          "type": "string"
                        },
                        "status": {
                          "example": 429,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Rate limit or credit limit exceeded"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "properties": {
                        "code": {
                          "enum": [
                            "INTERNAL_ERROR"
                          ],
                          "example": "INTERNAL_ERROR",
                          "type": "string"
                        },
                        "message": {
                          "example": "Internal server error",
                          "type": "string"
                        },
                        "status": {
                          "example": 500,
                          "type": "number"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "summary": "Token Unlock Dynamics by Token",
        "tags": [
          "Vesting & Token Unlocks"
        ],
        "x-mint": {
          "content": "<Note>\nUntracked allocations are excluded. Unlock value is computed from each token's current price, for both past and upcoming unlocks. Tokens whose price has stopped updating are left out.\n</Note>\n\n<Note>\nThe top `topN` tokens are ranked by unlock value over the whole window, so one set of tokens carries the whole series — though a token with no unlocks in a given bucket is absent from that point. Everything outside the top-N is summed into a single `Others` entry, always placed last, so the breakdown always adds up to `totalUnlockValue`.\n</Note>\n\n<Tip>\nWithout `from`/`to` the window is skewed towards upcoming unlocks, sized to the selected `interval`. Both bounds snap to `interval` bucket starts. One response carries at most 366 daily, 520 weekly or 1000 monthly points — wider ranges have to be requested in slices.\n</Tip>",
          "metadata": {
            "description": "Returns market-wide token unlock dynamics as a time series (history and forecast), split by individual token.<br/><br/>Available from&#58; <Badge color=\"orange\">Pro</Badge><br/>Cost&#58; <Badge color=\"surface\">1 credit per request</Badge>"
          }
        }
      }
    }
  },
  "servers": [
    {
      "url": "https://api.cryptorank.io"
    }
  ],
  "tags": []
}
