> ## 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.

# SDK

> TypeScript / Python / Go / Rust의 타입 클라이언트 라이브러리 — REST / GraphQL / WebSocket의 관용적 래퍼.

ChainStream SDK는 원하는 언어에서 모든 데이터 제품을 호출하는 인체공학적인 방법을 제공합니다. 동일한 [데이터 제품](/ko/docs/data-products/overview)과 [접근 방식](/ko/docs/access-methods/overview)에, 타입/재시도/기본값이 추가된 형태입니다.

## 언어

<CardGroup cols={2}>
  <Card title="TypeScript" icon="js" href="/ko/sdks/typescript">
    `@chainstream-io/sdk` — 브라우저와 Node 모두 지원.
  </Card>

  <Card title="Python" icon="python" href="/ko/sdks/python">
    `chainstream` — async 우선.
  </Card>

  <Card title="Go" icon="golang" href="/ko/sdks/go">
    `github.com/chainstream-io/chainstream-go`.
  </Card>

  <Card title="Rust" icon="rust" href="/ko/sdks/rust">
    `chainstream` crate.
  </Card>
</CardGroup>

## 설치

```bash theme={null}
npm install @chainstream-io/sdk
pip install chainstream
go get github.com/chainstream-io/chainstream-go
cargo add chainstream
```

## 첫 호출 — TypeScript

```ts theme={null}
import { ChainStream } from "@chainstream-io/sdk";

const cs = new ChainStream({ apiKey: process.env.CHAINSTREAM_API_KEY! });

const results = await cs.token.search({
  chain: "solana",
  keyword: "USDC",
  limit: 5,
});

for (const t of results) {
  console.log(t.symbol, t.priceUsd);
}
```

## 공통 패턴

* **REST** — `cs.token.*`, `cs.wallet.*`, `cs.trade.*`, `cs.ranking.*`, `cs.dex.*` ...
* **WebSocket** — `cs.stream.subscribeTokenTrade({ chain, tokenAddress, callback })`(candles / stats / holders / wallets / rankings / pools 에도 대응 메서드 있음)
* **GraphQL** — `cs.gql(query, variables)`는 codegen을 통해 완전한 타입 결과를 반환합니다
* **CLI 브릿지** — `cs.cli("market", "trending", { chain: "sol", duration: "24h" })`는 `chainstream market trending --chain sol --duration 24h`와 동일한 로직을 실행합니다

## 언제 사용해야 할까

* 애플리케이션에 통합할 때 — 거의 항상 적합한 기본 선택
* 타입, 재시도, 에러 매핑, 페이지네이션을 모두 처리받고 싶을 때
* 동일 리소스를 재작성 없이 REST ↔ WebSocket으로 전환하고 싶을 때

사용하지 **않을** 때: `curl` + REST가 더 빠른 일회성 작업 (또는 CLI).

## 다음 단계

<CardGroup cols={2}>
  <Card title="SDK 카탈로그" icon="box" href="/ko/sdks/overview">
    언어별 가이드와 릴리스 노트.
  </Card>

  <Card title="Reference" icon="code" href="/ko/api-reference/overview">
    기반이 되는 REST / GraphQL / WebSocket.
  </Card>
</CardGroup>
