Holder Lines
curl --request GET \
--url https://codex-api.nomos.trade/v1/markets/{conditionId}/holder-lines \
--header 'Authorization: Bearer <token>'import requests
url = "https://codex-api.nomos.trade/v1/markets/{conditionId}/holder-lines"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://codex-api.nomos.trade/v1/markets/{conditionId}/holder-lines', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"conditionId": "0x8db33416a2d1ebde7438c80129e898f89a5deb3852ca64b37c4bf46513204409",
"block": 94812402,
"resolved": false,
"top": 3,
"outcomes": [
{
"outcomeIndex": 0,
"tokenId": "85254962656314962064648492774584063365849461315753521676016468731069088672",
"mark": null,
"holders": {
"wallets": 3,
"shares": 96260.5,
"avgEntry": 0.2244,
"avgBuy": 0.2231,
"avgSell": 0.335,
"sellers": 1,
"members": [
{
"wallet": "0x56687bf447db6ffa42ffe2204a05edaa20f55839",
"shares": 41250.5,
"avgEntry": 0.23,
"avgBuy": 0.2291,
"avgSell": 0.335,
"realizedPnl": 1204.18
}
]
},
"traders": {
"wallets": 3,
"shares": 51250.5,
"avgEntry": 0.2402,
"avgBuy": 0.2388,
"avgSell": 0.3122,
"sellers": 2,
"members": []
}
}
]
}{
"error": "unknown or revoked API key"
}{
"error": "market not indexed"
}{
"error": "rate limit: 600 requests a minute; retry in 1 s"
}Markets
Holder Lines
For each outcome, two groups to draw on a price chart: the top holders among wallets that bought on the book (split-only market makers left out) and the top traders, each with their share-weighted average entry, buy and sell.
GET
/
v1
/
markets
/
{conditionId}
/
holder-lines
Holder Lines
curl --request GET \
--url https://codex-api.nomos.trade/v1/markets/{conditionId}/holder-lines \
--header 'Authorization: Bearer <token>'import requests
url = "https://codex-api.nomos.trade/v1/markets/{conditionId}/holder-lines"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://codex-api.nomos.trade/v1/markets/{conditionId}/holder-lines', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"conditionId": "0x8db33416a2d1ebde7438c80129e898f89a5deb3852ca64b37c4bf46513204409",
"block": 94812402,
"resolved": false,
"top": 3,
"outcomes": [
{
"outcomeIndex": 0,
"tokenId": "85254962656314962064648492774584063365849461315753521676016468731069088672",
"mark": null,
"holders": {
"wallets": 3,
"shares": 96260.5,
"avgEntry": 0.2244,
"avgBuy": 0.2231,
"avgSell": 0.335,
"sellers": 1,
"members": [
{
"wallet": "0x56687bf447db6ffa42ffe2204a05edaa20f55839",
"shares": 41250.5,
"avgEntry": 0.23,
"avgBuy": 0.2291,
"avgSell": 0.335,
"realizedPnl": 1204.18
}
]
},
"traders": {
"wallets": 3,
"shares": 51250.5,
"avgEntry": 0.2402,
"avgBuy": 0.2388,
"avgSell": 0.3122,
"sellers": 2,
"members": []
}
}
]
}{
"error": "unknown or revoked API key"
}{
"error": "market not indexed"
}{
"error": "rate limit: 600 requests a minute; retry in 1 s"
}Authorizations
Your API key: codex_ and 48 hex characters.
Path Parameters
The market: 0x and 64 hex.
Pattern:
^0x[0-9a-fA-F]{64}$Query Parameters
Wallets per group, 1 to 50.
Required range:
1 <= x <= 50Live prices by token, to value open positions: <tokenId>:<price>,…. Left out, open positions rank by realized PnL only. Ignored once resolved.