ACTIVE, WON, and LOST positions; internal lifecycle states never appear here.
When to use
Use this endpoint to render a packs positions list on a public profile view. Pass any wallet address; you do not need to be that user. For your own positions with private fields (wallet, transaction hashes, vig), use the authenticated positions endpoint instead.Response contract
The200 body is a paginated page: data, limit, page, totalPages, and totalRows.
- Each position carries its status, stake, multiplier, claim state (
isClaimed), leg details, and the source pack it was bought from (nullfor custom packs). - The public payload deliberately excludes wallet addresses, token IDs, transaction hashes, and vig fields.
- The API sorts positions by creation time, newest first.
Filtering and pagination
statusnarrows the list to a single status:ACTIVE,WON, orLOST. Any other value returns400 Bad Request. Omit it to return all three.- The API clamps
limitserver-side to the range 1-50. The default is 20. offsetdefaults to 0. The API caps it at 10,000; a larger offset returns400 Bad Request.totalRowsalways reflects the full matching count, whiletotalPagesstops at the last browsable page under the offset cap.
Address handling
Theaccount path parameter accepts a checksummed (EIP-55) or lowercase Ethereum address. A malformed address returns 400 Bad Request. An address with no profile returns 404 Not Found.
Caching
Responses carryCache-Control: public, max-age=5, s-maxage=15, so CDN edges may serve a cached copy for up to 15 seconds. Status and claim state can trail the live database by roughly 30 seconds in the worst case. The authenticated owner endpoint is uncached.