curl -sS \
-H "Authorization: Bearer $OXINSIDER_API_KEY" \
'https://api.0xinsider.com/api/v1/pick-of-the-day'import requests
url = "https://api.0xinsider.com/api/v1/pick-of-the-day"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.0xinsider.com/api/v1/pick-of-the-day', 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.0xinsider.com/api/v1/pick-of-the-day",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.0xinsider.com/api/v1/pick-of-the-day"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.0xinsider.com/api/v1/pick-of-the-day")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.0xinsider.com/api/v1/pick-of-the-day")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"object": "pick_of_the_day",
"data": {
"state": "full",
"pick_date": "2026-06-23",
"matchup": "Portugal vs. Uzbekistan",
"category": "Soccer",
"display_category": "Soccer",
"platform": "polymarket",
"release_at": "2026-06-23T17:00:00Z",
"is_locked": false,
"outcome": "pending",
"pick_outcome_label": "Portugal",
"position": "Portugal to win",
"side_summary": "1 profitable wallet on Portugal",
"sharp_wallet_count": 1,
"smart_wallet_count": 1,
"top_grade": "A",
"sharp_usd": 48250,
"smart_usd": 48250,
"backed_price": 0.62,
"stake_usd": 1000,
"return_usd": 1612.9,
"return_per_100": 161.29,
"clv_status": "pending",
"market_pct": 0.62,
"traders": 1,
"holders": [
{
"address": "0x0000000000000000000000000000000000000000",
"name": "swisstony",
"grade": "A",
"last_traded_at": "2026-06-18T17:42:10Z",
"shares": 12500
}
],
"display_holders": [
{
"address": "0x0000000000000000000000000000000000000000",
"name": "swisstony",
"grade": "A",
"last_traded_at": "2026-06-18T17:42:10Z",
"shares": 12500,
"category_win_rate": 0.64,
"category_win_record": {
"wins": 16,
"decided": 25
},
"category_win_rate_status": "measured"
},
{
"address": "0x1111111111111111111111111111111111111111",
"name": "marketmaker",
"grade": "B",
"last_traded_at": "2026-06-18T17:42:10Z",
"shares": 9800,
"category_win_rate_status": "not_enough_data"
}
],
"holder_count": 1,
"thesis": "Profitable wallets hold Portugal, led by a grade-A trader.",
"market_url": "https://0xinsider.com/event/portugal-vs-uzbekistan",
"event_slug": "portugal-vs-uzbekistan",
"event_link_slug": "portugal-vs-uzbekistan",
"sports_context": {
"league_name": "FIFA World Cup",
"league_logo": "https://polymarket.com/leagues/fifa-world-cup.png",
"yes_team": {
"label": "Portugal",
"short_label": "POR",
"full_name": "Portugal national football team",
"provider_id": 1421,
"logo": "https://polymarket.com/teams/portugal.png",
"logo_mark_dark": false,
"color": "#C8102E",
"record": null,
"score": null
},
"no_team": {
"label": "Uzbekistan",
"short_label": "UZB",
"full_name": "Uzbekistan national football team",
"provider_id": 1738,
"logo": "https://polymarket.com/teams/uzbekistan.png",
"logo_mark_dark": false,
"color": "#1EB53A",
"record": null,
"score": null
},
"game_id": 884213,
"event_matchup": false,
"matchup_title": "Portugal – Uzbekistan"
},
"disclaimer": "Not financial advice. Prediction markets carry risk; do your own research.",
"pick_id": "1000",
"publication_order": 1,
"is_free_selection": true,
"supersedes_pick_id": null
},
"meta": {
"request_id": "req_example",
"cached": false,
"cost": 1
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}Pick of the Day
Get the current day’s published picks, their frozen prices, and modeled $1,000 returns.
curl -sS \
-H "Authorization: Bearer $OXINSIDER_API_KEY" \
'https://api.0xinsider.com/api/v1/pick-of-the-day'import requests
url = "https://api.0xinsider.com/api/v1/pick-of-the-day"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.0xinsider.com/api/v1/pick-of-the-day', 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.0xinsider.com/api/v1/pick-of-the-day",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.0xinsider.com/api/v1/pick-of-the-day"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.0xinsider.com/api/v1/pick-of-the-day")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.0xinsider.com/api/v1/pick-of-the-day")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"object": "pick_of_the_day",
"data": {
"state": "full",
"pick_date": "2026-06-23",
"matchup": "Portugal vs. Uzbekistan",
"category": "Soccer",
"display_category": "Soccer",
"platform": "polymarket",
"release_at": "2026-06-23T17:00:00Z",
"is_locked": false,
"outcome": "pending",
"pick_outcome_label": "Portugal",
"position": "Portugal to win",
"side_summary": "1 profitable wallet on Portugal",
"sharp_wallet_count": 1,
"smart_wallet_count": 1,
"top_grade": "A",
"sharp_usd": 48250,
"smart_usd": 48250,
"backed_price": 0.62,
"stake_usd": 1000,
"return_usd": 1612.9,
"return_per_100": 161.29,
"clv_status": "pending",
"market_pct": 0.62,
"traders": 1,
"holders": [
{
"address": "0x0000000000000000000000000000000000000000",
"name": "swisstony",
"grade": "A",
"last_traded_at": "2026-06-18T17:42:10Z",
"shares": 12500
}
],
"display_holders": [
{
"address": "0x0000000000000000000000000000000000000000",
"name": "swisstony",
"grade": "A",
"last_traded_at": "2026-06-18T17:42:10Z",
"shares": 12500,
"category_win_rate": 0.64,
"category_win_record": {
"wins": 16,
"decided": 25
},
"category_win_rate_status": "measured"
},
{
"address": "0x1111111111111111111111111111111111111111",
"name": "marketmaker",
"grade": "B",
"last_traded_at": "2026-06-18T17:42:10Z",
"shares": 9800,
"category_win_rate_status": "not_enough_data"
}
],
"holder_count": 1,
"thesis": "Profitable wallets hold Portugal, led by a grade-A trader.",
"market_url": "https://0xinsider.com/event/portugal-vs-uzbekistan",
"event_slug": "portugal-vs-uzbekistan",
"event_link_slug": "portugal-vs-uzbekistan",
"sports_context": {
"league_name": "FIFA World Cup",
"league_logo": "https://polymarket.com/leagues/fifa-world-cup.png",
"yes_team": {
"label": "Portugal",
"short_label": "POR",
"full_name": "Portugal national football team",
"provider_id": 1421,
"logo": "https://polymarket.com/teams/portugal.png",
"logo_mark_dark": false,
"color": "#C8102E",
"record": null,
"score": null
},
"no_team": {
"label": "Uzbekistan",
"short_label": "UZB",
"full_name": "Uzbekistan national football team",
"provider_id": 1738,
"logo": "https://polymarket.com/teams/uzbekistan.png",
"logo_mark_dark": false,
"color": "#1EB53A",
"record": null,
"score": null
},
"game_id": 884213,
"event_matchup": false,
"matchup_title": "Portugal – Uzbekistan"
},
"disclaimer": "Not financial advice. Prediction markets carry risk; do your own research.",
"pick_id": "1000",
"publication_order": 1,
"is_free_selection": true,
"supersedes_pick_id": null
},
"meta": {
"request_id": "req_example",
"cached": false,
"cost": 1
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}{
"object": "error",
"error": {
"code": "bad_request",
"message": "<string>",
"doc_url": "<string>",
"param": "<string>",
"retry_at": "2023-11-07T05:31:56Z",
"freshness": {
"max_age_s": 1,
"data_quality_status": "fresh",
"actual_age_s": 1,
"as_of": "2023-11-07T05:31:56Z"
},
"reason": "cursor_expired"
},
"meta": {
"request_id": "<string>",
"cached": true,
"cost": 123,
"cache_age_s": 123,
"ranking_generation": 123,
"ranking_as_of": "2023-11-07T05:31:56Z",
"directional_source": "live",
"ranking_source": "live",
"category_skill_source": "live",
"category_skill_model_version": "<string>",
"category_skill_taxonomy_version": "<string>",
"category_skill_platform": "polymarket",
"category_skill_scope": "observed_goldsky_primary_taker_fill",
"category_skill_source_coverage": "partial_whale_threshold_fills",
"category_skill_observation_started_at": "2023-11-07T05:31:56Z",
"category_skill_model_operationally_degraded": true,
"category_skill_status_counts": {
"live": 1,
"insufficient": 1,
"stale": 1,
"unknown": 1,
"degraded": 1
},
"category_skill_base_payload_hash": "<string>",
"category_skill_enriched_base_payload_hash": "<string>"
}
}pick_id instead of deduplicating selections by game. Each pick keeps its own entry authorization and expiry.
New selections use a neutral presentation order. publication_order gives their order within the date; it does not rank their quality.
Selections retain their chosen market, side, and identity through release. An explicitly scheduled selection waits for its returned release_at. Cancelled or already-started games remain unavailable, and missing market data can delay publication.
Later additions fill available slots. Historical order and proofs remain unchanged.
Withdrawn picks are excluded from current and dated recommendations, the archive, and its statistics, even after market settlement. The public ledger retains their original identities and proof bytes. When no active pick is available, the endpoint returns 404 with a time for your next read; use that time to schedule a request.
For past results, use Pick of the Day archive. To verify an unchanged settled pick, use Pick of the Day ledger.
Key response fields
| Field | Meaning |
|---|---|
state | full when entitled, proof-readable picks exist, or none when only locked ranks have published. |
locked_picks[] | Unauthorized unresolved published or scheduled ranks, containing only pick_rank and required_tier: "max". |
pick_id | A positive decimal string that identifies this pick. Store it as a string, and use it when you need an identity that survives presentation changes. |
publication_order | The pick’s neutral presentation slot, retained for the standing selection. It does not express quality or expected return. |
is_free_selection | Whether a signed-in free account can read this selection. Read this boolean instead of inferring access from a slot number. |
supersedes_pick_id | The stable ID of a replaced selection, or null when the pick replaces nothing. |
pick_rank | The existing compatibility slot, retained for old consumers. Use pick_id for identity and publication_order for order. |
pick_outcome_label | The backed selection label, ready to display. A total can say Over 6.5 or Under 5.5, including the threshold recorded for that pick. Render the returned label without reconstructing it from the market title. |
backed_price | The Polymarket order book midpoint for the backed side at the moment the pick was published, written once. It is not an executed price: a buyer lifts the ask, so your own entry is usually a little worse. |
stake_usd, return_usd | stake_usd is the flat stake the record puts on every pick, 1000 since September 22, 2026. return_usd is the gross return of that stake at backed_price, so it is stake_usd / backed_price. payout_display and profit_display are formatted from return_usd. |
return_per_100 | The same return on a literal $100, so 100 / backed_price. It predates stake_usd and is kept so a client that scales it to its own stake stays correct. |
game_started | true once the backed game’s kickoff has passed, which means the frozen price is no longer actionable. The field is absent on an old pick with no stored kickoff, and absent should be read as not started. |
game_ended | true once the backed game is over by the live scoreboard, read on each request, so you can tell a finished game from one still in play before outcome settles. The field is absent when no scoreboard is available for the game; absent means unknown, not false. |
sports_context.yes_team, sports_context.no_team | These identify the game’s participants and carry available scores. Settled picks retain a verified final score even after the live score expires. |
sports_context.yes_team.ranking, sports_context.no_team.ranking | Available ATP or WTA singles ranking, with its data source, retrieval time, and expiry. The field is optional. |
polymarket_url | The Polymarket page the pick links to, with the 0xinsider referral tag. The field is absent until that link is resolved; link the game’s event page instead. |
sharp_pct | The share of graded-wallet dollars held on the backed side, when available. It describes measured backing, not a fair probability or expected value. |
scheduled_picks[] | Entitled selected slots that are not published yet. Public API rows retain pick_rank, release_at, and kickoff; unauthorized scheduled ranks appear only in locked_picks, without clocks. Schedule your next read from an available release_at. |
proof_pending_picks[] | Entitled published picks whose holder proof is not readable yet, with pick_rank, release_at, optional kickoff, and retry_at. Unauthorized ranks appear only in locked_picks. While this array is present, picks and pick_count cover only the picks whose proof is readable. Schedule your next read from the earliest retry_at. |
entry_authorization.max_entry_price | The maximum share price permitted for an automated entry. New policy 8 grants use the first fresh reference_best_ask plus 0.05, capped at 0.85 and rounded down to the provider’s price increment. Reference depth covers $100 principal and the provider minimum order size; fees are additional. Honor the returned ceiling and original kickoff expiry. |
entry_authorization.policy_version | 8 on newly issued grants with the 5-cent allowance. Existing policy 7 grants retain their recorded 2-cent allowance, ceiling, and expiry. |
holders, thesis, and disclaimer.
New execution permission is issued only while the pick remains eligible. An earlier selection alone does not grant entry permission.
For a future automated entry, honor the returned authorization and its expiry. New preparation or refresh refuses an older authorization above 0.85; an already issued private snapshot can retain its existing grant until refresh. A missing authorization means skip the automated entry, and the $100 reference depth does not replace a current book check for your order size.
Tennis rankings
When a tennis participant hasranking, read rank with tour to display its ATP or WTA singles ranking. source is api_tennis.
observed_at is the UTC retrieval time. Hide the rank after expires_at, including when you display a cached response. API-Tennis supplies no publication date; do not present observed_at as one.
This is the latest retrieved ranking, not the player’s ranking at match time. ranking is absent for unranked, ambiguous, doubles, expired, or unavailable participants.
Sporting scores
Read each participant’sscore in sports_context.yes_team and sports_context.no_team. For tennis, sets_won gives the match score, and sets carries the available set scores.
Once a settled pick has a verified final score, that score remains available after the live feed stops publishing it. Only results verified for the same game are retained; this includes postponed games played on a later date.
A settled market does not prove that the game has ended or supply its final score. If no verified final is available, the score remains unavailable. Do not infer it from outcome, the market price, or a different game between the same participants.
Entry ceilings and actual prices
The API ceiling is fixed when the grant is first issued; it does not follow later price changes or reset at publication. The reference ask can therefore predate the published midpoint inbacked_price. Existing grants are not rewritten when the allowance changes.
For a BUY, check the current executable order book price for your stake before submission and cap the order’s share price at max_entry_price. Apply any stricter client limits too. The auto-buy trader defaults to 3% above backed_price, so a 5-cent API allowance does not promise a 5-cent increase above the published price.
The ceiling is not a quote, an order price, or a recorded fill. An actual order can fill at several prices at or below its submitted BUY limit, and its average fill price is known after execution. The API’s modeled return still uses the frozen backed_price, not your account’s fill price; fees are additional.
Pick access
Pro opens the designated free selection and the first 4 nonfree selections in publication order, for 5 daily picks in total. Max opens every available published pick up to 15 and includes all Pro features. A thin day has fewer picks; neither plan guarantees its full daily limit. A Pro response places other unresolved published and scheduled selections inlocked_picks. Read the returned access fields instead of inferring access from a slot number. Each descriptor contains only pick_rank and required_tier: "max"; it reveals no game, market, participant, price, link, or identifying time.
If only locked ranks have published, the endpoint succeeds with state: "none", picks: [], and pick_count: 0, plus locked_picks and a message to upgrade. This is different from pick_not_released or a proof-warming error. Included resolved rows remain public, and the ledger retains every published commitment.
The response schema has separate full and none branches. Full picks retain their existing selection fields and required nullable supersedes_pick_id. The empty entitlement branch omits selection IDs and game identity, and returns supersedes_pick_id: null.
The website uses a different schedule projection: an unauthorized website slot can appear as a redacted descriptor with required_tier and no clocks. Do not parse the website response as the public API schedule.
Recorded lead wallet
A full newly certified pick can includelead_backer, the recorded lead wallet’s identity, position, and directional category history. Legacy picks omit it and retain their recorded evidence. An omitted object also means the recorded lead facts are unavailable; do not invent a wallet or zero-valued record.
| Field | Meaning |
|---|---|
address, name, grade, category | These identify the wallet, its grade at publication, and the sport of its recorded history. |
position_usd | This is the provider-reported value held on the backed outcome at publication, in USD. It is the gross value on that outcome and does not subtract shares on the other outcome. It is not the entry cost or a live balance. |
net_position_usd | This is the wallet’s net position toward the backed outcome at publication, in USD: its backed-outcome shares minus its shares on the other outcome of the same market, valued at the backed outcome’s provider price. It is present only when the wallet also held the other outcome; a one-sided position omits it, because its net equals position_usd. |
position_observed_at | This is when the provider position fetch began. This conservative observation clock precedes completion; it does not make the position a live balance. |
directional_event_count | This counts distinct events in the wallet’s recorded directional history for category. It is the total for the profit and ROI shown in this object. |
profitable_event_count | This counts events with positive realized P&L in that same sample. Break-even events do not count as profitable. |
realized_pnl_usd, entry_basis_usd, roi | These describe that sample’s realized profit, recorded entry basis, and their ratio. roi is a fraction, and the basis does not assert complete costs or fees. |
max_realized_drawdown_usd | This measures peak-to-trough realized P&L after each event result in that sample. It excludes intragame, unrealized, and account equity drawdown. |
recorded_at | This is when the history evidence was recorded, separate from the position snapshot clock. |
display_holders lists the lead first, then any verified supporters, then the other graded wallets that held the backed side at publication, ordered by shares. Only the lead and supporters are verified: the other rows are gross holdings on the backed side and may also hold the other side. The bounded S/A holders projection, holder_count, and the wallet counts cover only the certified wallets. backed_sharp_usd, when available, sums their recorded position values; gross flow and consensus fields are omitted, and lead_backer replaces the optional legacy qualifying_expert display.
Show the event record as profitable_event_count out of directional_event_count, with category beside it. Multiple market positions in one event contribute one combined event result. Keep the profit and ROI with that record; a live wallet win rate uses a different sample and must not label this recorded history.
An older server response can omit profitable_event_count. Treat a missing count as unavailable, not zero.
Label both clocks when you render these facts. Positions can change afterward, and the wallet’s history is not this pick’s probability of winning.
When a pick releases
The day follows theAmerica/New_York calendar. The daily release window runs from midnight to 23:30 US Eastern time. Automatic selections publish after qualification and final checks instead of waiting until 30 minutes before kickoff.
An explicitly scheduled selection keeps its returned release_at; do not calculate it from kickoff. The chosen market and side remain fixed after selection. Actual publication can trail release_at while the record is prepared or provider facts are unavailable.
Cancelled, closed, or invalid markets can prevent release. A day with no qualifying selections has no published picks.
Until the first pick of the day is published, the route returns 404 with error.code not_found and error.reason pick_not_released. Branch on the reason, because error.code is a frozen contract. The 404 is a schedule, not an outage, and on a skipped day it lasts the whole day.
- Read
Retry-After(seconds) orerror.retry_at(an RFC3339 instant). Both recommend the next moment to read; earlier publication remains possible. - Hand that instant to a cron job, a queue, or a timer, and end the request.
- Do not sleep a worker on it and do not poll. The next selection may not be ready yet.
Notification links
New Pick of the Day email, Discord, and inbox notifications link tohttps://0xinsider.com/pick-of-the-day/picks/{pick_id}. This page opens the selection identified by pick_id, even when another selection is released later. A replacement has its own ID and page; the earlier ID continues to identify the earlier selection.
Opening the page keeps the selection’s Free, Pro, or Max access requirement. Earlier emails and messages keep their original URLs, and dated pick links continue to work.
Example
curl -H "Authorization: Bearer $OXINSIDER_API_KEY" \
"https://api.0xinsider.com/api/v1/pick-of-the-day"
What it does not return
- A prior day’s pick. A settled game never appears as today’s, so an automated client never acts on a finished market. Past picks and the running record are on Pick of the Day archive.
- Game identity or clocks for an unauthorized unresolved rank. A locked descriptor is not a game you should enrich through another endpoint.
- Extra picks to fill a daily target. A day with fewer qualifying markets returns fewer picks, and a skipped day returns none.
- A price you can trade at.
backed_priceis the order book midpoint frozen at publication, and every pick carries adisclaimer. - A fair price or an expected value.
entry_authorization.max_entry_pricebounds how far the price may drift before an automated entry stops, and nothing more. The auto-buy guide shows how one client uses it. - Proof that the pick was fixed before the game. That proof is the hash on Pick of the Day ledger.
Caching
Save the response’sETag and send it in If-None-Match on your next request. If today’s pick set has not changed, the server returns 304 Not Modified with no body.Authorizations
Legacy default or named integration API key, or OAuth 2.1 access token, in the Authorization header as Bearer oxi_sk_live_... or Bearer oxi_at_.... Default keys retain full access; integration keys are limited to their approved read, webhooks, export and usage scopes and expire within 90 days. All credentials share the owner's account limits. Data calls require an active Pro subscription and return live data. A 401 carries WWW-Authenticate: Bearer resource_metadata="https://api.0xinsider.com/.well-known/oauth-protected-resource" (RFC 6750 section 3, RFC 9728).
Headers
Opt into strict query-name validation. The default is compatible: unknown names are ignored and reported in X-Query-Ignored. With strict, an unknown name returns 400 bad_request with error.reason unknown_query_parameter before the handler runs, including when its percent escape is incomplete.
strict Conditional GET validator from a previous ETag. Matching values return 304 Not Modified with an empty body.
Was this page helpful?