xca文档
指南

监控新交易对

轮询新池子,只保留持有人结构健康的交易对。

一个简单的筛选器:每分钟轮询一次 /new-pairs,跳过尚未评分的交易对,记住已经看过的交易对,并保留流动性充足的低风险交易对。

  • 未评分的交易对会在之后的轮询中带着评分再次出现,所以不要把它们标记为已看过。
  • 按需调整筛选条件:风险等级、流动性,或你自己的 Holder Score 阈值。
  • 每分钟轮询一次就足够了,每月大约消耗 43,000 次请求。

代码#

const BASE = "https://app.xca.fun/api/v1";
const headers = { Authorization: `Bearer ${process.env.XCA_API_KEY}` };
const seen = new Set();

async function poll() {
  const res = await fetch(`${BASE}/new-pairs?limit=50`, { headers });
  if (!res.ok) return console.error(res.status, (await res.json()).error.message);

  const { items } = await res.json();
  for (const pair of items.reverse()) {
    // Unscored pairs come back with a score on a later poll.
    if (pair.holderScore === null || seen.has(pair.pairAddress)) continue;
    seen.add(pair.pairAddress);
    if (pair.riskLevel === "low" && (pair.liquidityUsd ?? 0) >= 25_000) {
      console.log(`${pair.symbol}: score ${pair.holderScore}, liquidity $${Math.round(pair.liquidityUsd)}`);
    }
  }
}

await poll();
setInterval(poll, 60_000);