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

# Quickstart

> From zero to your first whale-trade signal in two minutes.

Generate a key, confirm it works, then run a real "follow the smartest traders" workflow.

## 1. Generate your API key

API access is bundled with the [Insider subscription](https://0xinsider.com/pricing) (\$89/mo).

<Steps>
  <Step title="Sign up or log in">
    [0xinsider.com/sign-up](https://0xinsider.com/sign-up)
  </Step>

  <Step title="Subscribe to Insider">
    Pick the Insider plan on [Pricing](https://0xinsider.com/pricing).
  </Step>

  <Step title="Generate your key">
    On [Developers](https://0xinsider.com/developers), click **Generate Key**. It's shown once, so copy it now. You can regenerate a lost key, but the old one stops working.
  </Step>
</Steps>

Keys look like `oxi_sk_live_` followed by 64 hex characters.

<Tip>
  Export it once so the rest of this page just works:

  ```bash theme={null}
  export OXINSIDER_API_KEY="oxi_sk_live_..."
  ```
</Tip>

## 2. Confirm the key works

```bash theme={null}
curl -H "Authorization: Bearer $OXINSIDER_API_KEY" \
  https://api.0xinsider.com/api/v1/health
```

```json theme={null}
{
  "object": "health",
  "data": { "status": "ok", "db": true, "cache": true },
  "meta": { "request_id": "req_abc123", "cached": false }
}
```

`status: "ok"` means you're wired up.

<Tip>
  Browser apps can call REST endpoints under
  `https://api.0xinsider.com/api/v1/*` directly from any origin with
  `Authorization: Bearer ...`; do not send cookies or `credentials: "include"`.
  Remote MCP at `/api/v1/mcp` still validates `Origin` against the
  0xinsider/localhost allowlist. Browser JavaScript can read `X-RateLimit-*`,
  `Retry-After`, `ETag`, `X-Request-Id`, `X-Request-Cost`,
  `X-Batch-RateLimit-*`, `Mcp-Session-Id`, and `X-Mcp-Error-Code` response
  headers. Account/key-management routes such as `/api/keys` stay
  first-party-only and credentialed.
</Tip>

## 3. Follow the smartest traders

Not "who's #1," but "what are the best traders doing right now, and am I early?"

### Step A: Pull the top 5 S-grade traders

```bash theme={null}
curl -H "Authorization: Bearer $OXINSIDER_API_KEY" \
  "https://api.0xinsider.com/api/v1/leaderboard?limit=5"
```

Each entry has the wallet address (`id`), grade, score, P\&L, and strategy. Pick one to follow.

### Step B: Look up that trader's full profile

The trader endpoint takes a wallet address or a known username:

```bash theme={null}
curl -H "Authorization: Bearer $OXINSIDER_API_KEY" \
  "https://api.0xinsider.com/api/v1/trader/0x863134d00841b2e200492805a01e1e2f5defaa53"
```

You get their realized P\&L, win rate, category strengths, and current open positions.

### Step C: See what whales are buying now

A-grade or better, last 50 trades:

```bash theme={null}
curl -H "Authorization: Bearer $OXINSIDER_API_KEY" \
  "https://api.0xinsider.com/api/v1/whale-trades?min_grade=A&limit=50"
```

Layer filters. A-grade or better, crypto only, \$10k+ notional:

```bash theme={null}
curl -H "Authorization: Bearer $OXINSIDER_API_KEY" \
  "https://api.0xinsider.com/api/v1/whale-trades?min_grade=A&category=crypto&min_size=10000&limit=50"
```

### Step D: Drill into one market

Grab the `condition_id` from a trade you like (raw hex, not the prefixed `mkt_...` form), then:

```bash theme={null}
curl -H "Authorization: Bearer $OXINSIDER_API_KEY" \
  "https://api.0xinsider.com/api/v1/market/<condition_id>/intel"
```

Market Intel returns the smart-money breakdown: buy volume vs sell volume from graded traders, top positions, and which side has conviction.

The loop: **leaderboard -> trader profile -> whale trades -> market intel**. Wire it to a cron, a chatbot, or a dashboard.

## Same workflow, in code

<CodeGroup>
  ```javascript JavaScript theme={null}
  const KEY = process.env.OXINSIDER_API_KEY;
  const headers = { Authorization: `Bearer ${KEY}` };

  const top = await fetch(
    "https://api.0xinsider.com/api/v1/leaderboard?limit=5",
    { headers }
  ).then(r => r.json());

  const topId = top.data[0].id.replace(/^trd_/, "");

  const trader = await fetch(
    `https://api.0xinsider.com/api/v1/trader/${topId}`,
    { headers }
  ).then(r => r.json());

  const whales = await fetch(
    "https://api.0xinsider.com/api/v1/whale-trades?min_grade=A&limit=50",
    { headers }
  ).then(r => r.json());

  console.log({ top: top.data[0], trader: trader.data, whales: whales.data.length });
  ```

  ```python Python theme={null}
  import os, requests

  KEY = os.environ["OXINSIDER_API_KEY"]
  H = {"Authorization": f"Bearer {KEY}"}
  BASE = "https://api.0xinsider.com/api/v1"

  top = requests.get(f"{BASE}/leaderboard", params={"limit": 5}, headers=H).json()
  top_id = top["data"][0]["id"].removeprefix("trd_")

  trader = requests.get(f"{BASE}/trader/{top_id}", headers=H).json()
  whales = requests.get(
      f"{BASE}/whale-trades",
      params={"min_grade": "A", "limit": 50},
      headers=H,
  ).json()

  print(top["data"][0], trader["data"]["grade"], len(whales["data"]))
  ```
</CodeGroup>

## Lower the call count with a batch endpoint

Already have the wallet addresses or usernames you care about? Fetch them in one call:

```bash theme={null}
curl -H "Authorization: Bearer $OXINSIDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"traders": ["0xabc...", "0xdef...", "0x123..."]}' \
  "https://api.0xinsider.com/api/v1/traders/batch"
```

Batch reads return the same per-item shape, with per-item error fields when an address fails. They count against a separate batch-item rate-limit budget. See [Rate Limits](/rate-limits).

## Next

<CardGroup cols={2}>
  <Card title="Local MCP Server" icon="terminal" href="/integrations/mcp">
    Skip the HTTP plumbing. Give your AI agent the same tools directly.
  </Card>

  <Card title="TypeScript Client" icon="code" href="/integrations/typescript-client">
    Use the repo-owned source client with typed errors and `expand` helpers.
  </Card>

  <Card title="Trader Grades" icon="medal" href="/concepts/grades">
    What S, A, B, C, D, F actually mean.
  </Card>

  <Card title="Errors & Rate Limits" icon="triangle-exclamation" href="/errors">
    What to do when a request fails.
  </Card>
</CardGroup>
