Perps - Token Open Positions
curl --request GET \
--url https://public-api.birdeye.so/perps/v1/token/open_positions \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/perps/v1/token/open_positions"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://public-api.birdeye.so/perps/v1/token/open_positions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": [
{
"wallet": "0x4c7ef4ce9317016a6bdf28fe6d4873d188d6fa7f",
"wallet_first_trade": 1758884208,
"token": "BTC",
"leverage_type": "isolated",
"leverage_value": 1,
"max_leverage": 40,
"entry_price": 80746,
"mark_price": 80748,
"margin_used": 29.863114,
"position_value": 29.87602,
"size": -0.00037,
"unrealized_pnl": 0,
"cum_funding_since_open": 0,
"cum_funding_since_change": 0,
"open_time": 1778830957
}
]
}{
"success": false,
"message": "Bad request"
}{
"success": false,
"message": "Unauthorized"
}{
"success": false,
"message": "Access Denied"
}{
"success": false,
"message": "Too many requests"
}{
"success": false,
"message": "Internal Server Error"
}Perps Token
Perps Token Open Positions
GET
/
perps
/
v1
/
token
/
open_positions
Perps - Token Open Positions
curl --request GET \
--url https://public-api.birdeye.so/perps/v1/token/open_positions \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/perps/v1/token/open_positions"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://public-api.birdeye.so/perps/v1/token/open_positions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": [
{
"wallet": "0x4c7ef4ce9317016a6bdf28fe6d4873d188d6fa7f",
"wallet_first_trade": 1758884208,
"token": "BTC",
"leverage_type": "isolated",
"leverage_value": 1,
"max_leverage": 40,
"entry_price": 80746,
"mark_price": 80748,
"margin_used": 29.863114,
"position_value": 29.87602,
"size": -0.00037,
"unrealized_pnl": 0,
"cum_funding_since_open": 0,
"cum_funding_since_change": 0,
"open_time": 1778830957
}
]
}{
"success": false,
"message": "Bad request"
}{
"success": false,
"message": "Unauthorized"
}{
"success": false,
"message": "Access Denied"
}{
"success": false,
"message": "Too many requests"
}{
"success": false,
"message": "Internal Server Error"
}- Usage Note
- Accessibility
- Chain Supported
- Returns the open perpetual positions currently held in one Hyperliquid token market.
- Position rows are participant-level inventory, not executed trade history.
- Use this endpoint when you need wallet exposure, leverage, margin, size, entry price, mark price, or unrealized PnL per position.
- Large active markets can produce heavier result sets than overview endpoints.
- Lite
- Starter
- Premium
- Business
- Enterprise
Hyperliquid
Compute Unit ⚙️
Compute Unit ⚙️
- This endpoint consumes
10 CUper request.
Use Cases 💡
Use Cases 💡
- Inspect who is carrying long and short exposure in a perp market right now.
- Build exposure ladders, leverage monitors, and wallet-level risk dashboards.
- Analyze how concentrated open interest is across market participants.
- Investigate crowded positioning before volatility events or liquidation cascades.
How to Use 🛠️
How to Use 🛠️
- Query one Hyperliquid perp token market.
- Read each returned row as a current open position with wallet, sizing, pricing, leverage, margin, and PnL context.
- Combine with
Perps Token Overviewfor market summary andPerps Wallet Open Positionsfor wallet-centric follow-up.
Best Practices ✅
Best Practices ✅
- Use this endpoint only when you genuinely need position granularity; overview is cheaper for top-line monitoring.
- Compare position concentration with liquidation-map data to identify crowded risk zones.
- Keep position snapshots timestamped in your system if you plan to diff changes over time.
Authorizations
API key for authentication
Headers
Specify the perpetuals exchange. Currently supports hyperliquid.
Available options:
hyperliquid Query Parameters
The symbol of a coin/token (e.g: BTC, SOL, ETH).
Available options:
position_value, open_time Specify the sort order.
Available options:
desc, asc Specify the offset for pagination. Filter for records with offset greater than the specified offset value, including those with offset equal to the specified offset.
Number of items per page.
Required range:
1 <= x <= 50Was this page helpful?

