가이드
스마트 머니 내보내기
토큰의 스마트 머니 홀더를 페이지별로 가져와 CSV로 저장해요.
스마트 머니는 최근 30일 동안 수익을 낸 이력이 있는 지갑이에요. SMART_MONEY 유형으로 홀더를 필터링하고, 페이지를 차례로 넘기며 각 행을 파일에 기록하세요.
- total 값에는 플랜에서 볼 수 있는 홀더만 포함돼요.
pageSize값을 100으로 설정하면 요청 수를 줄일 수 있어요.- CSV 파일은 카피 트레이딩 봇이나 스프레드시트로 가져올 수 있어요.
코드#
import csv
import os
import requests
BASE = "https://app.xca.fun/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['XCA_API_KEY']}"}
MINT = "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"
rows, page = [], 1
while True:
res = requests.get(
f"{BASE}/tokens/solana/{MINT}/holders",
params={"class": "SMART_MONEY", "page": page, "pageSize": 100},
headers=HEADERS,
timeout=30,
)
res.raise_for_status()
data = res.json()
rows += data["rows"]
if page * data["pageSize"] >= data["total"]:
break
page += 1
with open("smart-money.csv", "w", newline="") as fh:
writer = csv.writer(fh)
writer.writerow(["rank", "address", "sharePct", "pnl30dUsd", "winRate"])
for r in rows:
writer.writerow([r["rank"], r["address"], r["sharePct"], r["pnl30dUsd"], r["winRate"]])
print(f"saved {len(rows)} wallets")