/info contract verbatim, most existing Hyperliquid SDKs work against Uniblock unchanged — you only override the base URL and inject your API key header. The request bodies the SDK builds and the responses it parses stay identical.
Grab your API key from the
Uniblock dashboard.
What to override
If your SDK exposes a configurable base URL and a way to attach default headers, that’s all you need.
Python (hyperliquid-python-sdk)
The official SDK takes a base_url and lets you pass a custom session. Point the base URL at Uniblock and attach your key as a default header:
The SDK appends
/info to the base URL. Set the base to the
.../uni/v1/hyperliquid prefix so the final URL resolves to
.../uni/v1/hyperliquid/info. If your SDK version doesn’t send the chainId
query parameter, Uniblock defaults to 999 (mainnet).Raw / custom clients
If you built a thin client yourself, override the endpoint and header once and leave every call site unchanged:Notes & limits
- Synthetic types are Uniblock-only.
portfolioState,batchClearinghouseStates, andbatchPortfolioStatesaren’t part of the public contract, so SDKs won’t have typed helpers for them — send them as raw bodies. See the Info API overview. - WebSocket transports differ. SDKs that open a WebSocket to Hyperliquid’s public endpoint won’t reach Uniblock’s stream automatically — set
skip_ws=True(or the equivalent) and use Uniblock’s WebSockets for streaming. - Signing is unaffected. Uniblock only changes transport and auth; any exchange/signing flow the SDK performs is untouched.