TweetStream

DexScreener Twitter 提醒:代币检测管线指南 (2026)

如何构建完整的代币检测管线 — 从推文 OCR 到 DexScreener 交易对验证再到实时价格提醒。

从推文到代币提醒:速度为何重要

在加密市场,Alpha 信号往往最先出现在 Twitter。当影响者提到新代币、开发者在截图中发布合约地址,或有人指出巨鲸的链上活动时,最先行动的交易者会抓住行情,其他人则可能买在顶部。

一条从推文到交易的管线需要三个要素:实时推文检测、自动提取代币(包括文本与图片),以及即时价格验证。DexScreener 补上了关键一环,将原始代币符号转换为带实时价格的可交易交易对。

什么是 DexScreener?

DexScreener 是实时 DEX(去中心化交易所)聚合器,跟踪 Ethereum、Solana、BSC、Arbitrum、Base 等主要区块链及数十条其他链上的代币交易对。它为任何拥有活跃交易对的代币提供实时价格图表、交易量、流动性数据和交易历史。

对于交易机器人和提醒系统,DexScreener API 是验证推文中提到的代币是否真实、有流动性且可交易,并获取其当前价格的常用方式。

DexScreener API:关键端点

DexScreener 提供多个无需 API Key 的公共端点,但不同端点系列的速率限制并不相同。在将生产管线接入特定路由前,请查看最新参考文档:

端点用途示例
GET /latest/dex/search?q={query}按名称或符号搜索代币/latest/dex/search?q=PEPE
GET /latest/dex/pairs/{chainId}/{pairId}获取指定交易对/latest/dex/pairs/solana/{pair_address}
GET /token-pairs/v1/{chainId}/{tokenAddress}获取某条链上一个代币地址的所有交易对/token-pairs/v1/solana/So11111111111111111111111111111112
GET /tokens/v1/{chainId}/{tokenAddresses}查询某条链上的一个或多个代币地址/tokens/v1/ethereum/0x6982508145454Ce325dDbE47a25d4ec3d2311933
GET /token-profiles/latest/v1获取最近更新的代币资料/token-profiles/latest/v1

这些路由的响应结构和速率限制各不相同,因此在标准化接入代码前,请确认最新文档。

构建代币检测管线

完整的推文到提醒管线包含四个阶段:

  1. 阶段 1:推文接入 — 通过 WebSocket 或流式 API 实时接收监控账号的推文
  2. 阶段 2:代币提取 — 从推文文本中解析 $TICKER 符号、合约地址(EVM 使用 0x...,Solana 使用 base58)和 DEX URL(dexscreener.com、birdeye.so)
  3. 阶段 3:OCR 提取 — 对附件图片运行光学字符识别,捕获截图、图表图片和公告素材中的代币信息
  4. 阶段 4:价格验证 — 调用 DexScreener API 确认代币真实存在、检查流动性并获取实时价格

OCR:捕获图片中隐藏的代币

许多加密影响者通过截图而非纯文本分享代币信息,例如图表截图、交易终端图片,或包含合约地址的公告素材。只处理文本的管线会完全漏掉这些信息。

OCR(光学字符识别)会从推文附件图片中提取文本,再按相同模式扫描提取结果:$TICKER 符号、合约地址和 DEX URL。大量早期 Alpha 信号正来自这里,例如图表截图中的合约地址,手动交易者只能逐字符输入。

TweetStream 会自动对每个图片附件运行 OCR,将提取出的文本放入提醒 Payload,并预先扫描其中的代币引用。

代码示例:使用 DexScreener API 查询代币

