Closed Market Holder
curl --request POST \
--url https://api.datadash.xyz/api/v1/market-holders/closed \
--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/closed"
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/closed', 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/closed",
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/closed"
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/closed")
.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/closed")
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[
{
"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>",
"volume": "<string>"
}
],
"totalPnl": 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
Closed Market Holder
User-level holders of closed (exited) market positions.
POST
/
api
/
v1
/
market-holders
/
closed
Closed Market Holder
curl --request POST \
--url https://api.datadash.xyz/api/v1/market-holders/closed \
--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/closed"
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/closed', 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/closed",
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/closed"
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/closed")
.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/closed")
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[
{
"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>",
"volume": "<string>"
}
],
"totalPnl": 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 Closed Market Holder rows
Realized cost basis of the sold shares.
Number of distinct token outcomes
Realized PnL as percentage of realized cost basis
Nested token-level position details as JSON
Show child attributes
Show child attributes
Realized PNL
Resolved User row.
Show child attributes
Show child attributes
Total trading volume