changedInput schema / properties / request / anyOf
Previous value: -[
- {
- "additionalProperties": true,
- "type": "object"
- },
- {
- "description": "Complete request for token PnL leaderboard (flattened).",
- "properties": {
- "boughtAmount": {
- "anyOf": [
- {
- "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
- "properties": {
- "from": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Minimum value (inclusive), optional"
- },
- "to": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Maximum value (inclusive), optional"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Filter by total amount of tokens bought"
- },
- "boughtUsd": {
- "anyOf": [
- {
- "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
- "properties": {
- "from": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Minimum value (inclusive), optional"
- },
- "to": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Maximum value (inclusive), optional"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Filter by total USD value of tokens bought"
- },
- "chain": {
- "default": "ethereum",
- "description": "Blockchain network. Supported: arbitrum, avalanche, base, bnb, ethereum, hyperevm, injective, iotaevm, linea, mantle, mantra, monad, near, optimism, plasma, polygon, robinhood, ronin, scroll, sei, solana, sonic, sui, ton, tron, unichain, zksync",
- "type": "string"
- },
- "dateRange": {
- "description": "Date range for PnL analysis",
- "properties": {
- "from": {
- "description": "Start value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
- "type": "string"
- },
- "to": {
- "description": "End value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
- "type": "string"
- }
- },
- "required": [
- "from",
- "to"
- ],
- "type": "object"
- },
- "fullName": {
- "anyOf": [
- {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Filter by specific trader labels/names"
- },
- "holdingAmount": {
- "anyOf": [
- {
- "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
- "properties": {
- "from": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Minimum value (inclusive), optional"
- },
- "to": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Maximum value (inclusive), optional"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Filter by current token holdings amount"
- },
- "holdingUsd": {
- "anyOf": [
- {
- "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
- "properties": {
- "from": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Minimum value (inclusive), optional"
- },
- "to": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Maximum value (inclusive), optional"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Filter by current USD value of holdings"
- },
- "maxBalanceHeld": {
- "anyOf": [
- {
- "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
- "properties": {
- "from": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Minimum value (inclusive), optional"
- },
- "to": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Maximum value (inclusive), optional"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Filter by maximum token balance ever held"
- },
- "maxBalanceHeldUsd": {
- "anyOf": [
- {
- "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
- "properties": {
- "from": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Minimum value (inclusive), optional"
- },
- "to": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Maximum value (inclusive), optional"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Filter by maximum USD value ever held"
- },
- "mode": {
- "default": "onchain_tokens",
- "description": "Analysis mode: 'onchain_tokens' for on-chain tokens by contract address, 'perps' for Hyperliquid perpetual futures by symbol. If mode is omitted and token_address is a symbol (not a contract address), mode defaults to 'perps'.",
- "enum": [
- "onchain_tokens",
- "perps"
- ],
- "type": "string"
- },
- "netflowAmountUsd": {
- "anyOf": [
- {
- "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
- "properties": {
- "from": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Minimum value (inclusive), optional"
- },
- "to": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Maximum value (inclusive), optional"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Filter by net flow (negative = net seller)"
- },
- "nofBuys": {
- "anyOf": [
- {
- "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
- "properties": {
- "from": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Minimum value (inclusive), optional"
- },
- "to": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Maximum value (inclusive), optional"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Filter by number of buy transactions"
- },
- "nofSells": {
- "anyOf": [
- {
- "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
- "properties": {
- "from": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Minimum value (inclusive), optional"
- },
- "to": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Maximum value (inclusive), optional"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Filter by number of sell transactions"
- },
- "nofTrades": {
- "anyOf": [
- {
- "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
- "properties": {
- "from": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Minimum value (inclusive), optional"
- },
- "to": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Maximum value (inclusive), optional"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Filter by number of trades"
- },
- "orderBy": {
- "anyOf": [
- {
- "enum": [
- "pnl_usd_realised",
- "pnl_usd_unrealised",
- "pnl_usd_total",
- "roi_percent_total",
- "roi_percent_realised",
- "roi_percent_unrealised",
- "holding_amount",
- "max_balance_held",
- "still_holding_balance_ratio",
- "netflow_amount",
- "nof_trades"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Sort field. Pass an exact value above or None for default ('pnl_usd_realised'). Native-balance fields are preferred over USD twins."
- },
- "order_by_direction": {
- "default": "DESC",
- "enum": [
- "ASC",
- "DESC",
- "asc",
- "desc"
- ],
- "type": "string"
- },
- "page": {
- "default": 1,
- "type": "integer"
- },
- "pnlUsdRealised": {
- "anyOf": [
- {
- "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
- "properties": {
- "from": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Minimum value (inclusive), optional"
- },
- "to": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Maximum value (inclusive), optional"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Filter by realized PnL (completed trades)"
- },
- "pnlUsdTotal": {
- "anyOf": [
- {
- "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
- "properties": {
- "from": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Minimum value (inclusive), optional"
- },
- "to": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Maximum value (inclusive), optional"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Filter by total PnL (combined realized and unrealized)"
- },
- "pnlUsdUnrealised": {
- "anyOf": [
- {
- "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
- "properties": {
- "from": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Minimum value (inclusive), optional"
- },
- "to": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Maximum value (inclusive), optional"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Filter by unrealized PnL (current positions)"
- },
- "roiPercentRealised": {
- "anyOf": [
- {
- "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
- "properties": {
- "from": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Minimum value (inclusive), optional"
- },
- "to": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Maximum value (inclusive), optional"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Filter by realized ROI percentage"
- },
- "roiPercentTotal": {
- "anyOf": [
- {
- "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
- "properties": {
- "from": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Minimum value (inclusive), optional"
- },
- "to": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Maximum value (inclusive), optional"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Filter by total ROI percentage"
- },
- "roiPercentUnrealised": {
- "anyOf": [
- {
- "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
- "properties": {
- "from": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Minimum value (inclusive), optional"
- },
- "to": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Maximum value (inclusive), optional"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Filter by unrealized ROI percentage"
- },
- "soldAmount": {
- "anyOf": [
- {
- "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
- "properties": {
- "from": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Minimum value (inclusive), optional"
- },
- "to": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Maximum value (inclusive), optional"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Filter by total amount of tokens sold"
- },
- "soldUsd": {
- "anyOf": [
- {
- "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
- "properties": {
- "from": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Minimum value (inclusive), optional"
- },
- "to": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Maximum value (inclusive), optional"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Filter by total USD value of tokens sold"
- },
- "stillHoldingBalanceRatio": {
- "anyOf": [
- {
- "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
- "properties": {
- "from": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Minimum value (inclusive), optional"
- },
- "to": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Maximum value (inclusive), optional"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Filter by percentage of peak holdings still held"
- },
- "tokenAddress": {
- "type": "string"
- },
- "traderAddress": {
- "anyOf": [
- {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Filter by specific trader addresses"
- }
- },
- "required": [
- "tokenAddress"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ {
+ "description": "Complete request for token PnL leaderboard (flattened).",
+ "properties": {
+ "boughtAmount": {
+ "anyOf": [
+ {
+ "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
+ "properties": {
+ "from": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Minimum value (inclusive), optional"
+ },
+ "to": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Maximum value (inclusive), optional"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Filter by total amount of tokens bought"
+ },
+ "boughtUsd": {
+ "anyOf": [
+ {
+ "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
+ "properties": {
+ "from": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Minimum value (inclusive), optional"
+ },
+ "to": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Maximum value (inclusive), optional"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Filter by total USD value of tokens bought"
+ },
+ "chain": {
+ "default": "ethereum",
+ "description": "Blockchain network. Supported: arbitrum, arc, avalanche, base, bnb, ethereum, hyperevm, injective, iotaevm, linea, mantle, mantra, monad, near, optimism, plasma, polygon, robinhood, ronin, scroll, sei, solana, sonic, sui, ton, tron, unichain, zksync",
+ "type": "string"
+ },
+ "dateRange": {
+ "description": "Date range for PnL analysis",
+ "properties": {
+ "from": {
+ "description": "Start value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
+ "type": "string"
+ },
+ "to": {
+ "description": "End value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
+ "type": "string"
+ }
+ },
+ "required": [
+ "from",
+ "to"
+ ],
+ "type": "object"
+ },
+ "fullName": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Filter by specific trader labels/names"
+ },
+ "holdingAmount": {
+ "anyOf": [
+ {
+ "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
+ "properties": {
+ "from": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Minimum value (inclusive), optional"
+ },
+ "to": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Maximum value (inclusive), optional"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Filter by current token holdings amount"
+ },
+ "holdingUsd": {
+ "anyOf": [
+ {
+ "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
+ "properties": {
+ "from": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Minimum value (inclusive), optional"
+ },
+ "to": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Maximum value (inclusive), optional"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Filter by current USD value of holdings"
+ },
+ "maxBalanceHeld": {
+ "anyOf": [
+ {
+ "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
+ "properties": {
+ "from": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Minimum value (inclusive), optional"
+ },
+ "to": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Maximum value (inclusive), optional"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Filter by maximum token balance ever held"
+ },
+ "maxBalanceHeldUsd": {
+ "anyOf": [
+ {
+ "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
+ "properties": {
+ "from": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Minimum value (inclusive), optional"
+ },
+ "to": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Maximum value (inclusive), optional"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Filter by maximum USD value ever held"
+ },
+ "mode": {
+ "default": "onchain_tokens",
+ "description": "Analysis mode: 'onchain_tokens' for on-chain tokens by contract address, 'perps' for Hyperliquid perpetual futures by symbol. If mode is omitted and token_address is a symbol (not a contract address), mode defaults to 'perps'.",
+ "enum": [
+ "onchain_tokens",
+ "perps"
+ ],
+ "type": "string"
+ },
+ "netflowAmountUsd": {
+ "anyOf": [
+ {
+ "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
+ "properties": {
+ "from": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Minimum value (inclusive), optional"
+ },
+ "to": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Maximum value (inclusive), optional"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Filter by net flow (negative = net seller)"
+ },
+ "nofBuys": {
+ "anyOf": [
+ {
+ "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
+ "properties": {
+ "from": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Minimum value (inclusive), optional"
+ },
+ "to": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Maximum value (inclusive), optional"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Filter by number of buy transactions"
+ },
+ "nofSells": {
+ "anyOf": [
+ {
+ "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
+ "properties": {
+ "from": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Minimum value (inclusive), optional"
+ },
+ "to": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Maximum value (inclusive), optional"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Filter by number of sell transactions"
+ },
+ "nofTrades": {
+ "anyOf": [
+ {
+ "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
+ "properties": {
+ "from": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Minimum value (inclusive), optional"
+ },
+ "to": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Maximum value (inclusive), optional"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Filter by number of trades"
+ },
+ "orderBy": {
+ "anyOf": [
+ {
+ "enum": [
+ "pnl_usd_realised",
+ "pnl_usd_unrealised",
+ "pnl_usd_total",
+ "roi_percent_total",
+ "roi_percent_realised",
+ "roi_percent_unrealised",
+ "holding_amount",
+ "max_balance_held",
+ "still_holding_balance_ratio",
+ "netflow_amount",
+ "nof_trades"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Sort field. Pass an exact value above or None for default ('pnl_usd_realised'). Native-balance fields are preferred over USD twins."
+ },
+ "order_by_direction": {
+ "default": "DESC",
+ "enum": [
+ "ASC",
+ "DESC",
+ "asc",
+ "desc"
+ ],
+ "type": "string"
+ },
+ "page": {
+ "default": 1,
+ "type": "integer"
+ },
+ "pnlUsdRealised": {
+ "anyOf": [
+ {
+ "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
+ "properties": {
+ "from": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Minimum value (inclusive), optional"
+ },
+ "to": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Maximum value (inclusive), optional"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Filter by realized PnL (completed trades)"
+ },
+ "pnlUsdTotal": {
+ "anyOf": [
+ {
+ "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
+ "properties": {
+ "from": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Minimum value (inclusive), optional"
+ },
+ "to": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Maximum value (inclusive), optional"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Filter by total PnL (combined realized and unrealized)"
+ },
+ "pnlUsdUnrealised": {
+ "anyOf": [
+ {
+ "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
+ "properties": {
+ "from": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Minimum value (inclusive), optional"
+ },
+ "to": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Maximum value (inclusive), optional"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Filter by unrealized PnL (current positions)"
+ },
+ "roiPercentRealised": {
+ "anyOf": [
+ {
+ "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
+ "properties": {
+ "from": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Minimum value (inclusive), optional"
+ },
+ "to": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Maximum value (inclusive), optional"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Filter by realized ROI percentage"
+ },
+ "roiPercentTotal": {
+ "anyOf": [
+ {
+ "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
+ "properties": {
+ "from": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Minimum value (inclusive), optional"
+ },
+ "to": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Maximum value (inclusive), optional"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Filter by total ROI percentage"
+ },
+ "roiPercentUnrealised": {
+ "anyOf": [
+ {
+ "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
+ "properties": {
+ "from": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Minimum value (inclusive), optional"
+ },
+ "to": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Maximum value (inclusive), optional"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Filter by unrealized ROI percentage"
+ },
+ "soldAmount": {
+ "anyOf": [
+ {
+ "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
+ "properties": {
+ "from": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Minimum value (inclusive), optional"
+ },
+ "to": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Maximum value (inclusive), optional"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Filter by total amount of tokens sold"
+ },
+ "soldUsd": {
+ "anyOf": [
+ {
+ "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
+ "properties": {
+ "from": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Minimum value (inclusive), optional"
+ },
+ "to": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Maximum value (inclusive), optional"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Filter by total USD value of tokens sold"
+ },
+ "stillHoldingBalanceRatio": {
+ "anyOf": [
+ {
+ "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
+ "properties": {
+ "from": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Minimum value (inclusive), optional"
+ },
+ "to": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Maximum value (inclusive), optional"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Filter by percentage of peak holdings still held"
+ },
+ "tokenAddress": {
+ "type": "string"
+ },
+ "traderAddress": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Filter by specific trader addresses"
+ }
+ },
+ "required": [
+ "tokenAddress"
+ ],
+ "type": "object"
+ }
+]