> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chainstream.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 쿼리 템플릿

> 체인과 Cube별로 구성된 내장 쿼리 템플릿 — 로드, 커스터마이징, 자주 쓰는 온체인 분석 쿼리 실행

## 쿼리 템플릿이란

쿼리 템플릿은 Solana, Ethereum, BSC에서 가장 흔한 분석 시나리오를 다루도록 미리 작성된 GraphQL 쿼리입니다. 각 템플릿은 특정 Cube를 대상으로 하며, 올바른 쿼리 구조·필드·필터 인자가 채워져 있어 플레이스홀더 값만 바꾸면 바로 실행할 수 있습니다.

템플릿이 도움이 되는 이유:

* **스키마를 예제로 학습** — 필드, 필터, 정렬이 실제로 어떻게 동작하는지 확인
* **처음부터 쿼리를 쓰지 않고 빠르게 시작**
* **몰랐을 수 있는 Cube** 를 발견

***

## 템플릿 접근 방법

<Steps>
  <Step title="사이드바 열기">
    사이드바 토글을 클릭하거나 **Ctrl/Cmd+B** 를 눌러 왼쪽 패널을 엽니다.
  </Step>

  <Step title="Queries 탭 선택">
    사이드바에는 **Queries**(템플릿)와 **Saved**(저장한 쿼리) 두 탭이 있습니다. **Queries** 를 선택합니다.
  </Step>

  <Step title="체인·Cube별로 탐색">
    템플릿은 트리로 정리됩니다: **Chain**(Solana / Ethereum / BSC) → **Cube**(DEXTrades, Transfers 등) → **Template**.
  </Step>

  <Step title="클릭하여 불러오기">
    템플릿을 클릭하면 쿼리 편집기에 로드됩니다. 플레이스홀더 값은 바꾸기 쉽도록 강조 표시됩니다.
  </Step>
</Steps>

***

## 템플릿 구성

템플릿은 두 단계 계층을 따릅니다:

```
Chain (Solana / Ethereum / BSC)
 └── Cube
      └── Template
```

각 체인에는 동일한 Cube·템플릿 집합이 있으며, 올바른 `network` 값(`sol`, `eth`, `bsc`)으로 미리 설정되어 있습니다.

***

## 템플릿 카탈로그

<div style={{ overflowX: 'auto', width: '100%' }}>
  | Cube                   | 템플릿                                                                        | 개수 |
  | :--------------------- | :------------------------------------------------------------------------- | :- |
  | **DEXTrades**          | Latest Trades · Token Trades · Pair Trades · Trades by DEX · Wallet Trades | 5  |
  | **Transfers**          | Token Transfers · Wallet Transfers                                         | 2  |
  | **BalanceUpdates**     | Token Balance Updates · Wallet Balance Updates                             | 2  |
  | **DEXPools**           | Pool Info · Token Pools · Liquidity Snapshots                              | 3  |
  | **TokenSupplyUpdates** | Mint & Burn Events · Market Cap (via TokenSupplyUpdates)                   | 2  |
  | **TokenHolders**       | Top Holders                                                                | 1  |
  | **WalletTokenPnL**     | Wallet PnL                                                                 | 1  |
  | **Pairs**              | Price Candles                                                              | 1  |
  | **Tokens**             | Trade Statistics · Search Tokens (via token dimensions)                    | 2  |
</div>

<Info>
  가장 많이 쓰이는 Cube가 **19개 템플릿**으로 정리되어 있습니다. 각 템플릿은 지원되는 모든 체인에서 사용할 수 있습니다.
</Info>

***

## Cube별 템플릿 상세

