Skip to main content
hypernode uses API keys for all access. One key works across both the WebSocket stream and REST API.

Getting a key

  1. Sign up at polynode.dev to create an account
  2. Your pn_live_ API key is generated automatically
  3. The same key works on both polynode (Polymarket data) and hypernode (HyperLiquid data)
If you already have a polynode account on Growth ($200/mo) or above, your existing key works on hypernode automatically.

Authentication methods

WebSocket

Pass the key as a query parameter:

REST API

Pass the key as an HTTP header:

Exchange API

Same header for trading endpoints:

Tiers

All tiers get access to both the WebSocket stream and REST API. The difference is connection and subscription limits.

What counts as a connection

Each WebSocket connection is one connection. Opening wss://hyper.polynode.dev/ws?key=YOUR_KEY uses one connection slot. REST API requests do not count against your connection limit.

What counts as a subscription

Each subscribe message creates one subscription. Multiple subscriptions on the same connection each count separately.
This is 1 subscription.
This is 2 subscriptions on 1 connection.

Error responses

WebSocket handshake errors

Subscription errors

Delivered as JSON messages after connection:

REST API rate limits

REST endpoints do not have per-key rate limits. However, the underlying data sources (HyperLiquid API via FireProx) have their own limits. If you hit a 429 response on a REST endpoint, back off for a few seconds. The L4 order book endpoints (/v2/l4book, /v2/l4summary) are served from a local cache and have no rate limit.

Key format

All keys follow the format pn_live_ followed by a random string:
Keys are case-sensitive. The SHA-256 hash of the key is used internally for lookup.

Security

  • Keys authenticate your identity but do not grant access to any wallet or funds
  • To trade via the exchange API, you must separately register a wallet using POST /exchange/register
  • Keep your API key private. If compromised, contact support for a new key
  • Never embed keys in client-side JavaScript (use a backend proxy instead)