Skip to content

feat(exchange): add Hyperliquid spot markets#445

Open
Shunab wants to merge 1 commit into
Tucsky:masterfrom
Shunab:feat/hyperliquid-spot
Open

feat(exchange): add Hyperliquid spot markets#445
Shunab wants to merge 1 commit into
Tucsky:masterfrom
Shunab:feat/hyperliquid-spot

Conversation

@Shunab

@Shunab Shunab commented Jun 6, 2026

Copy link
Copy Markdown

Summary

Adds Hyperliquid spot market support alongside the existing perp support.

  • Fetches both meta and spotMeta from Hyperliquid
  • Keeps Hyperliquid’s real market ids for wiring/subscriptions, e.g. @109
  • Adds display/search labels so spot markets can be found by readable pairs like WOW/USDC
  • Updates market display surfaces to show readable spot pair names where available
  • Adds WebSocket keepalive for Hyperliquid

Notes

Non-canonical Hyperliquid spot markets still use their exchange ids internally, e.g. HYPERLIQUID:@109, so subscriptions and trade routing continue to match Hyperliquid’s WebSocket payloads.

A matching aggr-server update will be added separately for historical support.

Load spotMeta alongside perp meta, resolve @index symbols to readable
pair labels for search and UI, and keep wire ids for subscriptions.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Hyperliquid spot market support alongside existing perp support, including readable spot pair labels (e.g. WOW/USDC) while preserving Hyperliquid’s real market ids (e.g. @109) for subscriptions/trade routing, plus a WS keepalive.

Changes:

  • Fetches Hyperliquid meta + spotMeta, merges them into a single product list, and exports a spot id → readable pair label map.
  • Extends product parsing/indexing/search/display to support displayPair (used for Hyperliquid spot readability).
  • Adds Hyperliquid WebSocket keepalive hooks and updates multiple UI surfaces to prefer displayPair.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/worker/exchanges/hyperliquid.ts Adds spotMeta fetching/formatting, spot label generation, delisted filtering, and WS keepalive.
src/store/app.ts Extends Product with optional displayPair.
src/services/productsService.ts Stores Hyperliquid spot labels, sets displayPair, updates search/display helpers, and classifies Hyperliquid spot vs perp.
src/components/trades/TradesSettings.vue Displays readable pair names in trade settings when available.
src/components/trades/tradesFeed.ts Uses a shared display-pair helper for trade pair rendering.
src/components/settings/Exchange.vue Displays displayPair in exchange market lists.
src/components/SearchDialog.vue Uses displayPair in results and expands matching logic to include it.
src/components/chart/MarketsOverlay.vue Formats market ids for display using readable spot pair labels where available.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 79 to 83
return {
products
products,
spotPairLabels: this.spotPairLabels
}
}
!Array.isArray(data) &&
data.spotPairLabels
) {
Object.assign(hyperliquidSpotPairLabels, data.spotPairLabels)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants