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

# HIP-3 Markets

> Discover and stream OHLCV for every HIP-3 builder-deployed perp market on Hyperliquid - equities, commodities, niche assets - using GoldRush's deployer-prefix syntax.

HIP-3 lets builders deploy their own perp markets on Hyperliquid - equities, commodities, niche assets - and new ones appear constantly. The public `candleSnapshot` is poll-based and effectively limited to mainstream markets, and discovering HIP-3 markets means stitching market IDs by hand.

GoldRush's `ohlcvCandlesForPair` and `ohlcvCandlesForToken` are real-time WebSocket streams that address HIP-3 markets natively with the **deployer-prefix syntax**. List, chart, or stream any market the moment it goes live.

## Pair address format

Hyperliquid markets use a **deployer-prefix naming scheme**. The exact string differs by surface, so pass the value each API expects - matching is case- and format-sensitive.

| Where it's used                                                       | Format                                                                   | Examples                                    |
| --------------------------------------------------------------------- | ------------------------------------------------------------------------ | ------------------------------------------- |
| WebSocket `coin` (`l2Book`, `l2BookDiff`, `l4Book`) - canonical perps | `<symbol>`                                                               | `BTC`, `ETH`, `HYPE`                        |
| WebSocket `coin` - HIP-3 builder markets                              | `<deployer>:<symbol>`                                                    | `xyz:GOLD`, `flx:OIL`                       |
| Streaming `pair_addresses` (`ohlcvCandlesForPair`)                    | `<deployer>:<symbol>-<quote>`, or `<symbol>-<quote>` for canonical pairs | `xyz:GOLD-USDC`, `flx:OIL-USDH`, `BTC-USDC` |
| Streaming `token_addresses` (`ohlcvCandlesForToken`)                  | `<symbol>` (no prefix)                                                   | `GOLD`, `OIL`, `BTC`                        |

* `deployer` - wallet address of the HIP-3 builder that deployed the market. Omitted for canonical Hyperliquid markets.
* `symbol` - market ticker (e.g. `GOLD`, `OIL`).
* `quote` - the margin / quote currency, usually `USDC` (some HIP-3 markets use `USDH`).

<Note>HIP-4 outcome markets use a separate `#<encoding>` scheme (e.g. `#1230`), not the deployer-prefix - see [HIP-4 Markets](/goldrush-hyperliquid/streaming/hip4-markets).</Note>

**Discovering markets:** a dedicated market-list endpoint (the `perpDexs` Info API type) is on the roadmap. Until it ships, call [`metaAndAssetCtxs`](/api-reference/hyperliquid-info/meta-and-asset-ctxs) - the `name` field on each `universe` entry is the canonical pair address.

## Stream OHLCV for a HIP-3 pair

<CodeGroup>
  ```typescript GoldRush SDK theme={null}
  import {
    GoldRushClient,
    StreamingChain,
    StreamingInterval,
    StreamingTimeframe,
  } from "@covalenthq/client-sdk";

  const client = new GoldRushClient(process.env.GOLDRUSH_API_KEY);

  client.StreamingService.subscribeToOHLCVPairs(
    {
      chain_name: StreamingChain.HYPERCORE_MAINNET,
      pair_addresses: ["xyz:GOLD-USDC", "flx:OIL-USDH"],
      interval: StreamingInterval.ONE_MINUTE,
      timeframe: StreamingTimeframe.ONE_HOUR,
    },
    {
      next: (data) => console.log("OHLCV:", data),
      error: (err) => console.error(err),
      complete: () => console.log("done"),
    }
  );
  ```

  ```bash Install theme={null}
  npm install @covalenthq/client-sdk
  ```
</CodeGroup>

## Stream OHLCV for a token (across all markets)

```typescript theme={null}
client.StreamingService.subscribeToOHLCVTokens(
  {
    chain_name: StreamingChain.HYPERCORE_MAINNET,
    token_addresses: ["GOLD", "OIL", "HYPE"],
    interval: StreamingInterval.ONE_MINUTE,
    timeframe: StreamingTimeframe.ONE_HOUR,
  },
  {
    next: (data) => console.log("Token OHLCV:", data),
    error: (err) => console.error(err),
  }
);
```

This aggregates across all DEXes and HIP-3 deployers carrying that token.

## Patterns

### "New markets" discovery tab

When a HIP-3 deployer launches a new market, the OHLCV stream picks it up the moment a candle starts forming. Combine [`ohlcvCandlesForPair`](/api-reference/streaming-api/subscriptions/ohlcv-pairs-stream) with periodic listing logic to surface new markets in a "trending" tab.

### Deployer-scoped leaderboards

Group `HypercoreFillTransaction` events from [`walletTxs`](/api-reference/streaming-api/subscriptions/wallet-activity-stream) by HIP-3 deployer prefix. Compute per-deployer volume, fee revenue, top traders.

### Cross-deployer charting

A single chart widget that "just works" on `xyz:GOLD-USDC`, `BTC-USDC`, or any future HIP-3 market without special-casing the request. Pass the address through unchanged.

## Historical depth and warehouse delivery

Every HIP-3 fill is captured in the same `hl_fills` and `hl_enriched_trades` tables that power canonical perp and spot history. Use the [Pipeline API](/goldrush-pipeline-api/normalizers/hypercore) to land HIP-3 trades directly in ClickHouse, BigQuery, Postgres, Kafka, or S3 - no separate connector required.

### Filter to HIP-3 trades with a SQL transform

The `TradesNormalizer` enriches every matched trade with an `is_hip3` boolean on the [`hl_enriched_trades`](/goldrush-pipeline-api/normalizers/hypercore#hl-enriched-trades) table. Add a [SQL transform](/goldrush-pipeline-api/sql-transforms) to keep only builder-deployed perp rows and project the columns you care about - useful for a deployer-scoped warehouse without ingesting the full canonical perp + spot firehose.

```yaml HIP-3 trades transform theme={null}
transforms:
  hl_enriched_trades: >
    SELECT block_number, block_time, coin, market_name,
           px, sz, side, time, tid, hash,
           buyer_address, seller_address, usd_amount
    FROM hl_enriched_trades
    WHERE is_hip3 = true
```

The `coin` column preserves the full `<deployer>:<symbol>` form (e.g. `nanofunds:USDAI`), so you can split downstream tables per deployer with a `SUBSTRING` or `LIKE` predicate, or partition on `coin` directly in your warehouse.

## Reference

* [OHLCV Pairs Stream](/api-reference/streaming-api/subscriptions/ohlcv-pairs-stream)
* [OHLCV Tokens Stream](/api-reference/streaming-api/subscriptions/ohlcv-tokens-stream)
* [HIP-4 outcome markets](/goldrush-hyperliquid/streaming/hip4-markets) - same address syntax, applied to prediction-market outcomes.
* [HyperCore chain page](/chains/hypercore) - full HIP-3 example addresses and Hyperliquid Explorer references.
* [Live HIP-3 Market Screener](https://hyperliquid.goldrush.dev) - the public app we built on top of these streams.

## On the roadmap

A `perpDexs` Info API type that lists all HIP-3 builder-deployed perp DEXes with metadata.
