> ## 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 は、好きな言語からすべてのデータプロダクトを呼び出す人間工学的な方法を提供します。同じ [データプロダクト](/jp/docs/data-products/overview) と [アクセス方法](/jp/docs/access-methods/overview) に、型・リトライ・デフォルトが付いた形です。

## 言語

<CardGroup cols={2}>
  <Card title="TypeScript" icon="js" href="/jp/sdks/typescript">
    `@chainstream-io/sdk` — ブラウザ & Node 両対応。
  </Card>

  <Card title="Python" icon="python" href="/jp/sdks/python">
    `chainstream` — async ファースト。
  </Card>

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

  <Card title="Rust" icon="rust" href="/jp/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` と同じロジックを実行します

## 使いどころ

* アプリケーションに組み込むとき — ほぼ常にこれが既定の選択肢
* 型、リトライ、エラーマッピング、ページネーションを SDK 任せにしたいとき
* 同じリソースを REST ↔ WebSocket で書き換えずに切り替えたいとき

**適さない**ケース：`curl` + REST のほうが早い単発ケース（または CLI）。

## 次へ

<CardGroup cols={2}>
  <Card title="SDK カタログ" icon="box" href="/jp/sdks/overview">
    言語別ガイドとリリースノート。
  </Card>

  <Card title="Reference" icon="code" href="/jp/api-reference/overview">
    底層の REST / GraphQL / WebSocket。
  </Card>
</CardGroup>
