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

# Hypercore Sources

> Build real-time pipelines with Hyperliquid Hypercore fills, trades, and liquidations

## Overview

Goldsky provides curated Hyperliquid Hypercore datasets for fills, trades, liquidations, and miscellaneous events, making it easy to build pipelines for perp and spot market analysis.

<Note>
  Reach out to [support@goldsky.com](mailto:support@goldsky.com) for dataset access.
</Note>

**Available datasets:**

* `hypercore.fills` — Every individual fill (a single execution against a resting order)
* `hypercore.trades` — Market trades, one row per trade, reconstructed by pairing the two fills under the same trade
* `hypercore.liquidations` — The subset of fills that were part of a liquidation
* `hypercore.misc_events` — Miscellaneous event data

## Schema Reference

### `hypercore.fills` (v1.0.0)

Every individual fill — a single execution against a resting order.

| Column              | Type              | Notes                                 |
| ------------------- | ----------------- | ------------------------------------- |
| `id`                | Utf8              | **PK**                                |
| `block_number`      | UInt64            | Source block height                   |
| `timestamp`         | Int64             | utc timestamp                         |
| `user`              | Utf8              | Address whose order executed          |
| `coin`              | Utf8              | Perp symbol or spot pair id           |
| `side`              | Utf8              | `B` (buy) / `A` (sell)                |
| `dir`               | Utf8              | e.g. `Open Long`, `Close Short`       |
| `price`             | Decimal128(38,18) | Fill price                            |
| `size`              | Decimal128(38,18) | Fill size                             |
| `fee`               | Decimal128(38,18) | Fee in `fee_token`                    |
| `fee_token`         | Utf8              | Fee denomination token                |
| `closed_pnl`        | Decimal128(38,18) | Closed PnL, USD                       |
| `start_position`    | Decimal128(38,18) | Position before the fill              |
| `hash`              | Utf8              | Fill hash                             |
| `order_id`          | UInt64            | Order id (`oid`)                      |
| `trade_id`          | UInt64            | Trade id (`tid`)                      |
| `crossed`           | Boolean           | Whether the fill crossed the spread   |
| `builder_fee`       | Decimal128(38,18) | Builder fee                           |
| `hip3_deployer_fee` | Decimal128(38,18) | HIP-3 deployer fee                    |
| `client_order_id`   | Utf8              | Client order id (`cloid`)             |
| `twap_id`           | Int64             | TWAP order id                         |
| `liquidation`       | Utf8              | Raw `liquidation` object, JSON string |

### `hypercore.trades` (v1.0.0)

Market trades — one row per trade, reconstructed by pairing the two fills under the same trade.

| Column             | Type              | Notes                                        |
| ------------------ | ----------------- | -------------------------------------------- |
| `id`               | Utf8              | **PK**                                       |
| `block_number`     | UInt64            | Source block height                          |
| `timestamp`        | Int64             | utc timestamp                                |
| `coin`             | Utf8              | Perp symbol or spot pair id                  |
| `price`            | Decimal128(38,18) | Trade price                                  |
| `side`             | Utf8              | Aggressor (crossing) side, `B` / `A`         |
| `size`             | Decimal128(38,18) | Units traded                                 |
| `buy_user`         | Utf8              | Buy-side user address                        |
| `sell_user`        | Utf8              | Sell-side user address                       |
| `transaction_hash` | Utf8              | Absent when the source hash is all-zero      |
| `trade_id`         | UInt64            | Shared trade id                              |
| `extra_fields`     | Utf8              | Per-side fees/PnL/dir/order-ids, JSON string |

### `hypercore.liquidations` (v1.0.0)

The subset of fills that were part of a liquidation.

| Column         | Type              | Notes                                          |
| -------------- | ----------------- | ---------------------------------------------- |
| `id`           | Utf8              | **PK**                                         |
| `block_number` | UInt64            | Source block height                            |
| `timestamp`    | Int64             | utc timestamp                                  |
| `user`         | Utf8              | Liquidated user                                |
| `coin`         | Utf8              | Perp symbol or spot pair id                    |
| `size`         | Decimal128(38,18) | Fill size                                      |
| `price`        | Decimal128(38,18) | Fill price                                     |
| `mark_price`   | Decimal128(38,18) | Mark price at liquidation (`markPx`)           |
| `method`       | Utf8              | Liquidation method (e.g. `market`, `backstop`) |
| `pnl`          | Decimal128(38,18) | Closed PnL, USD                                |

### `hypercore.misc_events` (v1.0.0)

Miscellaneous event data.

| Column         | Type   | Notes               |
| -------------- | ------ | ------------------- |
| `id`           | Utf8   | **PK**              |
| `block_number` | UInt64 | Source block height |
| `timestamp`    | Int64  | utc timestamp       |
| `hash`         | Utf8   | Event hash          |
| `event`        | Utf8   | JSON string         |

<Note>
  `extra_fields`, `liquidation`, and `event` are JSON-encoded strings. Use `json_extract` or your sink's JSON functions to parse them downstream.
</Note>
