Skip to main content
GET
/
markets
/
positions
/
expiring
Positions Expiring
curl --request GET \
  --url https://pm-t1.bxingupdate.com/bvapi/markets/positions/expiring \
  --header 'Authorization: Bearer <token>'
{
  "positions": [
    {
      "id": "12345",
      "venue": "polymarket",
      "marketId": "<string>",
      "title": "<string>",
      "side": "Yes",
      "shares": 50,
      "avgPrice": 0.62,
      "currentPrice": 0.75,
      "pnl": 6.5,
      "resolutionTimestamp": "1720000000000",
      "hoursUntilResolution": 18.5
    }
  ],
  "total": 12,
  "hours": 24,
  "venue": "all"
}
Get positions in markets that are active within a time window.

Overview

Returns positions from both Polymarket and Kalshi that have been active within the specified hours window. Useful for:
  • Pre-resolution position review — see which positions may need attention soon
  • Exit planning before market closes
  • Avoiding surprise resolutions

Parameters

ParamTypeDefaultDescription
hoursinteger24Time window in hours (1–168, i.e. up to 1 week)
venuestringallall, polymarket, or kalshi
limitinteger50Max results (1–200)
offsetinteger0Pagination offset
Cross-venue by default. The venue parameter defaults to all, returning merged positions from both Polymarket and Kalshi sorted by soonest activity. Each position is tagged with a venue field.

Example

curl -X GET "https://pm-t1.bxingupdate.com/bvapi/markets/positions/expiring?hours=24&venue=all&limit=50" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response Example

{
  "code": 200,
  "message": "success",
  "data": {
    "positions": [
      {
        "id": "12345",
        "venue": "polymarket",
        "title": "Will BTC exceed $100k by June?",
        "side": "Yes",
        "shares": 50,
        "avgPrice": 0.62,
        "currentPrice": 0.75,
        "pnl": 6.5,
        "resolutionTimestamp": "1720000000000",
        "hoursUntilResolution": 18.5
      },
      {
        "id": "67890",
        "venue": "kalshi",
        "marketId": "KXBTC-100K-JUN",
        "title": "KXBTC-100K-JUN",
        "side": "yes",
        "shares": 10,
        "avgPrice": 0.55,
        "currentPrice": 0.70,
        "pnl": 1.5,
        "resolutionTimestamp": "1720050000000",
        "hoursUntilResolution": 22.3
      }
    ],
    "total": 2,
    "hours": 24,
    "venue": "all"
  }
}

Authorizations

Authorization
string
header
default:YOUR_API_KEY
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

hours
integer
default:24

Hours until resolution (1-168). Returns positions active within this window.

Required range: 1 <= x <= 168
venue
enum<string>
default:all

Venue filter: all, polymarket, or kalshi.

Available options:
all,
polymarket,
kalshi
limit
integer
default:50

Max results to return.

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

Pagination offset.

Required range: x >= 0

Response

200 - application/json

Successful Response

positions
object[]

Positions expiring within the requested window

total
integer

Total count before pagination

Example:

12

hours
integer

Requested hours window

Example:

24

venue
string

Applied venue filter

Example:

"all"