Get Markets by ID
GET /api/v1/markets
Public
Query parameters:
| Query | Type | Required | Description |
|---|---|---|---|
ids | string | No | Comma-separated market UUIDs. If omitted, returns an empty array. |
Market[].
Get Market
GET /api/v1/markets/{id_or_slug}
Public
Path parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
id_or_slug | UUID string or string | Yes | Market UUID or slug. |
Market.
Get Top Holders
GET /api/v1/markets/{id_or_slug}/holders
Public with optional user authentication
Returns the largest holders of both outcome tokens. Full wallet addresses are never returned.
Path parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
id_or_slug | UUID string or string | Yes | Market UUID or slug. |
| Query | Type | Required | Description |
|---|---|---|---|
limit | integer | No | Maximum holders returned per outcome. Default 12, range 1 to 100. |
MarketHolders.
| Field | Type | Required | Description |
|---|---|---|---|
marketId | UUID string | Yes | Market UUID. |
outcome1 | MarketHoldersOutcome | Yes | Holders of the first outcome token. |
outcome2 | MarketHoldersOutcome | Yes | Holders of the second outcome token. |
MarketHoldersOutcome:
| Field | Type | Required | Description |
|---|---|---|---|
label | string | Yes | Outcome label from the market. |
tokenId | string or null | Yes | Outcome token ID; null before the market is initialized. |
holders | MarketHolder[] | Yes | Holders ranked by shares descending. |
MarketHolder:
| Field | Type | Required | Description |
|---|---|---|---|
userId | UUID string | Yes | Hit user ID. |
name | string or null | Yes | Public display name. When anonymous=true, this is the fixed Anonymous label. |
anonymous | boolean | No | true when the holder has enabled anonymous mode. Omitted otherwise. |
avatarUrl | string or null | Yes | Public avatar URL. |
walletShort | string or null | Yes | Shortened wallet fallback when name is null; always null when anonymous=true. |
shares | number | Yes | Outcome tokens held in display units. |
rank | integer | Yes | One-based rank within this outcome. |
Get Market Volume
GET /api/v1/markets/{marketId}/volume
Public
Path parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
marketId | UUID string | Yes | Market UUID. |
MarketVolume.
| Field | Type | Required | Description |
|---|---|---|---|
marketId | UUID string | Yes | Market UUID. |
eventId | UUID string | Yes | Parent event UUID. |
tradeVolumeUsd | string | Yes | All-time trade volume in USD. |
tradeVolumeUsd24h | string | No | 24-hour trade volume in USD. |
Get Public Market Activity
GET /api/v1/markets/activity
Public
Query parameters:
| Query | Type | Required | Description |
|---|---|---|---|
type | enum string | No | BUY or SELL. |
name | string | No | Case-insensitive partial name filter. |
page | integer | No | Page number. Default 1. |
limit | integer | No | Results per page. Default 5. |
total | boolean | No | Include a bounded total count. Default false. |
sortBy | string | No | Sort field. Default usersactivityview.timestamp. |
order | enum string | No | ASC or DESC. Default DESC. |
cursor | string | No | Opaque cursor from the previous response for keyset pagination. |
cursor, the response type is Pagination<Activity> and offset pagination is limited to the first 1,000 results. With cursor, the response is { data, hasMore, nextCursor }; use it for deeper pagination.
Get Public Activity for a Market
GET /api/v1/markets/activity/{marketId}
Public
Path parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
marketId | UUID string | Yes | Market UUID. |
| Query | Type | Required | Description |
|---|---|---|---|
proxyAddress | address string | No | Proxy wallet address filter. |
type | enum string | No | SPLIT, MERGE or REDEEM. |
page | integer | No | Page number. Default 1. |
limit | integer | No | Results per page. Default 10. |
total | boolean | No | Include total count. Default true. |
sortBy | string | No | Sort field. Default usersactivityview.timestamp. |
order | enum string | No | ASC or DESC. Default DESC. |
Pagination<Activity>.
Market
| Field | Type | Required | Description |
|---|---|---|---|
id | UUID string | Yes | Market UUID. |
name | string | Yes | Market name. |
slug | string | Yes | Market URL slug. |
createdAt | string (date-time) | Yes | Creation timestamp. |
updatedAt | string (date-time) | Yes | Last update timestamp. |
startDate | string (date-time) or null | No | Market start timestamp. |
endDate | string (date-time) or null | No | Market end timestamp. |
description | string or null | No | Market description. |
chance | number | Yes | Current market chance. |
status | enum string | Yes | DRAFT, ACTIVE or RESOLVED. |
icon | string | Yes | Market icon URL. |
tokenId1 | string | Yes | Outcome 1 token ID. |
tokenId2 | string | Yes | Outcome 2 token ID. |
ancillaryData | string | Yes | UMA ancillary data. |
isInitialized | boolean | Yes | Whether the market has been initialized. |
conditionId | string | Yes | Conditional Tokens condition ID. |
questionId | string | Yes | UMA question ID. |
outcome1 | string | Yes | Outcome 1 label. |
outcome2 | string | Yes | Outcome 2 label. |
orderFeeRateBps | integer | Yes | Active order fee rate in basis points. |
passiveOrderFeeRateBps | integer | Yes | Passive order fee rate in basis points. |
tickSize | string | Yes | Minimum price increment. |
speedBumpDelayMs | integer | Yes | Taker-order matching delay in milliseconds. |
firstPriceDataAt | string (date-time) or null | No | First price-history timestamp. |
hasProposedPrice | boolean | Yes | Whether a UMA price has been proposed. |
isDisputed | boolean | Yes | Whether the proposed price is disputed. |
isSettled | boolean | Yes | Whether the UMA request is settled. |
resolvedOnAdapterTimestamp | integer | Yes | Adapter resolution timestamp. |
isResolved | boolean | Yes | Whether the market is resolved. |
isRegistered | boolean | Yes | Whether the market is registered on chain. |
isPaused | boolean | Yes | Whether the market is paused. |
hidden | boolean | Yes | Whether the market is hidden from the public event page. |
marketResolvedTo | string | Yes | Raw resolved outcome value. |
marketId | string | Yes | On-chain market ID. |
negRisk | boolean | Yes | Whether the market uses negative-risk resolution. |
questionFlaggedTimestamp | integer | Yes | Question-flagged timestamp. |
transactionHash | string | Yes | Creation or registration transaction hash. |
eventId | UUID string | Yes | Parent event UUID. |
questionIndex | integer or null | No | Question index for multi-market events. |
tradeVolumeUsd | string | No | All-time trade volume in USD. |
tradeVolumeUsd24h | string | No | 24-hour trade volume in USD. |
proposedAt | string (date-time) or null | No | Current proposal timestamp. |
proposedPrice | string or null | No | Current UMA proposed value. |
displayTimezone | string or null | Yes | IANA timezone used to render this market’s times. Markets without a configured timezone return null and should be displayed in UTC. |
Activity
| Field | Type | Required | Description |
|---|---|---|---|
id | UUID string | Yes | Activity row UUID. |
name | string | Yes | Market or event name. |
slug | string | Yes | Event slug. |
description | string | Yes | Event description. |
createdAt | string (date-time) | Yes | Event creation timestamp. |
createdBy | UUID string | Yes | Event creator user ID. |
updatedAt | string (date-time) | Yes | Event update timestamp. |
startDate | string (date-time) | Yes | Event start timestamp. |
endDate | string (date-time) | Yes | Event end timestamp. |
protected | boolean | Yes | Whether the event is protected. |
icon | string | Yes | Icon URL. |
tokenId1 | string | Yes | Outcome 1 token ID. |
tokenId2 | string | Yes | Outcome 2 token ID. |
conditionId | string | Yes | Conditional Tokens condition ID. |
proxy_address | address string | Yes | User proxy wallet address. |
outcome1 | string | Yes | Outcome 1 label. |
outcome2 | string | Yes | Outcome 2 label. |
type | enum string | Yes | BUY, SELL, SPLIT, MERGE or REDEEM. |
timestamp | integer | Yes | Activity timestamp in seconds. |
hash | string | Yes | Transaction hash. |
amount | number | Yes | Activity amount. |
parent_collection_id | string | Yes | Conditional Tokens parent collection ID. |
partition | integer[] | Yes | Conditional Tokens partition. |
isResolved | boolean | Yes | Whether the market is resolved. |
price | string | Yes | Activity price. |
fee | number | Yes | Fee amount. |