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

# Quickstart

> From zero to a first successful request in three steps: get a key, call the REST API, page through results.

Every example on this page was run against production on 19 September 2026. Responses are real; the fills list is cut to its first row.

## 1. Get an API key

Create an account on [app.hypedexer.com](https://app.hypedexer.com), open **API Keys** and click **Create API Key**. The step-by-step version with screenshots is in [Generate API key](/api/generate-api-key).

Every new account starts with free credits, see [Rate Limits & Pricing](/guides/rate-limits-and-quotas).

## 2. Make your first request

The base URL is `https://api.hypedexer.com`. Send your key in the `X-API-Key` header.

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://api.hypedexer.com/overview/total-fills-24h" \
    -H "X-API-Key: $HYPEDEXER_API_KEY"
  ```

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

  r = requests.get(
      "https://api.hypedexer.com/overview/total-fills-24h",
      headers={"X-API-Key": os.environ["HYPEDEXER_API_KEY"]},
      timeout=30,
  )
  r.raise_for_status()
  print(r.json()["data"])
  ```

  ```javascript Node.js theme={null}
  const r = await fetch("https://api.hypedexer.com/overview/total-fills-24h", {
    headers: { "X-API-Key": process.env.HYPEDEXER_API_KEY },
  });
  if (!r.ok) throw new Error(`HTTP ${r.status}`);
  console.log((await r.json()).data);
  ```
</CodeGroup>

Response:

```json theme={null}
{
  "success": true,
  "message": "Total fills 24h",
  "data": { "value": 14120750, "variationPct": 15.213464442338113 },
  "total_count": null,
  "execution_time_ms": 2202.59,
  "next_cursor": null,
  "has_more": null
}
```

Indexed endpoints share this envelope: `success`, `message`, `data`, plus `total_count`, `next_cursor` and `has_more` on list endpoints.

<Note>
  If you get `401` with the body `missing api key` or `invalid api key`, the header is absent or the key is wrong. See [Authentication](/guides/authentication-and-api-keys).
</Note>

## 3. Read a wallet's fills and follow the cursor

Fills for one address, inside a time window. Timestamps are ISO 8601, in UTC.

```bash theme={null}
curl "https://api.hypedexer.com/fills/user/0x010461c14e146ac35fe42271bdc1134ee31c703a?start_time=2026-09-18T00:00:00Z&end_time=2026-09-18T00:05:00Z&limit=2" \
  -H "X-API-Key: $HYPEDEXER_API_KEY"
```

```json theme={null}
{
  "success": true,
  "message": "Fills for user 0x010461c1... (compact)",
  "data": [
    {
      "user": "0x010461c14e146ac35fe42271bdc1134ee31c703a",
      "coin": "OP",
      "coinMeaning": "OP",
      "px": 0.10127,
      "sz": 3944.5,
      "side": "B",
      "startPosition": -597650.1,
      "time": "2026-09-18 00:04:59.759000",
      "tid": 152988313348231,
      "oid": 548310212171,
      "hash": "0x1357b13d54c29f9f14d10444a28a660202860022efc5be71b7205c9013c67989",
      "fee": 0.0,
      "feeToken": "USDC",
      "typeTrade": "perp",
      "isLiquidation": 0,
      "liquidationRole": "none",
      "liqMarkPx": null,
      "liqMethod": null,
      "liquidatedUser": null,
      "notional": 399.459515,
      "priorityGas": null
    }
  ],
  "total_count": 924,
  "execution_time_ms": 0.6,
  "next_cursor": "1789689899356:339668818780777",
  "has_more": true
}
```

The window holds 924 fills and `has_more` is `true`. To get the next page, send the value of `next_cursor` back in the `cursor` query parameter, unchanged:

```bash theme={null}
curl "https://api.hypedexer.com/fills/user/0x010461c14e146ac35fe42271bdc1134ee31c703a?start_time=2026-09-18T00:00:00Z&end_time=2026-09-18T00:05:00Z&limit=2&cursor=1789689899356:339668818780777" \
  -H "X-API-Key: $HYPEDEXER_API_KEY"
```

Stop when `has_more` is `false`.

<Tip>
  Always pass `start_time` and `end_time` on fills endpoints. Measured on the address above: the five-minute window answers in about half a second, the same request without a window takes several seconds.
</Tip>

## What each request costs

Every response carries two headers: `X-Credit-Cost`, the credits charged for that request, and `X-Credit-Balance`, what is left on your account. Requests that fail with a status of 400 or above are not charged. The credit rules are in [Rate Limits & Pricing](/guides/rate-limits-and-quotas).

## Where to go next

<CardGroup cols={2}>
  <Card title="Indexed data" icon="database" href="/indexed-data/index">
    Fills, completed trades, funding, liquidations, TWAPs, vaults and per-wallet analytics over REST.
  </Card>

  <Card title="Live data" icon="bolt" href="/live-data/websocket">
    Order book (L2 and order-level L4), trades, candles and fills over WebSocket.
  </Card>

  <Card title="Social trading" icon="users" href="/guides/social-trading">
    Equity curve, PnL calendar and performance stats for any wallet.
  </Card>

  <Card title="AI agents (MCP)" icon="robot" href="/mcp/overview">
    Plug the same data into Claude, Cursor or any MCP client with one URL.
  </Card>
</CardGroup>
