All Market Holder
curl --request POST \
--url https://api.datadash.xyz/api/v1/market-holders/all \
--header 'Content-Type: application/json' \
--data '
{
"eventId": {
"operator": "in",
"value": [
27185
]
},
"orderBy": [
{
"direction": "desc",
"field": "totalPnl"
}
],
"page": {
"limit": 50,
"offset": 0
}
}
'import requests
url = "https://api.datadash.xyz/api/v1/market-holders/all"
payload = {
"eventId": {
"operator": "in",
"value": [27185]
},
"orderBy": [
{
"direction": "desc",
"field": "totalPnl"
}
],
"page": {
"limit": 50,
"offset": 0
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
eventId: {operator: 'in', value: [27185]},
orderBy: [{direction: 'desc', field: 'totalPnl'}],
page: {limit: 50, offset: 0}
})
};
fetch('https://api.datadash.xyz/api/v1/market-holders/all', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.datadash.xyz/api/v1/market-holders/all",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'eventId' => [
'operator' => 'in',
'value' => [
27185
]
],
'orderBy' => [
[
'direction' => 'desc',
'field' => 'totalPnl'
]
],
'page' => [
'limit' => 50,
'offset' => 0
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.datadash.xyz/api/v1/market-holders/all"
payload := strings.NewReader("{\n \"eventId\": {\n \"operator\": \"in\",\n \"value\": [\n 27185\n ]\n },\n \"orderBy\": [\n {\n \"direction\": \"desc\",\n \"field\": \"totalPnl\"\n }\n ],\n \"page\": {\n \"limit\": 50,\n \"offset\": 0\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.datadash.xyz/api/v1/market-holders/all")
.header("Content-Type", "application/json")
.body("{\n \"eventId\": {\n \"operator\": \"in\",\n \"value\": [\n 27185\n ]\n },\n \"orderBy\": [\n {\n \"direction\": \"desc\",\n \"field\": \"totalPnl\"\n }\n ],\n \"page\": {\n \"limit\": 50,\n \"offset\": 0\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.datadash.xyz/api/v1/market-holders/all")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"eventId\": {\n \"operator\": \"in\",\n \"value\": [\n 27185\n ]\n },\n \"orderBy\": [\n {\n \"direction\": \"desc\",\n \"field\": \"totalPnl\"\n }\n ],\n \"page\": {\n \"limit\": 50,\n \"offset\": 0\n }\n}"
response = http.request(request)
puts response.read_body[
{
"currentValue": 123,
"invested": 123,
"outcomes": 123,
"pnlPercentage": 123,
"tokenMetadata": [
{
"avgBuyingPrice": "<string>",
"invested": "<string>",
"isYesToken": "<string>",
"marketClosed": "<string>",
"marketId": "<string>",
"pnlPercentage": "<string>",
"tokenName": "<string>",
"totalPnl": "<string>",
"total_bought_shares": "<string>",
"unrealizedPnl": "<string>",
"volume": "<string>"
}
],
"totalPnl": 123,
"unrealizedPnl": 123,
"user": {
"bio": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"displayName": "<string>",
"pnl": 123,
"profileImageUrl": "<string>",
"pseudonym": "<string>",
"rank": 123,
"userId": "<string>",
"verifiedBadge": true,
"xUsername": "<string>"
},
"volume": 123
}
]{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}Holders
All Market Holder
User-level holders across all markets, with nested token details.
POST
/
api
/
v1
/
market-holders
/
all
All Market Holder
curl --request POST \
--url https://api.datadash.xyz/api/v1/market-holders/all \
--header 'Content-Type: application/json' \
--data '
{
"eventId": {
"operator": "in",
"value": [
27185
]
},
"orderBy": [
{
"direction": "desc",
"field": "totalPnl"
}
],
"page": {
"limit": 50,
"offset": 0
}
}
'import requests
url = "https://api.datadash.xyz/api/v1/market-holders/all"
payload = {
"eventId": {
"operator": "in",
"value": [27185]
},
"orderBy": [
{
"direction": "desc",
"field": "totalPnl"
}
],
"page": {
"limit": 50,
"offset": 0
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
eventId: {operator: 'in', value: [27185]},
orderBy: [{direction: 'desc', field: 'totalPnl'}],
page: {limit: 50, offset: 0}
})
};
fetch('https://api.datadash.xyz/api/v1/market-holders/all', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.datadash.xyz/api/v1/market-holders/all",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'eventId' => [
'operator' => 'in',
'value' => [
27185
]
],
'orderBy' => [
[
'direction' => 'desc',
'field' => 'totalPnl'
]
],
'page' => [
'limit' => 50,
'offset' => 0
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.datadash.xyz/api/v1/market-holders/all"
payload := strings.NewReader("{\n \"eventId\": {\n \"operator\": \"in\",\n \"value\": [\n 27185\n ]\n },\n \"orderBy\": [\n {\n \"direction\": \"desc\",\n \"field\": \"totalPnl\"\n }\n ],\n \"page\": {\n \"limit\": 50,\n \"offset\": 0\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.datadash.xyz/api/v1/market-holders/all")
.header("Content-Type", "application/json")
.body("{\n \"eventId\": {\n \"operator\": \"in\",\n \"value\": [\n 27185\n ]\n },\n \"orderBy\": [\n {\n \"direction\": \"desc\",\n \"field\": \"totalPnl\"\n }\n ],\n \"page\": {\n \"limit\": 50,\n \"offset\": 0\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.datadash.xyz/api/v1/market-holders/all")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"eventId\": {\n \"operator\": \"in\",\n \"value\": [\n 27185\n ]\n },\n \"orderBy\": [\n {\n \"direction\": \"desc\",\n \"field\": \"totalPnl\"\n }\n ],\n \"page\": {\n \"limit\": 50,\n \"offset\": 0\n }\n}"
response = http.request(request)
puts response.read_body[
{
"currentValue": 123,
"invested": 123,
"outcomes": 123,
"pnlPercentage": 123,
"tokenMetadata": [
{
"avgBuyingPrice": "<string>",
"invested": "<string>",
"isYesToken": "<string>",
"marketClosed": "<string>",
"marketId": "<string>",
"pnlPercentage": "<string>",
"tokenName": "<string>",
"totalPnl": "<string>",
"total_bought_shares": "<string>",
"unrealizedPnl": "<string>",
"volume": "<string>"
}
],
"totalPnl": 123,
"unrealizedPnl": 123,
"user": {
"bio": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"displayName": "<string>",
"pnl": 123,
"profileImageUrl": "<string>",
"pseudonym": "<string>",
"rank": 123,
"userId": "<string>",
"verifiedBadge": true,
"xUsername": "<string>"
},
"volume": 123
}
]{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}Body
application/json
Event ID.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
filter
(Numeric · object | ID · object | Wallet address · object | User Profile Lookup · object | User Tag Profile Lookup · object | Group · object)[]
Filters to apply, combined with AND. Use a group for OR.
Minimum array length:
1A single field condition. in/notIn take an array of values; matches/notMatches take one search term.
- Numeric
- ID
- Wallet address
- User Profile Lookup
- User Tag Profile Lookup
- Group
Show child attributes
Show child attributes
Sort keys in priority order; the first is the primary sort. Defaults to the table's configured ranking when omitted.
Show child attributes
Show child attributes
Response
List of All Market Holder rows
current invested value
Total invested
Number of distinct token outcomes
Total PnL as percentage of invested
Nested token-level position details as JSON
Show child attributes
Show child attributes
Total PNL
Total unrealized PnL
Resolved User row.
Show child attributes
Show child attributes
Total trading volume