<AccordionGroup>
  <Accordion title="DEXTrades (템플릿 5개)">
    | 템플릿               | 설명                   | 플레이스홀더               |
    | :---------------- | :------------------- | :------------------- |
    | **Latest Trades** | 네트워크에서 가장 최근 DEX 거래  | —                    |
    | **Token Trades**  | 특정 토큰이 포함된 거래        | `TOKEN_ADDRESS`      |
    | **Pair Trades**   | 특정 토큰 페어의 거래         | `TOKEN_ADDRESS` (×2) |
    | **Trades by DEX** | DEX 프로토콜 이름으로 필터한 거래 | —                    |
    | **Wallet Trades** | 지갑이 실행한 모든 DEX 거래    | `WALLET_ADDRESS`     |
  </Accordion>

  <Accordion title="Transfers (템플릿 2개)">
    | 템플릿                  | 설명                | 플레이스홀더           |
    | :------------------- | :---------------- | :--------------- |
    | **Token Transfers**  | 특정 토큰의 전송 이벤트     | `TOKEN_ADDRESS`  |
    | **Wallet Transfers** | 지갑이 보내거나 받은 모든 전송 | `WALLET_ADDRESS` |
  </Accordion>

  <Accordion title="BalanceUpdates (템플릿 2개)">
    | 템플릿                        | 설명               | 플레이스홀더           |
    | :------------------------- | :--------------- | :--------------- |
    | **Token Balance Updates**  | 특정 토큰의 잔액 변화 이벤트 | `TOKEN_ADDRESS`  |
    | **Wallet Balance Updates** | 지갑의 모든 잔액 변화     | `WALLET_ADDRESS` |
  </Accordion>

  <Accordion title="DEXPools (템플릿 3개)">
    | 템플릿                     | 설명                   | 플레이스홀더          |
    | :---------------------- | :------------------- | :-------------- |
    | **Pool Info**           | 특정 풀의 메타데이터와 리저브     | `POOL_ADDRESS`  |
    | **Token Pools**         | 토큰이 포함된 모든 유동성 풀     | `TOKEN_ADDRESS` |
    | **Liquidity Snapshots** | 시간에 따른 풀의 과거 유동성 데이터 | `POOL_ADDRESS`  |
  </Accordion>

  <Accordion title="TokenSupplyUpdates (템플릿 2개)">
    | 템플릿                    | 설명                     | 플레이스홀더          |
    | :--------------------- | :--------------------- | :-------------- |
    | **Mint & Burn Events** | 토큰 공급에 영향을 주는 민트·번 이벤트 | `TOKEN_ADDRESS` |
    | **Market Cap**         | 토큰의 시가총액 스냅샷           | `TOKEN_ADDRESS` |
  </Accordion>

  <Accordion title="TokenHolders (템플릿 1개)">
    | 템플릿             | 설명                  | 플레이스홀더          |
    | :-------------- | :------------------ | :-------------- |
    | **Top Holders** | 잔액 기준 특정 토큰의 최대 보유자 | `TOKEN_ADDRESS` |
  </Accordion>

  <Accordion title="WalletTokenPnL (템플릿 1개)">
    | 템플릿            | 설명                   | 플레이스홀더                            |
    | :------------- | :------------------- | :-------------------------------- |
    | **Wallet PnL** | 지갑–토큰 페어의 실현·미실현 PnL | `WALLET_ADDRESS`, `TOKEN_ADDRESS` |
  </Accordion>

  <Accordion title="Pairs (템플릿 1개)">
    | 템플릿               | 설명                       | 플레이스홀더          |
    | :---------------- | :----------------------- | :-------------- |
    | **Price Candles** | 간격을 설정할 수 있는 OHLC 캔들 데이터 | `TOKEN_ADDRESS` |
  </Accordion>

  <Accordion title="Tokens (템플릿 2개)">
    | 템플릿                  | 설명                     | 플레이스홀더          |
    | :------------------- | :--------------------- | :-------------- |
    | **Trade Statistics** | 집계된 거래량, 건수, 고유 트레이더 수 | `TOKEN_ADDRESS` |
    | **Search Tokens**    | 이름·심볼·주소로 토큰 전문 검색     | —               |
  </Accordion>
</AccordionGroup>

***

## 플레이스홀더

템플릿은 실행 전 실제 온체인 주소로 바꿔야 하는 값을 대문자 플레이스홀더로 표시합니다.

| 플레이스홀더           | 설명            | 예시                                                           |
| :--------------- | :------------ | :----------------------------------------------------------- |
| `TOKEN_ADDRESS`  | 토큰 컨트랙트/민트 주소 | `EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v` (Solana USDC) |
| `WALLET_ADDRESS` | 지갑 공개 주소      | `5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1`               |
| `POOL_ADDRESS`   | DEX 유동성 풀 주소  | `58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2`               |

<Note>
  플레이스홀더는 쿼리에 문자열 그대로 나타납니다(예: `MintAddress: {is: "TOKEN_ADDRESS"}`). 따옴표를 포함한 전체 플레이스홀더 문자열을 실제 주소로 바꿉니다.
</Note>

***

## 예: 템플릿 사용하기

Solana에서 **DEXTrades → Latest Trades** 템플릿을 쓰는 방법입니다:

<Steps>
  <Step title="사이드바에서 템플릿 선택">
    **Solana → DEXTrades → Latest Trades** 로 이동한 뒤 클릭해 불러옵니다.
  </Step>

  <Step title="로드된 쿼리 확인">
    편집기에 다음이 채워집니다:

    ```graphql theme={null}
    query {
      Solana {
        DEXTrades(
          limit: {count: 10}
          orderBy: {descending: Block_Time}
        ) {
          Block { Time Slot }
          Transaction { Hash }
          Trade {
            Buy {
              Currency { MintAddress Symbol Name }
              Amount
              PriceInUSD
            }
            Sell {
              Currency { MintAddress Symbol Name }
              Amount
            }
            Dex { ProtocolName }
          }
        }
      }
    }
    ```
  </Step>

  <Step title="실행">
    이 템플릿에는 플레이스홀더가 없습니다 — 가장 최근 거래 10건을 가져옵니다. **Ctrl/Cmd+Enter** 로 실행합니다.
  </Step>

  <Step title="반복 개선">
    필터 추가, limit 변경, 다른 필드 선택 등으로 쿼리를 수정합니다. 스키마 자동완성으로 사용 가능한 옵션을 탐색할 수 있습니다.
  </Step>
</Steps>
