POST
/
{protocol}
/
position
/
statistic
/
filter
curl --request POST \
  --url https://api.copin.io/{protocol}/position/statistic/filter \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: application/json' \
  --data '{
  "pagination": {
    "limit": 123,
    "offset": 123
  },
  "sortBy": "<string>",
  "sortType": "<string>",
  "queries": [
    {
      "fieldName": "<string>",
      "value": "<string>"
    }
  ]
}'
{
  "data": [
    {
      "id": "<string>",
      "account": "<string>",
      "totalTrade": 123,
      "totalWin": 123,
      "totalLose": 123,
      "totalGain": 123,
      "realisedTotalGain": 123,
      "totalLoss": 123,
      "realisedTotalLoss": 123,
      "totalVolume": 123,
      "avgVolume": 123,
      "avgRoi": 123,
      "realisedAvgRoi": 123,
      "maxRoi": 123,
      "realisedMaxRoi": 123,
      "pnl": 123,
      "realisedPnl": 123,
      "maxPnl": 123,
      "realisedMaxPnl": 123,
      "realisedMaxDrawdown": 123,
      "realisedMaxDrawdownPnl": 123,
      "winRate": 123,
      "profitRate": 123,
      "realisedProfitRate": 123,
      "orderPositionRatio": 123,
      "profitLossRatio": 123,
      "realisedProfitLossRatio": 123,
      "longRate": 123,
      "gainLossRatio": 123,
      "realisedGainLossRatio": 123,
      "avgDuration": 123,
      "minDuration": 123,
      "maxDuration": 123,
      "avgLeverage": 123,
      "minLeverage": 123,
      "maxLeverage": 123,
      "totalLiquidation": 123,
      "totalLiquidationAmount": 123,
      "runTimeDays": 123,
      "lastTradeAtTs": 123,
      "totalFee": 123,
      "type": "<string>",
      "statisticAt": "<string>",
      "lastTradeAt": "<string>",
      "indexTokens": [
        {}
      ],
      "protocol": "<string>",
      "createdAt": "<string>",
      "isOpenPosition": true
    }
  ],
  "meta": {
    "limit": 123,
    "offset": 123,
    "total": 123,
    "totalPages": 123
  }
}

Authentication

This endpoint requires authentication using a JWT token in the Authorization header.

Authorization
string
required

JWT token in the format: Authorization {token}

Path Parameters

protocol
string
required

The protocol to get positions for. Supported values include: GMX, KWENTA, POLYNOMIAL, POLYNOMIAL_L2, GMX_V2_AVAX, GMX_V2, GNS, GNS_POLY, GNS_BASE, GNS_APE, LEVEL_BNB, LEVEL_ARB, MUX_ARB, APOLLOX_BNB, AVANTIS_BASE, EQUATION_ARB, LOGX_BLAST, LOGX_MODE, MYX_ARB, DEXTORO, VELA_ARB, HMX_ARB, SYNTHETIX_V3, SYNTHETIX_V3_ARB, KTX_MANTLE, CYBERDEX, YFX_ARB, KILOEX_OPBNB, KILOEX_BNB, KILOEX_MANTA, KILOEX_BASE, ROLLIE_SCROLL, MUMMY_FANTOM, HYPERLIQUID, SYNFUTURE_BASE, MORPHEX_FANTOM, PERENNIAL_ARB, BSX_BASE, DYDX, UNIDEX_ARB, VERTEX_ARB, HORIZON_BNB, HOLDSTATION_ZKSYNC, ZENO_METIS, LINEHUB_LINEA, BMX_BASE, FOXIFY_ARB, APOLLOX_BASE, GMX_AVAX, SYNTHETIX, DEPERP_BASE, ELFI_ARB

Request Body

pagination
object

Pagination parameters

sortBy
string

Field to sort by. Values: avgVolume, roi, realisedRoi, pnl, realisedPnl

sortType
string
default:"desc"

Sort direction. Values: desc, asc

queries
array

Array of query objects

Request Example

curl --request POST \
--url "https://api.copin.io/GNS/position/statistic/filter" \
--header 'Content-Type: application/json' \
--header 'Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IjB4MTUzNTQ4NGMxRWVjMUQyMDNmRTFBNTNFQTExYTYyMWE4ODRBRTA2NyIsInRpbWUiOjE3NDQ2MjYxNjIzODksImFjY2VzcyI6IlVmTkNiTWhMVVMxNzQ0NjI2MTYyMzkwIiwiaWF0IjoxNzQ0NjI2MTYyLCJleHAiOjE3NDUyMzA5NjJ9.LpvhBdxyfehzom-v5tKumAqCptSMkVk7HVKKVtjSpk8' \
--data '{
  "pagination": {
    "limit": 20,
    "offset": 0
  },
  "queries": [
    {
      "fieldName": "type",
      "value": "D15"
    }
  ],
  "sortBy": "pnl",
  "sortType": "desc"
}'

Response

The response includes a data array containing position statistic objects and a meta object with pagination information.

data
array

Array of position statistic objects

meta
object

Metadata about the response

Response Example

{
  "data": [
    {
      "id": "67fdbfa13219b4577b6973cb",
      "account": "0xF13304d2a5A74E8d6f87272503Fbac130B3bb2B0",
      "totalTrade": 1,
      "totalWin": 0,
      "totalLose": 1,
      "totalGain": 0,
      "realisedTotalGain": 0,
      "totalLoss": -8.781451873656628,
      "realisedTotalLoss": -2.4097624076006596,
      "totalVolume": 5079.55940610314,
      "avgVolume": 5079.55940610314,
      "avgRoi": -23.94,
      "realisedAvgRoi": -6.57,
      "maxRoi": -23.94,
      "realisedMaxRoi": -6.57,
      "pnl": -8.781451873656628,
      "realisedPnl": -2.4097624076006596,
      "maxPnl": -8.781451873656628,
      "realisedMaxPnl": -2.4097624076006596,
      "realisedMaxDrawdown": -6.57,
      "realisedMaxDrawdownPnl": -2.4097624076006596,
      "winRate": 0,
      "profitRate": 0,
      "realisedProfitRate": 0,
      "orderPositionRatio": 2,
      "profitLossRatio": 0,
      "realisedProfitLossRatio": 0,
      "longRate": 100,
      "gainLossRatio": 0,
      "realisedGainLossRatio": 0,
      "avgDuration": 20,
      "minDuration": 20,
      "maxDuration": 20,
      "avgLeverage": 138.5,
      "minLeverage": 138.5,
      "maxLeverage": 138.5,
      "totalLiquidation": 0,
      "totalLiquidationAmount": 0,
      "runTimeDays": 1,
      "lastTradeAtTs": 1744602207000,
      "totalFee": 6.371689466055969,
      "type": "D15",
      "statisticAt": "2025-04-15T02:08:33.740Z",
      "lastTradeAt": "2025-04-14T03:43:27.000Z",
      "indexTokens": [
        "GNS-191"
      ],
      "protocol": "GNS",
      "createdAt": "2025-04-15T02:08:33.755Z",
      "isOpenPosition": false
    }
  ],
  "meta": {
    "limit": 20,
    "offset": 0,
    "total": 56,
    "totalPages": 3
  }
}