从推文到代币提醒:速度为何重要
加密交易者会在 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 |
这些路由的响应结构和速率限制各不相同,因此在标准化接入代码前,请确认最新文档。 DexScreener 官方 API 参考.
构建代币检测管线
这套流程分为四个阶段:
- 阶段 1:通过 WebSocket 或其他流式 API 接收选定账号的帖子。
- 阶段 2:从帖子文本中解析 $TICKER、合约地址和 DEX URL。
- 阶段 3:对附件图片运行 OCR,查找截图、图表和公告中的代币信息。
- 阶段 4:查询 DexScreener API,检查活跃交易对、流动性和当前价格。
OCR:捕获图片中隐藏的代币
许多加密影响者通过截图而非纯文本分享代币信息,例如图表截图、交易终端图片,或包含合约地址的公告素材。只处理文本的管线会完全漏掉这些信息。
OCR(光学字符识别)会从推文附件图片中提取文本,再按相同模式扫描提取结果:$TICKER 符号、合约地址和 DEX URL。大量早期 Alpha 信号正来自这里,例如图表截图中的合约地址,手动交易者只能逐字符输入。
当图片附件可提供 OCR 富化时,TweetStream 可在提醒 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
如果你的观察列表主要跟踪 Solana 或 Base 新币,可优先解析这两条链,并避免让含义不明确的符号进入自动化决策。
省去单独的接入与富化数据栈
TweetStream 将选定账号投递与代币检测、OCR 和实时价格上下文结合,并在相应富化可用时发送。
提醒可包含从文本或图片检测到的代币、OCR 文本、实时价格上下文和预测市场上下文。完整 Payload 结构请参阅 载荷与 OCR 文档。
更快把这个工作流投入生产
这篇文章介绍了这类工作流。TweetStream 负责受监控帖子的接入、代币检测和 OCR,并通过 WebSocket 投递帖子、更新、删除、置顶、资料变化、关注、取消关注和富化 JSON 载荷。支持的套餐还提供历史回放。你的客户端负责按文档重连 WebSocket,并把收到的事件路由到下游。你可以用自己的账号开始 3 天试用。
开始 3 天试用常见问题
TweetStream 团队
最近更新:2026 年 8 月 25 日