메인 콘텐츠로 건너뛰기
DEXTrades Cube는 트레이드별 DEX 스왑 이벤트를 포함합니다 — 사용 가능한 가장 세분화된 트레이딩 데이터입니다. 개별 트레이드 조회, 월렛 활동 분석, 토큰 가격 추적, 상위 트레이더 찾기에 사용합니다.
아래 모든 예제는 network: sol (Solana)을 사용합니다. 다른 지원 체인의 경우 eth, bsc, polygon으로 교체하세요.

최근 DEX 트레이드를 어떻게 조회하나요?

블록 정보, 트랜잭션 해시, 매수/매도 세부 정보, DEX 프로토콜을 포함하여 Solana의 최근 DEX 트레이드 10건을 가져옵니다.
query {
  DEXTrades(
    network: sol
    limit: {count: 10}
    orderBy: Block_Time_DESC
  ) {
    Block { Time, Slot }
    Transaction { Hash }
    Trade {
      Buy {
        Currency { MintAddress }
        Amount
        PriceInUSD
        Account { Owner }
      }
      Sell {
        Currency { MintAddress }
        Amount
        Account { Owner }
      }
      Dex { ProgramAddress, ProtocolName }
    }
    Pool { Address }
  }
}
GraphQL IDE에서 열기 — 위 쿼리를 붙여넣어 자동 완성과 스키마 탐색 기능으로 인터랙티브하게 실행해 보세요.
필드설명
Block.Time블록 타임스탬프 (ISO 8601)
Block.SlotSolana 슬롯 번호 (Solana 전용)
Transaction.Hash온체인 트랜잭션 해시 — 익스플로러에서 조회에 사용
Trade.Buy.Currency.MintAddress매수한 자산의 토큰 주소
Trade.Buy.PriceInUSD거래 시점의 매수 토큰 USD 가격
Trade.Buy.Account.Owner매수자 월렛 주소
Trade.Dex.ProtocolNameDEX 이름 (예: Raydium, Orca, Jupiter)
Pool.Address거래가 실행된 유동성 풀 주소
  • 체인 전환: network: solnetwork: eth, network: bsc, network: polygon으로 교체
  • 결과 증가: count: 10을 최대 10000까지 변경
  • 시간 필터 추가: where: {Block: {Time: {after: "2025-03-01T00:00:00Z"}}}를 추가하여 시간 범위로 제한
  • DEX별 필터: where: {Trade: {Dex: {ProtocolName: {is: "Raydium"}}}}를 추가하여 특정 프로토콜로 제한

특정 토큰의 트레이드를 어떻게 조회하나요?

tokenAddress 셀렉터에 토큰 주소를 전달하여 특정 토큰의 트레이드를 조회합니다.
query {
  DEXTrades(
    network: sol
    limit: {count: 10}
    tokenAddress: {is: "TOKEN_ADDRESS"}
    orderBy: Block_Time_DESC
  ) {
    Block { Time }
    Trade {
      Buy { Amount, PriceInUSD, Account { Owner } }
      Sell { Currency { MintAddress }, Amount }
      Dex { ProtocolName }
    }
    Pool { Address }
  }
}
TOKEN_ADDRESS를 실제 토큰 민트 주소로 교체하세요 (예: Solana의 USDC는 EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v). 이름으로 주소를 조회하려면 토큰 메타데이터를 참조하세요.
필드설명
Trade.Buy.Amount매수한 토큰 수량
Trade.Buy.PriceInUSD거래 시점의 토큰당 가격
Trade.Buy.Account.Owner매수를 실행한 월렛
Trade.Sell.Currency.MintAddress매도한 자산의 토큰 주소 (페어의 반대편)
Trade.Dex.ProtocolNameDEX 프로토콜 이름
  • 최소 금액 필터: where: {Trade: {Buy: {Amount: {gt: 1000}}}}를 추가하여 대규모 트레이드만 표시
  • 가격 범위 필터: where: {Trade: {Buy: {PriceInUSD: {gte: 0.001, lte: 1.0}}}}를 추가하여 가격 범위로 제한
  • 의심 트레이드 제외: IsSuspect = false 필터가 기본 적용 — 봇/MEV 트레이드가 이미 제외됨

특정 월렛의 모든 트레이드를 어떻게 조회하나요?

