xcaDocs
Гайды

Мониторинг новых пар

Опрашивай новые пулы и оставляй только те, где здоровая база холдеров.

Простой скринер: опрашивай /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);