{
  "openapi": "3.0.1",
  "info": {
    "title": "Crypto Whale Tracker: DEX Token Launches + Wallet Alerts",
    "description": "Track new token launches across DEXs (Uniswap, PancakeSwap, Raydium, Aerodrome) via DexScreener and monitor whale wallet transactions on Ethereum, Base, Arbitrum, BSC, Polygon via Etherscan V2. Filter by liquidity, volume, age. Arb and scam flags included.",
    "version": "0.1",
    "x-build-id": "CsKvh7HIusTuE55dN"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapemint~crypto-whale-token-launch-tracker/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapemint-crypto-whale-token-launch-tracker",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/scrapemint~crypto-whale-token-launch-tracker/runs": {
      "post": {
        "operationId": "runs-sync-scrapemint-crypto-whale-token-launch-tracker",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/scrapemint~crypto-whale-token-launch-tracker/run-sync": {
      "post": {
        "operationId": "run-sync-scrapemint-crypto-whale-token-launch-tracker",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "tokens",
              "wallets"
            ],
            "type": "string",
            "description": "tokens = scan new and trending DEX tokens via DexScreener (no key needed). wallets = monitor whale wallet transactions via Etherscan V2 multichain (bring your own key).",
            "default": "tokens"
          },
          "chains": {
            "title": "Chains",
            "type": "array",
            "description": "Chains to scan. DexScreener supports: ethereum, bsc, base, solana, polygon, arbitrum, optimism, avalanche, blast, linea. Etherscan V2 supports EVM chains only (no solana).",
            "default": [
              "ethereum",
              "base",
              "solana"
            ],
            "items": {
              "type": "string"
            }
          },
          "searchQueries": {
            "title": "Search queries (tokens mode)",
            "type": "array",
            "description": "Token name or symbol searches via DexScreener. Example: [\"AI\", \"PEPE\", \"meme\"]. Leave empty to pull the latest token profiles feed instead.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "tokenAddresses": {
            "title": "Token addresses (tokens mode)",
            "type": "array",
            "description": "Exact token contract addresses to pull. One row per pair. Works across every DexScreener chain.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "minLiquidityUsd": {
            "title": "Minimum liquidity ($, tokens mode)",
            "minimum": 0,
            "type": "number",
            "description": "Filter out pairs with less than this much liquidity. Thin pools are rug risk. Typical floor is 25000 for retail, 250000 for sharp traders.",
            "default": 10000
          },
          "minVolume24hUsd": {
            "title": "Minimum 24h volume ($, tokens mode)",
            "minimum": 0,
            "type": "number",
            "description": "Drop pairs with under this much 24h volume. 50000 filters dust. 1000000 only returns real momentum.",
            "default": 50000
          },
          "maxTokenAgeHours": {
            "title": "Max token age (hours, tokens mode)",
            "minimum": 0,
            "maximum": 8760,
            "type": "integer",
            "description": "Only return pairs created in the last N hours. 24 finds fresh launches. 168 (7 days) for weekly trend. 0 disables the filter.",
            "default": 168
          },
          "sortBy": {
            "title": "Sort order (tokens mode)",
            "enum": [
              "volume24h",
              "liquidity",
              "priceChange24h",
              "age"
            ],
            "type": "string",
            "description": "How to sort results before pushing. volume24h is momentum. liquidity is size. priceChange24h is mover list. age picks newest first.",
            "default": "volume24h"
          },
          "walletAddresses": {
            "title": "Wallet addresses (wallets mode)",
            "type": "array",
            "description": "EVM wallet addresses to monitor. One run pulls ERC20 transfers for every wallet on every chain in the chains list.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "etherscanApiKey": {
            "title": "Etherscan V2 API key (wallets mode)",
            "type": "string",
            "description": "One key covers all EVM chains (Etherscan, Basescan, Arbiscan, BscScan, PolygonScan). Free tier gives 5 calls per second and 100k calls per day. Get one at etherscan.io/apis."
          },
          "minTxValueUsd": {
            "title": "Minimum tx value ($, wallets mode)",
            "minimum": 0,
            "type": "number",
            "description": "Skip transfers worth less than this much USD. Price resolved via DexScreener per token. 100000 is the usual whale floor.",
            "default": 10000
          },
          "maxTxAgeHours": {
            "title": "Max tx age (hours, wallets mode)",
            "minimum": 0,
            "maximum": 720,
            "type": "integer",
            "description": "Only return transfers in the last N hours. 24 is a daily feed. 1 for near real time. 0 disables.",
            "default": 24
          },
          "maxItemsPerSource": {
            "title": "Max items per source",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Per chain + per query cap. Works as a cap on rows per DexScreener query and rows per wallet + chain pair.",
            "default": 100
          },
          "maxItemsTotal": {
            "title": "Maximum items per run",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Hard cap on rows pushed to the dataset per run. Controls total cost.",
            "default": 200
          },
          "dedupe": {
            "title": "Deduplicate across runs",
            "type": "boolean",
            "description": "Skip pair addresses and tx hashes pushed on previous runs. Stored in the key value store under SEEN_IDS.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify proxy settings. DexScreener and Etherscan rate limit per key or IP, so proxy helps only at very high volume."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}