xcaTài liệu
Hướng dẫn

Theo dõi cặp mới

Định kỳ lấy các pool mới và chỉ giữ lại những pool có cơ cấu holder lành mạnh.

Một bộ lọc đơn giản: gọi /new-pairs mỗi phút một lần, bỏ qua các cặp chưa được chấm điểm, ghi nhớ các cặp đã thấy và giữ lại những cặp rủi ro thấp có đủ thanh khoản.

  • Các cặp chưa có điểm sẽ xuất hiện lại kèm điểm ở lần gọi sau, nên đừng đánh dấu chúng là đã thấy.
  • Tinh chỉnh bộ lọc: mức rủi ro, thanh khoản hoặc ngưỡng Holder Score của riêng bạn.
  • Gọi mỗi phút một lần là quá đủ và tốn khoảng 43.000 yêu cầu mỗi tháng.

Mã#

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