DH
4 min read·Updated 2026-06-14

PnL attribution

Realized PnL grouped by asset and side over a configurable period.

GET/networks/{network}/wallets/{address}/pnl/attribution

Realized PnL grouped by asset and side from stored fill events. period accepts a day suffix such as 30d (default) or up to 365d. Items are sorted by absolute realized PnL descending so the biggest contributors appear first.

Path Params
networkstringrequired

Network identifier. Only hyperliquid is supported.

Example: hyperliquid

addressstringrequired

Wallet address — 0x followed by 40 lowercase hex characters.

Example: 0x1111111111111111111111111111111111111111

Query Params
periodstring

Look-back window. Accepts Nd where N is 1–365. Defaults to 30d.

Example: 30d

Responses

200OK

Realized PnL broken down by asset and side.

Schema
networkstring

Network identifier.

walletAddressstring

Wallet address.

periodDaysinteger

Resolved look-back window in days.

totalRealizedPnlUsdstring

Total realized PnL over the period.

itemsobject[]

Per-asset, per-side realized PnL, biggest first.

assetstring

Asset symbol.

sidestring

Position side — long or short.

realizedPnlUsdstring

Realized PnL for this asset/side.

tradeCountinteger

Number of trades contributing.

400Bad Request
401Unauthorized
404Not Found
500Server Error
Request
curl -sS "https://api.dexhunt.app/v1/networks/hyperliquid/wallets/0x1111111111111111111111111111111111111111/pnl/attribution?period=30d" \
  -H "X-API-Key: hlsk_your_developer_key"
Response
200 · OK
{
  "network": "hyperliquid",
  "walletAddress": "0x1111111111111111111111111111111111111111",
  "periodDays": 30,
  "totalRealizedPnlUsd": "820000.12",
  "items": [
    { "asset": "BTC", "side": "long", "realizedPnlUsd": "640000.00", "tradeCount": 18 },
    { "asset": "ETH", "side": "long", "realizedPnlUsd": "180000.12", "tradeCount": 32 }
  ]
}