Skip to main content
GET
/
v2
/
pnl
/
wallets
/
{wallet}
/
positions
List a wallet's positions
curl --request GET \
  --url https://api.dexploit.dev/v2/pnl/wallets/{wallet}/positions \
  --header 'X-API-Key: <api-key>'
{
  "wallet": "<string>",
  "pnl_mode": "<string>",
  "total": 123,
  "limit": 123,
  "offset": 123,
  "positions": [
    {
      "mint": "<string>",
      "balance_atomic": 123,
      "avg_cost_per_token": 123,
      "cost_basis_sol": 123,
      "realized_sol": 123,
      "unrealized_sol": 123,
      "current_value_sol": 123,
      "total_buys_sol": 123,
      "total_sells_sol": 123,
      "total_buy_count": 123,
      "total_sell_count": 123,
      "largest_buy_sol": 123,
      "largest_sell_sol": 123,
      "fastest_flip_seconds": 123,
      "longest_hold_seconds": 123,
      "first_trade_ts": 123,
      "last_trade_ts": 123,
      "is_arbitrageur": true,
      "tags": [
        "<string>"
      ],
      "realized_usd": 123,
      "unrealized_usd": 123,
      "current_value_usd": 123,
      "cost_basis_usd": 123,
      "realized_breakdown": {
        "raw": 123,
        "strict": 123,
        "adjusted": 123
      }
    }
  ]
}

Authorizations

X-API-Key
string
header
required

Preferred for swaps-api endpoints (/swaps/*, /stats/*, /trending, /pool-events).

Path Parameters

wallet
string
required

Wallet address (base58, 32–44 characters).

Query Parameters

status
enum<string>
default:open

Which positions to include.

Available options:
open,
closed,
all
mint
string

Filter to a single mint.

min_value_sol
number

Minimum read-time current_value_sol (applied post-pricing).

sort
enum<string>
default:value

Sort key.

Available options:
value,
realized,
unrealized
limit
integer
default:50

Page size.

Required range: 1 <= x <= 200
offset
integer
default:0

Page offset.

Required range: x >= 0
pnl_mode
enum<string>
default:adjusted

PnL accounting mode. strict (FIFO) and adjusted (weighted-avg cost) are realized-PnL figures; raw is net cash-flow (Σ sells − Σ buys), not realized PnL. Unknown values fall back to adjusted.

Available options:
raw,
strict,
adjusted
breakdown
enum<integer>
default:0

When 1, forces realized_breakdown onto every row.

Available options:
0,
1

Response

Positions page

wallet
string
pnl_mode
string
total
integer

True total under LIMIT (count() OVER ()).

limit
integer
offset
integer
positions
object[]