// Look up a token on DexScreener by chain + address
async function lookupToken(chainId: string, address: string) {
  const res = await fetch(
    `https://api.dexscreener.com/tokens/v1/${chainId}/${address}`
  );
  const pairs = await res.json();

  if (!pairs?.length) {
    console.log('No trading pairs found');
    return null;
  }

  // Get the highest-liquidity pair
  const topPair = pairs.sort(
    (a, b) => (b.liquidity?.usd ?? 0) - (a.liquidity?.usd ?? 0)
  )[0];

  return {
    symbol: topPair.baseToken.symbol,
    name: topPair.baseToken.name,
    price: topPair.priceUsd,
    priceChange24h: topPair.priceChange?.h24,
    volume24h: topPair.volume?.h24,
    liquidity: topPair.liquidity?.usd,
    dex: topPair.dexId,
    chain: topPair.chainId,
    pairUrl: topPair.url,
  };
}

// Example: look up PEPE on Ethereum
const token = await lookupToken('ethereum', '0x6982508145454Ce325dDbE47a25d4ec3d2311933');
console.log(token);
// { symbol: 'PEPE', price: '0.00001234', liquidity: 5200000, ... }

代码示例:完整检测管线

// Full tweet → token → price pipeline
const TICKER_REGEX = /\$([A-Z]{2,10})\b/g;
const EVM_ADDR_REGEX = /0x[a-fA-F0-9]{40}/g;
const SOLANA_ADDR_REGEX = /[1-9A-HJ-NP-Za-km-z]{32,44}/g;

async function searchToken(query: string) {
  const res = await fetch(
    `https://api.dexscreener.com/latest/dex/search?q=${encodeURIComponent(query)}`
  );
  const data = await res.json();
  return data.pairs ?? [];
}

async function processTweet(tweet: { text: string; ocr?: { text?: string } }) {
  const allText = [tweet.text, tweet.ocr?.text ?? ''].join(' ');
  const results = [];

  // Extract $TICKER symbols
  for (const match of allText.matchAll(TICKER_REGEX)) {
    const pairs = await searchToken(match[1]);
    if (pairs[0]) {
      results.push(pairs[0]);
    }
  }

  // Extract EVM contract addresses
  for (const match of allText.matchAll(EVM_ADDR_REGEX)) {
    const data = await lookupToken('ethereum', match[0]);
    if (data && (data.liquidity ?? 0) > 10_000) {
      results.push(data);
    }
  }

  // Extract Solana addresses
  for (const match of allText.matchAll(SOLANA_ADDR_REGEX)) {
    const data = await lookupToken('solana', match[0]);
    if (data && (data.liquidity ?? 0) > 10_000) {
      results.push(data);
    }
  }

  return results;
}

支持的链与代币类型

DexScreener 聚合所有主要 EVM 与非 EVM 链的数据:

  • EVM 链:Ethereum、BSC、Arbitrum、Base、Polygon、Avalanche、Optimism、Fantom
  • Solana:包括 pump.fun 发射在内的 SPL 代币
  • 其他 L1:Sui、Aptos、Near、Tron、Cosmos 生态
  • DEX 覆盖:Uniswap、Raydium、PancakeSwap、Jupiter 以及数百个其他 DEX

在加密 Twitter 监控中,讨论的新发射项目大多是 Solana 和 Base 代币。为获得最低延迟查询,管线应优先处理这两条链。

TweetStream:预构建的完整管线

构建和维护推文 → OCR → 代币提取 → 价格查询管线需要大量工程投入。TweetStream 将整条管线作为服务提供。

当这些信号存在时,TweetStream 提醒可包含从文本和图片自动检测的代币、兼容 DexScreener 的价格数据、OCR 文本提取和 Polymarket 市场检测。完整 Payload 结构请参阅 载荷与 OCR 文档

用 TweetStream 更快上线

这篇文章讲的是这类工作流,但真正上线时不应该重新搭建推文接入、重连、代币检测、OCR 和下游投递。TweetStream 是更好的生产起点:帖子、更新、删除、置顶、资料变化、关注、取消关注,富化 JSON 载荷,支持套餐的历史回放,以及可以直接用自己账号验证的 3 天试用。

开始 3 天试用

常见问题

TweetStream 团队

最近更新:2026 年 6 月

接入实时信号流

从关键账号开始,把 X 和 Truth Social 事件路由到你的机器人、提醒和交易工作流。