특정 월렛 주소의 모든 트레이드를 조회합니다.
query {
  DEXTrades(
    network: sol
    limit: {count: 20}
    walletAddress: {is: "WALLET_ADDRESS"}
    orderBy: Block_Time_DESC
  ) {
    Block { Time }
    Trade {
      Buy { Currency { MintAddress }, Amount, PriceInUSD }
      Sell { Currency { MintAddress }, Amount }
      Dex { ProtocolName }
    }
    Transaction { Hash, FeeInNative }
  }
}
walletAddress 셀렉터는 해당 월렛이 매수자 또는 매도자인 트레이드와 일치합니다.
필드설명
Trade.Buy.Currency.MintAddress매수한 토큰
Trade.Sell.Currency.MintAddress매도한 토큰
Transaction.FeeInNative네이티브 토큰 가스 수수료 (Solana의 경우 SOL)
  • 단일 토큰으로 필터: tokenAddress: {is: "TOKEN_ADDRESS"}와 결합하여 이 월렛의 특정 토큰 트레이드만 표시
  • 시간 범위 추가: where: {Block: {Time: {after: "2025-03-01T00:00:00Z"}}}를 추가하여 최근 트레이드로 제한
  • 제한 증가: 더 많은 히스토리를 위해 count: 100으로 설정 (최대 10,000)

토큰의 현재 가격을 어떻게 조회하나요?

가장 최근의 비의심 트레이드에서 토큰의 최신 가격을 가져옵니다.
query {
  DEXTrades(
    network: sol
    limit: {count: 1}
    tokenAddress: {is: "TOKEN_ADDRESS"}
    where: {IsSuspect: {eq: false}}
    orderBy: Block_Time_DESC
  ) {
    Trade {
      Buy { PriceInUSD, PriceInNative }
    }
    Block { Time }
  }
}
필드설명
Trade.Buy.PriceInUSD가장 최근 트레이드의 USD 가격
Trade.Buy.PriceInNative체인 네이티브 토큰(SOL, ETH, BNB)으로 표시된 가격
Block.Time트레이드 타임스탬프 — 가격이 얼마나 최신인지 나타냄
  • 여러 가격: 평균을 위해 최근 가격 시리즈를 얻으려면 count를 증가
  • 크로스체인: network: eth를 사용하여 동일 토큰의 Ethereum 가격을 조회 (해당 체인에 존재하는 경우)
시간에 따른 신뢰할 수 있는 토큰 가격 데이터는 Pairs Cube 사용을 고려하세요 — 분별 사전 계산된 open/high/low/close 가격이 포함된 캔들스틱 데이터를 제공합니다.

토큰의 상위 트레이더를 어떻게 찾나요?

집계를 사용하여 토큰의 상위 트레이더를 찾습니다. 이 쿼리는 매수자 월렛별로 트레이드를 그룹화하고 총 매수 횟수와 거래량을 반환합니다.
query {
  DEXTrades(
    network: sol
    limit: {count: 100}
    tokenAddress: {is: "TOKEN_ADDRESS"}
    where: {IsSuspect: {eq: false}}
  ) {
    Trade {
      Buy {
        Account { Owner }
        Amount
        PriceInUSD
      }
    }
    count
    sum(of: Trade_Buy_Amount)
  }
}
필드설명
Trade.Buy.Account.Owner월렛 주소 (그룹화 키)
count이 월렛의 트레이드 수
sum(of: Trade_Buy_Amount)이 월렛이 매수한 총 토큰 수
  • 거래량 기준 정렬: 결과는 디멘션 필드별로 그룹화됨 — 더 높은 수준의 집계를 위해 더 적은 디멘션 선택
  • 시간 제한 리더보드: 특정 기간으로 제한하려면 where: {Block: {Time: {after: "2025-03-01T00:00:00Z"}}}를 추가
  • 소액 트레이드 제외: where 절에 Trade: {Buy: {Amount: {gt: 100}}}를 추가
메트릭 필드(count, sum)를 디멘션 필드와 함께 포함하면 API가 자동으로 선택된 디멘션별로 결과를 그룹화합니다. 전체 세부 사항은 메트릭 & 집계를 참조하세요.

멀티체인 예제

동일한 쿼리가 모든 지원 체인에서 작동합니다 — network 파라미터만 변경하면 됩니다.
query {
  DEXTrades(
    network: sol
    limit: {count: 5}
    orderBy: Block_Time_DESC
  ) {
    Block { Time, Slot }
    Trade {
      Buy { Currency { MintAddress }, PriceInUSD }
      Dex { ProtocolName }
    }
  }
}

다음 단계

전송

온체인 토큰 전송 데이터를 쿼리합니다.

잔액 & 홀더

월렛 잔액, 잔액 히스토리, 상위 홀더를 조회합니다.

풀 & 유동성

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

OHLC & 통계

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