moondev.com APImoondev.com ↗
Access MoonDev's live crypto data: Hyperliquid positions near liquidation, fees leaderboard, PnL by address, Polymarket sweeps, and expiring markets via 12 endpoints.
curl -X GET 'https://api.parse.bot/scraper/fc823bb7-01ea-4b22-b26c-dc8faacf37fc/positions_feed' \ -H 'X-API-Key: $PARSE_API_KEY'
Public aggregated positions feed (top longs/shorts by proximity to liquidation) served from MoonDev's api subdomain. Returns the top 50 longs and 50 shorts with position details including entry price, liquidation price, leverage, and PnL.
| Param | Type | Description |
|---|---|---|
| api_key | string | API key for the MoonDev positions feed. The public default key is used by MoonDev's own UI. |
{
"type": "object",
"fields": {
"data": "object containing updated_at timestamp, total_positions count, longs array, shorts array, ws_connected flag, and price metadata",
"input": "object containing the api_key used"
},
"sample": {
"data": {
"data": {
"longs": [
{
"pnl": -2372.85,
"coin": "xyz:SP500",
"size": 49.515,
"value": 357201.21,
"address": "0x1fd1dda171efcd3aabe127bc5710087cbfe4bfc4",
"leverage": 50,
"liq_price": 7189.2617,
"entry_price": 7261.921,
"distance_pct": 0.34,
"current_price": 7214
}
],
"shorts": [
{
"pnl": -14643.28,
"coin": "BTC",
"size": -3.75275,
"value": 293359.97,
"address": "0x31c3d9df1de7753d0f35c9119a8a308a8cc6747a",
"leverage": 40,
"liq_price": 78750.6138,
"entry_price": 74269.9,
"distance_pct": 0.73,
"current_price": 78183.5
}
],
"updated_at": "2026-05-03T03:52:36.212836+00:00",
"total_longs": 50,
"price_source": "websocket",
"total_shorts": 50,
"ws_connected": true,
"total_positions": 6094,
"price_age_seconds": 0.26,
"min_position_value": 75000
},
"input": {
"api_key": "REDACTED_KEY"
}
},
"status": "success"
}
}About the moondev.com API
The MoonDev API exposes 12 endpoints covering live Hyperliquid market data and Polymarket intelligence, including the positions_feed endpoint that returns the top 50 longs and 50 shorts sorted by proximity to liquidation with entry price, liquidation price, leverage, and PnL per position. Additional endpoints cover per-address PnL share stats, a fees leaderboard of the top 25 addresses by fees paid, recent Polymarket sweep trades, and markets expiring soon.
Positions and PnL
The positions_feed endpoint returns an aggregated snapshot of the top 50 long and 50 short positions on Hyperliquid, each with entry_price, liquidation_price, leverage, and pnl. An updated_at timestamp and ws_connected flag indicate feed freshness. To scope results to a single wallet, positions_by_address accepts an EVM address parameter and filters the same feed to matching longs and shorts, also returning price_age_seconds for staleness awareness.
For account-level performance, hl_share_create generates or retrieves a share code for any EVM address, and hl_share_view uses that code to return current_value, total_pnl, volume, and a chart_data series for periods including day, week, month, and allTime (plus perp-specific variants). The convenience endpoint pnl_for_address combines both steps into one call, returning the share creation result alongside full PnL statistics under the pnl key.
Leaderboards and Polymarket
fees_leaderboard returns the top 25 Hyperliquid addresses by total fees paid, including volume and savings fields per entry. On the prediction-market side, polymarket_sweeps surfaces recent large sweep trades with market details, USD amounts, outcomes, and trader info. A limit parameter (set to 0 for all results) controls response size. polymarket_expiring lists markets sorted by time remaining, exposing slug, title, end_time, sweep_volumes, and hours_until_expiry.
Stream Metadata and Aggregation
stream_config returns live-stream scheduling metadata including stream_date, stream_time_start, stream_time_end, headline, and sub_headline. clips_check is a polling endpoint that returns has_new_clip, a clip object or null, and total_clips. data_status reports status, last_updated, and file_size for the liquidations and OI premium datasets without transferring file contents. The all_datastreams endpoint aggregates fees leaderboard, positions feed, Polymarket sweeps, expiring markets, stream config, clips check, and data status into a single response; supplying an optional address parameter also injects address-filtered positions and PnL data. Any stream that fails is reported under the errors key rather than failing the entire call.
- Monitor positions closest to liquidation on Hyperliquid using
positions_feedlongs/shorts arrays with liquidation price fields. - Track a specific wallet's Hyperliquid PnL over time by supplying an EVM address to
pnl_for_addressand readingtotal_pnlandchart_data. - Build a fees analytics dashboard using the
fees_leaderboardtop-25 entries with volume and savings per address. - Alert on large Polymarket bets by polling
polymarket_sweepsfor high-USD-amount entries and their associated outcomes. - Surface prediction markets about to close by consuming
polymarket_expiringsorted byhours_until_expiry. - Reduce API calls by using
all_datastreamswith an address parameter to retrieve positions, PnL, leaderboard, and Polymarket data in one response. - Check premium dataset freshness before downloading by reading
data_statusfor the liquidations and OIlast_updatedandfile_sizefields.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does MoonDev provide an official developer API?+
What does `positions_feed` actually return, and how many positions does it cover?+
entry_price, liquidation_price, leverage, pnl, and position metadata. The response also carries an updated_at timestamp, total_positions count, and a ws_connected flag indicating feed connection status.Can I retrieve historical PnL data beyond the available time periods?+
hl_share_view and pnl_for_address endpoints offer fixed periods: day, week, month, allTime, and their perp-specific equivalents (perpDay, perpWeek, perpMonth, perpAllTime). Arbitrary date-range queries are not currently supported. You can fork this API on Parse and revise it to add a custom date-range endpoint if MoonDev exposes that capability.Does the API cover individual Polymarket order-book depth or just sweep trades and expiring markets?+
polymarket_sweeps (with USD amounts, outcomes, and trader info) and soon-to-expire markets via polymarket_expiring (with slug, title, end time, and sweep volumes). Order-book depth, full market catalogs, and resolution history are not included. You can fork it on Parse and revise to add those endpoints.What is the freshness of the positions feed, and is there a staleness indicator?+
positions_feed response includes an updated_at timestamp and a ws_connected boolean. The positions_by_address endpoint additionally returns a price_age_seconds field. These fields let you detect stale snapshots at call time, but the API does not offer push-based updates or webhooks — polling is required.