Skip to main content
GET
Get public pack positions by account
Returns a user’s pack (parlay) positions by Ethereum address, newest first. Public, no authentication required. The response includes only 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

The 200 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 (null for 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

  • status narrows the list to a single status: ACTIVE, WON, or LOST. Any other value returns 400 Bad Request. Omit it to return all three.
  • The API clamps limit server-side to the range 1-50. The default is 20.
  • offset defaults to 0. The API caps it at 10,000; a larger offset returns 400 Bad Request.
  • totalRows always reflects the full matching count, while totalPages stops at the last browsable page under the offset cap.

Address handling

The account 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 carry Cache-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.

Path Parameters

account
string
required

User Ethereum address

Example:

"0x742d35Cc6634C0532925a3b844Bc454e4438f44e"

Query Parameters

limit
number
default:20

Page size. Clamped server-side to the range 1-50.

Required range: 1 <= x <= 50
offset
number
default:0

Number of positions to skip. Offsets above 10000 return 400.

Required range: 0 <= x <= 10000
status
enum<string>

Filter to a single status. Omit to return all public statuses.

Available options:
ACTIVE,
WON,
LOST

Response

Paginated public pack positions, newest first

data
object[]
required
limit
number
required

Effective page size (capped server-side)

page
number
required

1-based page index derived from offset/limit

totalPages
number
required

Capped at the last browsable page (offset 10000)

totalRows
number
required

Full matching count, not capped