Regarding the future of VPX — Read our announcement →
vancouverpx
← Back to Markets

API Documentation

One API for markets, your account and trading, for scripts, AI agents and VPX Bots

GET

List your fills

/api/v1/fills · needs an API key

Every execution of your orders, newest first.

Each time one of your orders traded: what, at what price, how many. Cash moved by price × quantity, out on a BUY and in on a SELL; VPX charges no fees. With your settlements (GET /settlements) and starting balance (funded on GET /account), fills account for every cent in your wallets, except YES+NO pairs you split or redeemed, which leave no record.

Parameters

NameInTypeDescription
marketIdquerystring[]Only these markets (ids or slugs) (comma-separated, at most 100)
orderIdquerystringOnly this order's fills
sincequerystring (date-time)Only fills after this time (ISO 8601, e.g. 2026-10-27T18:00:00Z)
untilquerystring (date-time)Only fills at or before this time (ISO 8601, e.g. 2026-10-27T18:00:00Z)
limitqueryintegerHow many to return (1–1000, default 100) Default 100.
cursorquerystringFrom a previous page's nextCursor

Request

curl "https://www.vancouverpx.ca/api/v1/fills?marketId=3f1c0f2e-6a55-4a8e-9b53-2a1f0c9d7e11" \
  -H "Authorization: Bearer $VPX_API_KEY"

Response

200 with this object:

FieldTypeDescription
fillsFill[]
nextCursorstring | nullPass as cursor to get the next page; null on the last page
Example
{
  "fills": [
    {
      "id": "trade:5d1e9c2a-7b3f-4e8d-a6c1-2f9b8e7d6c5a:buy",
      "kind": "trade",
      "orderId": "9b2e5c1d-0f47-4d1e-8a55-6c2b7e3f9a10",
      "marketId": "3f1c0f2e-6a55-4a8e-9b53-2a1f0c9d7e11",
      "walletId": "clx8w2k3p0001qz8r5t1y7u4v",
      "side": "BUY",
      "outcome": "YES",
      "price": 53,
      "quantity": 4,
      "executedAt": "2026-10-27T17:05:00.000Z",
      "botId": null
    }
  ],
  "nextCursor": null
}

Errors

The errors every endpoint can answer.

List your fills | VPX API Docs