메인 콘텐츠로 건너뛰기
이 페이지에서는 월렛 및 홀더 분석을 위한 네 가지 Cube를 다룹니다:
  • BalanceUpdates (DWD) — 월렛의 이벤트별 잔액 변동
  • TokenHolders (DWS) — 토큰의 현재 홀더 스냅샷
  • WalletTokenPnL (DWS) — 월렛의 토큰별 손익
아래 모든 예제는 network: sol (Solana)을 사용합니다. 다른 지원 체인의 경우 eth, bsc, polygon으로 교체하세요.

월렛의 토큰 잔액을 어떻게 조회하나요?

월렛의 현재 토큰 잔액을 조회합니다. 이 쿼리는 월렛이 보유한 각 토큰의 최신 잔액 업데이트 이벤트를 반환합니다.
query {
  BalanceUpdates(
    network: sol
    limit: {count: 50}
    ownerAddress: {is: "WALLET_ADDRESS"}
  ) {
    BalanceUpdate {
      Currency { MintAddress }
      Account { Owner }
      PostBalance
      PostBalanceInUSD
    }
    Block { Time }
  }
}
GraphQL IDE에서 열기 — 위 쿼리를 붙여넣어 자동 완성과 스키마 탐색 기능으로 인터랙티브하게 실행해 보세요.
WALLET_ADDRESS를 검사하려는 월렛으로 교체하세요. ownerAddress 셀렉터는 월렛 소유자별로 잔액 업데이트 이벤트를 필터링합니다.
필드설명
BalanceUpdate.Currency.MintAddress토큰 주소
BalanceUpdate.Account.Owner월렛 소유자 주소
BalanceUpdate.PostBalance업데이트 후 토큰 잔액
BalanceUpdate.PostBalanceInUSDUSD 잔액 가치
Block.Time잔액 업데이트 타임스탬프
  • 제한 증가: 보유 토큰이 많은 월렛을 위해 count: 200으로 설정
  • 가치별 필터: where: {BalanceUpdate: {PostBalanceInUSD: {gt: 1}}}를 추가하여 더스트 잔액 제외

잔액 변동 히스토리를 어떻게 조회하나요?

시간에 따른 월렛의 특정 토큰 잔액 변동을 추적합니다.
query {
  BalanceUpdates(
    network: sol
    limit: {count: 20}
    ownerAddress: {is: "WALLET_ADDRESS"}
    tokenAddress: {is: "TOKEN_ADDRESS"}
    orderBy: Block_Time_DESC
  ) {
    BalanceUpdate {
      PreBalance
      PostBalance
      PostBalanceInUSD
    }
    Block { Time }
    Transaction { Hash }
  }
}
필드설명
BalanceUpdate.PreBalance이벤트 전 잔액
BalanceUpdate.PostBalance이벤트 후 잔액
BalanceUpdate.PostBalanceInUSD사후 잔액의 USD 가치
Block.Time잔액이 변동된 시점
Transaction.Hash변동을 발생시킨 트랜잭션
  • 매집 감지: PreBalancePostBalance를 비교 — PostBalance > PreBalance이면 월렛이 매집 중
  • 시간 범위: where: {Block: {Time: {since: "2025-03-01T00:00:00Z"}}}를 추가하여 특정 기간으로 제한
  • 더 많은 히스토리: 포괄적인 잔액 히스토리를 위해 count를 최대 10000까지 증가
PostBalancePreBalance의 차이는 이벤트당 순 변동을 보여줍니다. 양의 델타는 토큰 유입, 음의 델타는 토큰 유출을 의미합니다.

토큰의 상위 홀더를 어떻게 조회하나요?

잔액 기준 토큰의 상위 홀더를 조회합니다.
query {
  TokenHolders(
    network: sol
    limit: {count: 100}
    tokenAddress: {is: "TOKEN_ADDRESS"}
  ) {
    Token { Address }
    Holder { Address }
    LatestBalance
    LatestBalanceUSD
    FirstSeen
    LastSeen
  }
}
필드설명
Token.Address토큰 주소
Holder.Address홀더 월렛 주소
LatestBalance현재 토큰 잔액
LatestBalanceUSD현재 USD 잔액
FirstSeen홀더가 처음 토큰을 획득한 시점
LastSeen이 토큰 관련 가장 최근 트랜잭션
  • 고래 기준: where: {LatestBalanceUSD: {gt: 10000}}를 추가하여 대규모 홀더만 표시
  • 활성 홀더: where: {LastSeen: {after: "2025-03-01T00:00:00Z"}}를 추가하여 최근 활성 홀더로 필터링
  • 홀더 수: count 메트릭을 사용하여 총 홀더 수 조회
TokenHolders Cube는 DWS (Summary) 레이어 테이블입니다 — 사전 집계되어 있어 개별 잔액 업데이트를 스캔하는 것보다 훨씬 빠릅니다. 홀더 순위 및 분포 분석에 사용하세요.

월렛의 손익을 어떻게 조회하나요?

매수/매도 거래량과 거래 횟수를 포함한 월렛의 토큰별 손익 데이터를 조회합니다.
query {
  WalletTokenPnL(
    network: sol
    limit: {count: 20}
    walletAddress: {is: "WALLET_ADDRESS"}
  ) {
    Wallet { Address }
    Token { Address }
    BuyVolumeUSDState
    SellVolumeUSDState
    BuyCountState
    SellCountState
    FirstTradeState
    LastTradeState
  }
}
필드설명
Wallet.Address월렛 주소
Token.Address토큰 주소
BuyVolumeUSDState이 토큰 매수에 사용된 총 USD
SellVolumeUSDState이 토큰 매도로 받은 총 USD
BuyCountState매수 거래 수
SellCountState매도 거래 수
FirstTradeState첫 거래 타임스탬프
LastTradeState가장 최근 거래 타임스탬프
  • PnL 계산: SellVolumeUSDState - BuyVolumeUSDState로 각 토큰의 실현 PnL 산출
  • 활성 포지션: SellCountState < BuyCountState인 토큰을 필터링하여 월렛이 아직 보유 중인 토큰 찾기
  • 고활동 토큰: BuyCountState 또는 SellCountState로 정렬하여 가장 자주 거래된 토큰 찾기
WalletTokenPnL Cube는 walletAddress 셀렉터를 사용합니다 (ownerAddress가 아님). 누적 트레이딩 메트릭을 제공하여 포트폴리오 분석과 성과 리더보드에 이상적입니다.

멀티체인 예제

query {
  BalanceUpdates(
    network: sol
    limit: {count: 10}
    ownerAddress: {is: "WALLET_ADDRESS"}
  ) {
    BalanceUpdate {
      Currency { MintAddress }
      PostBalance
      PostBalanceInUSD
    }
  }
}

다음 단계

DEX 트레이드

DEX 트레이딩 데이터를 쿼리합니다 — 토큰 트레이드, 월렛 활동, 상위 트레이더.

전송

월렛 간 온체인 토큰 전송을 추적합니다.

풀 & 유동성

DEX 풀과 유동성 데이터를 탐색합니다.

OHLC & 통계

캔들스틱 데이터, 트레이드 통계, TokenSupplyUpdates, 토큰 메타데이터를 가져옵니다.