HyperCore Info Endpoint
Dwellir's HyperCore Info Endpoint provides comprehensive access to Hyperliquid exchange data through a simple HTTP JSON API. Query market metadata, user account information, vault data, and exchange status with a single POST request.
Why Hyperliquid? Build on the dominant perpetuals DEX with 70% market share, $2.7T+ lifetime volume, and $2B TVL with 200K orders/second throughput, zero gas fees, sub-second finality, and fully onchain Central Limit Order Book (CLOB).
Key Benefits#
Higher Rate Limits#
Unlike public Hyperliquid endpoints, Dwellir's HyperCore Info Endpoint provides significantly higher rate limits based on your subscription plan. This enables you to build production-grade applications without worrying about hitting rate limit restrictions.
Rate limits scale with your plan:
- Free tier: Standard public limits
- Growth tier: 10x higher limits
- Enterprise tier: Custom rate limits tailored to your needs
Single Endpoint Architecture#
All info endpoints are accessible through a single URL with different request types. This simplifies integration and reduces connection overhead.
Base URL: https://api-hyperliquid-mainnet-info.n.dwellir.com/info
Custom REST API Development#
We're actively developing additional REST API endpoints for Hyperliquid. If you need custom endpoints or specialized data access patterns not covered by the standard Info Endpoint, contact our team to discuss your requirements.
Available Endpoint Categories#
Market Metadata#
Access trading pair information, leverage limits, and exchange status.
| Endpoint | Purpose |
|---|---|
| meta | Get trading pair metadata including leverage limits |
| spotMeta | Get spot trading asset metadata |
| exchangeStatus | Monitor exchange health and status |
User Accounts#
Query account states, positions, orders, and fee information.
| Endpoint | Purpose |
|---|---|
| clearinghouseState | Get perpetual trading account state |
| openOrders | Retrieve all open orders for a user |
| spotClearinghouseState | Get spot trading account balances |
| userFees | Get user fee rates and volume data |
Vaults#
Access vault performance data and user positions.
| Endpoint | Purpose |
|---|---|
| leadingVaults | Get top performing vaults |
| vaultSummaries | Get summary data for all vaults |
| userVaultEquities | Get user's vault positions |
Validators#
Query validator and delegation information.
| Endpoint | Purpose |
|---|---|
| validatorL1Votes | Get validator voting data |
| delegatorSummary | Get delegation summary for a user |
Advanced Endpoints#
Specialized endpoints for advanced use cases.
| Endpoint | Purpose |
|---|---|
| userRateLimit | Get rate limit information |
| delegations | Get staking delegation data |
| subAccounts | Get sub-account information |
| frontendOpenOrders | Get orders formatted for UI display |
| liquidatable | Check liquidation status |
| webData2 | Get comprehensive web interface data |
| extraAgents | Get extra agent information |
| userRole | Get user role information |
| maxBuilderFee | Get maximum builder fee |
| maxMarketOrderNtls | Get maximum market order notionals |
Quick Start#
Authentication#
All requests require an API key provided in the X-Api-Key header:
curl -X POST 'https://api-hyperliquid-mainnet-info.n.dwellir.com/info' \
-H 'X-Api-Key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"type":"meta"}'
Request Format#
All endpoints follow the same pattern:
{
"type": "ENDPOINT_TYPE",
"param1": "value1",
"param2": "value2"
}
Example: Get Exchange Metadata#
curl -X POST 'https://api-hyperliquid-mainnet-info.n.dwellir.com/info' \
-H 'X-Api-Key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"type":"meta"}'
Example: Get User Account State#
curl -X POST 'https://api-hyperliquid-mainnet-info.n.dwellir.com/info' \
-H 'X-Api-Key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"type": "clearinghouseState",
"user": "0x63E8c7C149556D5f34F833419A287bb9Ef81487f"
}'
Error Handling#
HTTP Status Codes#
| Code | Description | Solution |
|---|---|---|
200 | Success | Request completed successfully |
400 | Bad Request | Check request format and parameters |
401 | Unauthorized | Verify API key is correct |
422 | Unprocessable Entity | Check parameter values |
429 | Rate Limit | Implement backoff or upgrade plan |
500 | Server Error | Retry with exponential backoff |
Error Response Format#
{
"error": "Error message description",
"code": "ERROR_CODE"
}
Best Practices#
1. Implement Proper Error Handling#
Always include retry logic with exponential backoff:
async function queryEndpoint(payload, maxRetries = 3) {
for (let i = 0; i < maxRetries; i++) {
try {
const response = await fetch(
'https://api-hyperliquid-mainnet-info.n.dwellir.com/info',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Api-Key': 'YOUR_API_KEY'
},
body: JSON.stringify(payload)
}
);
if (!response.ok) throw new Error(`HTTP ${response.status}`);
return await response.json();
} catch (error) {
if (i === maxRetries - 1) throw error;
await new Promise(r => setTimeout(r, Math.pow(2, i) * 1000));
}
}
}
2. Cache Appropriately#
Cache metadata endpoints to reduce API calls:
// Cache meta data for 1 hour
const metaCache = new Map();
const META_TTL = 3600000; // 1 hour in ms
async function getMeta() {
const cached = metaCache.get('meta');
if (cached && Date.now() - cached.timestamp < META_TTL) {
return cached.data;
}
const data = await queryEndpoint({ type: 'meta' });
metaCache.set('meta', { data, timestamp: Date.now() });
return data;
}
3. Monitor Rate Limits#
Check response headers to track rate limit usage:
const response = await fetch(url, options);
const remaining = response.headers.get('X-RateLimit-Remaining');
const reset = response.headers.get('X-RateLimit-Reset');
if (parseInt(remaining) < 10) {
console.warn('Approaching rate limit');
}
4. Use Timeouts#
Set reasonable timeouts for all requests:
const controller = new AbortController();
const timeout = setTimeout(() => controller.abort(), 10000); // 10s timeout
try {
const response = await fetch(url, {
...options,
signal: controller.signal
});
return await response.json();
} finally {
clearTimeout(timeout);
}
Code Examples#
Python#
import requests
from typing import Dict, Any
ENDPOINT = 'https://api-hyperliquid-mainnet-info.n.dwellir.com/info'
API_KEY = 'your-api-key-here'
def query_info_endpoint(endpoint_type: str, params: Dict[str, Any] = None) -> Dict:
"""Query the HyperCore Info Endpoint"""
payload = {"type": endpoint_type}
if params:
payload.update(params)
headers = {
'Content-Type': 'application/json',
'X-Api-Key': API_KEY
}
response = requests.post(ENDPOINT, json=payload, headers=headers, timeout=10)
response.raise_for_status()
return response.json()
# Get metadata
meta = query_info_endpoint('meta')
print(f"Available pairs: {len(meta['universe'])}")
# Get user account state
user_state = query_info_endpoint(
'clearinghouseState',
{'user': '0x63E8c7C149556D5f34F833419A287bb9Ef81487f'}
)
print(f"Account value: {user_state['marginSummary']['accountValue']}")
JavaScript/TypeScript#
const ENDPOINT = 'https://api-hyperliquid-mainnet-info.n.dwellir.com/info';
const API_KEY = 'your-api-key-here';
interface InfoRequest {
type: string;
[key: string]: any;
}
async function queryInfoEndpoint<T>(request: InfoRequest): Promise<T> {
const response = await fetch(ENDPOINT, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Api-Key': API_KEY
},
body: JSON.stringify(request)
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
}
return await response.json();
}
// Get metadata
const meta = await queryInfoEndpoint({ type: 'meta' });
console.log(`Available pairs: ${meta.universe.length}`);
// Get user state
const userState = await queryInfoEndpoint({
type: 'clearinghouseState',
user: '0x63E8c7C149556D5f34F833419A287bb9Ef81487f'
});
console.log(`Account value: ${userState.marginSummary.accountValue}`);
Support#
Need help with the HyperCore Info Endpoint?
- Dashboard: dashboard.dwellir.com
- Email: support@dwellir.com
- Documentation: docs.dwellir.com
For custom endpoint development or enterprise solutions, contact our team.
Access comprehensive Hyperliquid exchange data with Dwellir's enterprise-grade infrastructure. Get your API key →