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);