@0xinsider/sdk 0.37.0 → 0.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -1
- package/dist/client.d.ts +1 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/provenance.d.ts +1 -1
- package/dist/provenance.js +2 -2
- package/dist/schema.d.ts +643 -22
- package/dist/schema.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/schema.d.ts
CHANGED
|
@@ -1347,10 +1347,12 @@ export type GameHoldersItem = {
|
|
|
1347
1347
|
market: MarketHoldersMarket;
|
|
1348
1348
|
scan: MarketHoldersScan;
|
|
1349
1349
|
totals: MarketHoldersTotals;
|
|
1350
|
-
/** When this roster was computed. A cached roster is at most 60 seconds old. */
|
|
1350
|
+
/** When this roster was computed. A fresh cached roster is at most 60 seconds old; a stale one at most 15 minutes. */
|
|
1351
1351
|
computed_at: string;
|
|
1352
|
-
/** true when the roster came from the
|
|
1352
|
+
/** true when the roster came from the cache. */
|
|
1353
1353
|
cached: boolean;
|
|
1354
|
+
/** true when the market had no fresh roster at the batch deadline and this is the last roster published for it, up to 15 minutes old (read computed_at). The fresh one is still computing, so a read a few seconds later normally gets it; a market refused over the account's cold-read share is served the same way. */
|
|
1355
|
+
stale: boolean;
|
|
1354
1356
|
};
|
|
1355
1357
|
/** One Polymarket market linked to this game. */
|
|
1356
1358
|
export type GameMarket = {
|
|
@@ -1912,6 +1914,21 @@ export type LeaderboardPriceEdge = {
|
|
|
1912
1914
|
/** Why the leaderboard does not rank a ranked edge. record_incomplete: the wallet's stored sports and esports record shows more profit than Polymarket reports for it, so some losing markets are likely missing. Omitted when nothing holds the edge, and always omitted unless status is ranked. */
|
|
1913
1915
|
hold?: "record_incomplete";
|
|
1914
1916
|
};
|
|
1917
|
+
/** The whole board's totals, the counts the 0xinsider leaderboard page shows (#32737), read with the ranking snapshot the page is served at. Sent on every page of a request with no category and no strategy, whatever its sort, dir and activity, which order or split the same wallets. Omitted on a category or strategy page, which lists a subset these totals do not describe, and while the ranking has no totals for the served generation. */
|
|
1918
|
+
export type LeaderboardSummary = {
|
|
1919
|
+
/** Ranked wallets on the board: the wallets the unfiltered list pages through. */
|
|
1920
|
+
ranked_total: number;
|
|
1921
|
+
/** Ranked wallets by grade. Every ranked wallet is graded S, A or B, so the three sum to ranked_total. */
|
|
1922
|
+
by_grade: {
|
|
1923
|
+
S: number;
|
|
1924
|
+
A: number;
|
|
1925
|
+
B: number;
|
|
1926
|
+
};
|
|
1927
|
+
/** Ranked wallets whose last trade was 30 days or less before as_of: the wallets activity=active lists. ranked_total minus active_30d is the activity=inactive count. */
|
|
1928
|
+
active_30d: number;
|
|
1929
|
+
/** When the totals were counted, UTC. They are recounted about once a minute while the ranking is current. */
|
|
1930
|
+
as_of: string;
|
|
1931
|
+
};
|
|
1915
1932
|
/** One side's score line inside a `live_sports_updated` pulse. */
|
|
1916
1933
|
export type LiveSportsScoreEntry = {
|
|
1917
1934
|
/** Team name, ordered for the league (away first where the league reads that way). */
|
|
@@ -2647,6 +2664,13 @@ export type PickOfTheDayArchive = {
|
|
|
2647
2664
|
/** One entry per product day that has a published pick included in the archive, newest first, in the same order as picks. Each carries that day's net units, accumulated in the same backend pass and behind the same visibility gate as hit_rate.unit_score, so both cover the same population of picks. Re-adding the day totals reproduces hit_rate.unit_score to display precision rather than bit-for-bit, since that re-associates the floating-point sum. */
|
|
2648
2665
|
days: PickOfTheDayArchiveDay[];
|
|
2649
2666
|
hit_rate: PickOfTheDayHitRate;
|
|
2667
|
+
page?: {
|
|
2668
|
+
has_more: boolean;
|
|
2669
|
+
limit: number;
|
|
2670
|
+
next_cursor: string | null;
|
|
2671
|
+
returned: number;
|
|
2672
|
+
total: number;
|
|
2673
|
+
};
|
|
2650
2674
|
};
|
|
2651
2675
|
export type PickOfTheDayArchiveDay = {
|
|
2652
2676
|
/** The product day (YYYY-MM-DD). */
|
|
@@ -2742,6 +2766,67 @@ export type PickOfTheDayArchiveEntry = {
|
|
|
2742
2766
|
*/
|
|
2743
2767
|
supersedes_pick_id: string | null;
|
|
2744
2768
|
};
|
|
2769
|
+
/** The archive with `view=summary`: `hit_rate` without its daily `series`, one short row per pick, and `page`. Page with `limit` and `cursor`; `view=full` returns every field of a row. */
|
|
2770
|
+
export type PickOfTheDayArchiveSummary = {
|
|
2771
|
+
hit_rate: {
|
|
2772
|
+
clv_applicable: number;
|
|
2773
|
+
clv_avg_display?: string;
|
|
2774
|
+
clv_avg_pct?: number;
|
|
2775
|
+
clv_avg_pp?: number;
|
|
2776
|
+
clv_avg_pp_display?: string;
|
|
2777
|
+
clv_beats_close: number;
|
|
2778
|
+
clv_coverage_display?: string;
|
|
2779
|
+
clv_coverage_explanation?: string;
|
|
2780
|
+
clv_coverage_pct?: number;
|
|
2781
|
+
clv_eligible: number;
|
|
2782
|
+
clv_measured: number;
|
|
2783
|
+
clv_not_applicable: number;
|
|
2784
|
+
clv_pending: number;
|
|
2785
|
+
clv_state: string;
|
|
2786
|
+
clv_ties: number;
|
|
2787
|
+
clv_total: number;
|
|
2788
|
+
clv_unavailable: number;
|
|
2789
|
+
decided: number;
|
|
2790
|
+
losses: number;
|
|
2791
|
+
net_profit_display: string;
|
|
2792
|
+
net_profit_usd: number;
|
|
2793
|
+
pct: number;
|
|
2794
|
+
pending: number;
|
|
2795
|
+
roi_display: string;
|
|
2796
|
+
roi_pct: number;
|
|
2797
|
+
stake_usd: number;
|
|
2798
|
+
staked_usd: number;
|
|
2799
|
+
unit_score?: number;
|
|
2800
|
+
unit_score_display?: string;
|
|
2801
|
+
void: number;
|
|
2802
|
+
win_rate_display: string;
|
|
2803
|
+
wins: number;
|
|
2804
|
+
};
|
|
2805
|
+
page: {
|
|
2806
|
+
has_more: boolean;
|
|
2807
|
+
limit: number;
|
|
2808
|
+
next_cursor: string | null;
|
|
2809
|
+
returned: number;
|
|
2810
|
+
total: number;
|
|
2811
|
+
};
|
|
2812
|
+
picks: {
|
|
2813
|
+
backed_price?: number;
|
|
2814
|
+
backed_side_locked?: boolean;
|
|
2815
|
+
clv_pct?: number;
|
|
2816
|
+
display_category?: string;
|
|
2817
|
+
is_free_selection: boolean;
|
|
2818
|
+
matchup?: string;
|
|
2819
|
+
outcome: string;
|
|
2820
|
+
pick_date: string;
|
|
2821
|
+
pick_id: string;
|
|
2822
|
+
pick_outcome_label?: string;
|
|
2823
|
+
publication_order: number;
|
|
2824
|
+
required_tier?: string;
|
|
2825
|
+
top_grade?: string;
|
|
2826
|
+
unit_score?: number;
|
|
2827
|
+
}[];
|
|
2828
|
+
view: string;
|
|
2829
|
+
};
|
|
2745
2830
|
/** Select using the entry commitment_version, never implicit payload shape. All historic v1 hashes remain unchanged. */
|
|
2746
2831
|
export type PickOfTheDayCommitmentPayload = PickOfTheDayCommitmentPayloadV1 | PickOfTheDayCommitmentPayloadV2;
|
|
2747
2832
|
/** The frozen identity of the pick, exactly as the hash was taken over it. Served byte for byte as it was hashed -- keys sorted by UTF-8 byte value, no insignificant whitespace -- so a verifier concatenates and hashes with nothing to reconstruct. Property order below is the wire order. The outcome is deliberately NOT part of it: surviving a corrected outcome unchanged is the case the commitment exists for. Worked example: {"backed_price":"0.545000","condition_id":"0xabc","kickoff":"2026-09-20T23:05:00Z","pick_date":"2026-09-20","pick_outcome_index":1,"pick_outcome_label":"Lakers","pick_rank":1,"platform":"polymarket"} with the nonce 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f hashes to 44d18fa5e2aa3a2bf3c971dcc9317c8ccbdfd5480a4773b6d8ffd5fbeeea84dc. */
|
|
@@ -3414,6 +3499,446 @@ export type PickOfTheDayStats = {
|
|
|
3414
3499
|
pick_rank: number;
|
|
3415
3500
|
}[];
|
|
3416
3501
|
};
|
|
3502
|
+
/** The stats with `view=summary` or `sections`: only the named sections, listed in `sections`. `view=summary` names every section except `series`, `days`, `categories`, `months` and `voids`. */
|
|
3503
|
+
export type PickOfTheDayStatsSections = {
|
|
3504
|
+
categories?: {
|
|
3505
|
+
canonical_category?: string;
|
|
3506
|
+
clv_avg_display?: string;
|
|
3507
|
+
clv_avg_pct?: number;
|
|
3508
|
+
clv_avg_pp?: number;
|
|
3509
|
+
clv_avg_pp_display?: string;
|
|
3510
|
+
clv_measured: number;
|
|
3511
|
+
edge_display?: string;
|
|
3512
|
+
edge_pp?: number;
|
|
3513
|
+
key: string;
|
|
3514
|
+
label: string;
|
|
3515
|
+
losses: number;
|
|
3516
|
+
net_profit_display?: string;
|
|
3517
|
+
net_profit_usd?: number;
|
|
3518
|
+
pending: number;
|
|
3519
|
+
picks: number;
|
|
3520
|
+
priced_decided: number;
|
|
3521
|
+
priced_in_display?: string;
|
|
3522
|
+
priced_in_pct?: number;
|
|
3523
|
+
roi_display?: string;
|
|
3524
|
+
roi_pct?: number;
|
|
3525
|
+
settled: number;
|
|
3526
|
+
small_sample: boolean;
|
|
3527
|
+
staked_usd: number;
|
|
3528
|
+
unit_score?: number;
|
|
3529
|
+
unit_score_display?: string;
|
|
3530
|
+
void: number;
|
|
3531
|
+
win_rate_display?: string;
|
|
3532
|
+
win_rate_pct?: number;
|
|
3533
|
+
wins: number;
|
|
3534
|
+
}[];
|
|
3535
|
+
days?: ({
|
|
3536
|
+
date: string;
|
|
3537
|
+
losses: number;
|
|
3538
|
+
net_profit_display?: string;
|
|
3539
|
+
net_profit_usd?: number;
|
|
3540
|
+
pending: number;
|
|
3541
|
+
picks: number;
|
|
3542
|
+
sweep?: "win" | "loss";
|
|
3543
|
+
unit_score?: number;
|
|
3544
|
+
unit_score_display?: string;
|
|
3545
|
+
void: number;
|
|
3546
|
+
wins: number;
|
|
3547
|
+
})[];
|
|
3548
|
+
hit_rate?: {
|
|
3549
|
+
clv_applicable: number;
|
|
3550
|
+
clv_avg_display?: string;
|
|
3551
|
+
clv_avg_pct?: number;
|
|
3552
|
+
clv_avg_pp?: number;
|
|
3553
|
+
clv_avg_pp_display?: string;
|
|
3554
|
+
clv_beats_close: number;
|
|
3555
|
+
clv_coverage_display?: string;
|
|
3556
|
+
clv_coverage_explanation?: string;
|
|
3557
|
+
clv_coverage_pct?: number;
|
|
3558
|
+
clv_eligible: number;
|
|
3559
|
+
clv_measured: number;
|
|
3560
|
+
clv_not_applicable: number;
|
|
3561
|
+
clv_pending: number;
|
|
3562
|
+
clv_state: string;
|
|
3563
|
+
clv_ties: number;
|
|
3564
|
+
clv_total: number;
|
|
3565
|
+
clv_unavailable: number;
|
|
3566
|
+
decided: number;
|
|
3567
|
+
losses: number;
|
|
3568
|
+
net_profit_display: string;
|
|
3569
|
+
net_profit_usd: number;
|
|
3570
|
+
pct: number;
|
|
3571
|
+
pending: number;
|
|
3572
|
+
roi_display: string;
|
|
3573
|
+
roi_pct: number;
|
|
3574
|
+
stake_usd: number;
|
|
3575
|
+
staked_usd: number;
|
|
3576
|
+
unit_score?: number;
|
|
3577
|
+
unit_score_display?: string;
|
|
3578
|
+
void: number;
|
|
3579
|
+
win_rate_display: string;
|
|
3580
|
+
wins: number;
|
|
3581
|
+
};
|
|
3582
|
+
market_expectations?: {
|
|
3583
|
+
as_of_date: string;
|
|
3584
|
+
price_basis: string;
|
|
3585
|
+
timezone: string;
|
|
3586
|
+
windows: ({
|
|
3587
|
+
clv_avg_display: string | null;
|
|
3588
|
+
clv_avg_pct: number | null;
|
|
3589
|
+
clv_avg_pp: number | null;
|
|
3590
|
+
clv_avg_pp_display: string | null;
|
|
3591
|
+
clv_measured: number;
|
|
3592
|
+
clv_missing: number;
|
|
3593
|
+
expected_wins: number | null;
|
|
3594
|
+
expected_wins_display: string | null;
|
|
3595
|
+
from_date: string | null;
|
|
3596
|
+
key: string;
|
|
3597
|
+
label: string;
|
|
3598
|
+
numeric_unavailable: boolean;
|
|
3599
|
+
priced_decided: number;
|
|
3600
|
+
through_date: string;
|
|
3601
|
+
units: number | null;
|
|
3602
|
+
units_display: string | null;
|
|
3603
|
+
units_z: number | null;
|
|
3604
|
+
units_z_display: string | null;
|
|
3605
|
+
unpriced_decided: number;
|
|
3606
|
+
wins: number;
|
|
3607
|
+
wins_z: number | null;
|
|
3608
|
+
wins_z_display: string | null;
|
|
3609
|
+
})[];
|
|
3610
|
+
};
|
|
3611
|
+
market_types?: {
|
|
3612
|
+
canonical_category?: string;
|
|
3613
|
+
clv_avg_display?: string;
|
|
3614
|
+
clv_avg_pct?: number;
|
|
3615
|
+
clv_avg_pp?: number;
|
|
3616
|
+
clv_avg_pp_display?: string;
|
|
3617
|
+
clv_measured: number;
|
|
3618
|
+
edge_display?: string;
|
|
3619
|
+
edge_pp?: number;
|
|
3620
|
+
key: string;
|
|
3621
|
+
label: string;
|
|
3622
|
+
losses: number;
|
|
3623
|
+
net_profit_display?: string;
|
|
3624
|
+
net_profit_usd?: number;
|
|
3625
|
+
pending: number;
|
|
3626
|
+
picks: number;
|
|
3627
|
+
priced_decided: number;
|
|
3628
|
+
priced_in_display?: string;
|
|
3629
|
+
priced_in_pct?: number;
|
|
3630
|
+
roi_display?: string;
|
|
3631
|
+
roi_pct?: number;
|
|
3632
|
+
settled: number;
|
|
3633
|
+
small_sample: boolean;
|
|
3634
|
+
staked_usd: number;
|
|
3635
|
+
unit_score?: number;
|
|
3636
|
+
unit_score_display?: string;
|
|
3637
|
+
void: number;
|
|
3638
|
+
win_rate_display?: string;
|
|
3639
|
+
win_rate_pct?: number;
|
|
3640
|
+
wins: number;
|
|
3641
|
+
}[];
|
|
3642
|
+
months?: {
|
|
3643
|
+
canonical_category?: string;
|
|
3644
|
+
clv_avg_display?: string;
|
|
3645
|
+
clv_avg_pct?: number;
|
|
3646
|
+
clv_avg_pp?: number;
|
|
3647
|
+
clv_avg_pp_display?: string;
|
|
3648
|
+
clv_measured: number;
|
|
3649
|
+
edge_display?: string;
|
|
3650
|
+
edge_pp?: number;
|
|
3651
|
+
key: string;
|
|
3652
|
+
label: string;
|
|
3653
|
+
losses: number;
|
|
3654
|
+
net_profit_display?: string;
|
|
3655
|
+
net_profit_usd?: number;
|
|
3656
|
+
pending: number;
|
|
3657
|
+
picks: number;
|
|
3658
|
+
priced_decided: number;
|
|
3659
|
+
priced_in_display?: string;
|
|
3660
|
+
priced_in_pct?: number;
|
|
3661
|
+
roi_display?: string;
|
|
3662
|
+
roi_pct?: number;
|
|
3663
|
+
settled: number;
|
|
3664
|
+
small_sample: boolean;
|
|
3665
|
+
staked_usd: number;
|
|
3666
|
+
unit_score?: number;
|
|
3667
|
+
unit_score_display?: string;
|
|
3668
|
+
void: number;
|
|
3669
|
+
win_rate_display?: string;
|
|
3670
|
+
win_rate_pct?: number;
|
|
3671
|
+
wins: number;
|
|
3672
|
+
}[];
|
|
3673
|
+
outcome_stats?: {
|
|
3674
|
+
concentration: {
|
|
3675
|
+
positive_wins: number;
|
|
3676
|
+
remaining_valued_decided: number;
|
|
3677
|
+
removed_wins: number;
|
|
3678
|
+
roi_without_top_wins_display: string | null;
|
|
3679
|
+
roi_without_top_wins_pct: number | null;
|
|
3680
|
+
target_wins: number;
|
|
3681
|
+
top_wins_share_display: string | null;
|
|
3682
|
+
top_wins_share_pct: number | null;
|
|
3683
|
+
valued_decided: number;
|
|
3684
|
+
};
|
|
3685
|
+
drawdown: {
|
|
3686
|
+
completed_days: number;
|
|
3687
|
+
current_days_below_peak: number | null;
|
|
3688
|
+
current_drawdown_display: string | null;
|
|
3689
|
+
current_drawdown_units: number | null;
|
|
3690
|
+
days_below_peak: number | null;
|
|
3691
|
+
excluded_days: number;
|
|
3692
|
+
from_date: string | null;
|
|
3693
|
+
longest_days_below_peak: number | null;
|
|
3694
|
+
longest_recovery_days: number | null;
|
|
3695
|
+
max_drawdown_display: string | null;
|
|
3696
|
+
max_drawdown_units: number | null;
|
|
3697
|
+
peak_date: string | null;
|
|
3698
|
+
peak_net_profit_usd: number | null;
|
|
3699
|
+
through_date: string | null;
|
|
3700
|
+
};
|
|
3701
|
+
profit_factor: {
|
|
3702
|
+
display: string | null;
|
|
3703
|
+
gross_loss_usd: number | null;
|
|
3704
|
+
gross_profit_usd: number | null;
|
|
3705
|
+
state: "empty" | "measured" | "no_losses" | "numeric_unavailable";
|
|
3706
|
+
value: number | null;
|
|
3707
|
+
valued_decided: number;
|
|
3708
|
+
};
|
|
3709
|
+
rolling: ({
|
|
3710
|
+
from_date: string | null;
|
|
3711
|
+
losses: number;
|
|
3712
|
+
roi_display: string | null;
|
|
3713
|
+
roi_pct: number | null;
|
|
3714
|
+
through_date: string | null;
|
|
3715
|
+
units: number | null;
|
|
3716
|
+
units_display: string | null;
|
|
3717
|
+
valued_decided: number;
|
|
3718
|
+
win_rate_display: string | null;
|
|
3719
|
+
win_rate_pct: number | null;
|
|
3720
|
+
window_size: number;
|
|
3721
|
+
wins: number;
|
|
3722
|
+
})[];
|
|
3723
|
+
};
|
|
3724
|
+
price_bands?: {
|
|
3725
|
+
canonical_category?: string;
|
|
3726
|
+
clv_avg_display?: string;
|
|
3727
|
+
clv_avg_pct?: number;
|
|
3728
|
+
clv_avg_pp?: number;
|
|
3729
|
+
clv_avg_pp_display?: string;
|
|
3730
|
+
clv_measured: number;
|
|
3731
|
+
edge_display?: string;
|
|
3732
|
+
edge_pp?: number;
|
|
3733
|
+
key: string;
|
|
3734
|
+
label: string;
|
|
3735
|
+
losses: number;
|
|
3736
|
+
net_profit_display?: string;
|
|
3737
|
+
net_profit_usd?: number;
|
|
3738
|
+
pending: number;
|
|
3739
|
+
picks: number;
|
|
3740
|
+
priced_decided: number;
|
|
3741
|
+
priced_in_display?: string;
|
|
3742
|
+
priced_in_pct?: number;
|
|
3743
|
+
roi_display?: string;
|
|
3744
|
+
roi_pct?: number;
|
|
3745
|
+
settled: number;
|
|
3746
|
+
small_sample: boolean;
|
|
3747
|
+
staked_usd: number;
|
|
3748
|
+
unit_score?: number;
|
|
3749
|
+
unit_score_display?: string;
|
|
3750
|
+
void: number;
|
|
3751
|
+
win_rate_display?: string;
|
|
3752
|
+
win_rate_pct?: number;
|
|
3753
|
+
wins: number;
|
|
3754
|
+
}[];
|
|
3755
|
+
records?: {
|
|
3756
|
+
best_day?: {
|
|
3757
|
+
date: string;
|
|
3758
|
+
date_display: string;
|
|
3759
|
+
losses: number;
|
|
3760
|
+
net_profit_display: string;
|
|
3761
|
+
net_profit_usd: number;
|
|
3762
|
+
picks: number;
|
|
3763
|
+
wins: number;
|
|
3764
|
+
};
|
|
3765
|
+
biggest_win?: {
|
|
3766
|
+
category: string;
|
|
3767
|
+
date: string;
|
|
3768
|
+
date_display: string;
|
|
3769
|
+
matchup: string;
|
|
3770
|
+
net_profit_display: string;
|
|
3771
|
+
net_profit_usd: number;
|
|
3772
|
+
};
|
|
3773
|
+
longest_losing_day_streak?: {
|
|
3774
|
+
days: number;
|
|
3775
|
+
end_date: string;
|
|
3776
|
+
net_profit_display: string;
|
|
3777
|
+
net_profit_usd: number;
|
|
3778
|
+
range_display: string;
|
|
3779
|
+
start_date: string;
|
|
3780
|
+
};
|
|
3781
|
+
longest_winning_day_streak?: {
|
|
3782
|
+
days: number;
|
|
3783
|
+
end_date: string;
|
|
3784
|
+
net_profit_display: string;
|
|
3785
|
+
net_profit_usd: number;
|
|
3786
|
+
range_display: string;
|
|
3787
|
+
start_date: string;
|
|
3788
|
+
};
|
|
3789
|
+
sweeps: {
|
|
3790
|
+
clean_sweeps: number;
|
|
3791
|
+
latest_clean_sweep?: {
|
|
3792
|
+
date: string;
|
|
3793
|
+
date_display: string;
|
|
3794
|
+
losses: number;
|
|
3795
|
+
wins: number;
|
|
3796
|
+
};
|
|
3797
|
+
latest_wipeout?: {
|
|
3798
|
+
date: string;
|
|
3799
|
+
date_display: string;
|
|
3800
|
+
losses: number;
|
|
3801
|
+
wins: number;
|
|
3802
|
+
};
|
|
3803
|
+
min_decided: number;
|
|
3804
|
+
wipeouts: number;
|
|
3805
|
+
};
|
|
3806
|
+
winning_days?: {
|
|
3807
|
+
flat: number;
|
|
3808
|
+
losing: number;
|
|
3809
|
+
settled: number;
|
|
3810
|
+
winning: number;
|
|
3811
|
+
winning_pct: number;
|
|
3812
|
+
winning_pct_display: string;
|
|
3813
|
+
};
|
|
3814
|
+
worst_day?: {
|
|
3815
|
+
date: string;
|
|
3816
|
+
date_display: string;
|
|
3817
|
+
losses: number;
|
|
3818
|
+
net_profit_display: string;
|
|
3819
|
+
net_profit_usd: number;
|
|
3820
|
+
picks: number;
|
|
3821
|
+
wins: number;
|
|
3822
|
+
};
|
|
3823
|
+
};
|
|
3824
|
+
sections: string[];
|
|
3825
|
+
series?: {
|
|
3826
|
+
date: string;
|
|
3827
|
+
hit_rate_pct: number;
|
|
3828
|
+
net_profit_usd: number;
|
|
3829
|
+
}[];
|
|
3830
|
+
sports?: {
|
|
3831
|
+
canonical_category?: string;
|
|
3832
|
+
clv_avg_display?: string;
|
|
3833
|
+
clv_avg_pct?: number;
|
|
3834
|
+
clv_avg_pp?: number;
|
|
3835
|
+
clv_avg_pp_display?: string;
|
|
3836
|
+
clv_measured: number;
|
|
3837
|
+
edge_display?: string;
|
|
3838
|
+
edge_pp?: number;
|
|
3839
|
+
key: string;
|
|
3840
|
+
label: string;
|
|
3841
|
+
losses: number;
|
|
3842
|
+
net_profit_display?: string;
|
|
3843
|
+
net_profit_usd?: number;
|
|
3844
|
+
pending: number;
|
|
3845
|
+
picks: number;
|
|
3846
|
+
priced_decided: number;
|
|
3847
|
+
priced_in_display?: string;
|
|
3848
|
+
priced_in_pct?: number;
|
|
3849
|
+
roi_display?: string;
|
|
3850
|
+
roi_pct?: number;
|
|
3851
|
+
settled: number;
|
|
3852
|
+
small_sample: boolean;
|
|
3853
|
+
staked_usd: number;
|
|
3854
|
+
unit_score?: number;
|
|
3855
|
+
unit_score_display?: string;
|
|
3856
|
+
void: number;
|
|
3857
|
+
win_rate_display?: string;
|
|
3858
|
+
win_rate_pct?: number;
|
|
3859
|
+
wins: number;
|
|
3860
|
+
}[];
|
|
3861
|
+
streaks?: {
|
|
3862
|
+
current?: number;
|
|
3863
|
+
current_day?: number;
|
|
3864
|
+
current_day_display?: string;
|
|
3865
|
+
current_display?: string;
|
|
3866
|
+
longest_loss: number;
|
|
3867
|
+
longest_win: number;
|
|
3868
|
+
};
|
|
3869
|
+
tiers?: {
|
|
3870
|
+
canonical_category?: string;
|
|
3871
|
+
clv_avg_display?: string;
|
|
3872
|
+
clv_avg_pct?: number;
|
|
3873
|
+
clv_avg_pp?: number;
|
|
3874
|
+
clv_avg_pp_display?: string;
|
|
3875
|
+
clv_measured: number;
|
|
3876
|
+
edge_display?: string;
|
|
3877
|
+
edge_pp?: number;
|
|
3878
|
+
key: string;
|
|
3879
|
+
label: string;
|
|
3880
|
+
losses: number;
|
|
3881
|
+
net_profit_display?: string;
|
|
3882
|
+
net_profit_usd?: number;
|
|
3883
|
+
pending: number;
|
|
3884
|
+
picks: number;
|
|
3885
|
+
priced_decided: number;
|
|
3886
|
+
priced_in_display?: string;
|
|
3887
|
+
priced_in_pct?: number;
|
|
3888
|
+
roi_display?: string;
|
|
3889
|
+
roi_pct?: number;
|
|
3890
|
+
settled: number;
|
|
3891
|
+
small_sample: boolean;
|
|
3892
|
+
staked_usd: number;
|
|
3893
|
+
unit_score?: number;
|
|
3894
|
+
unit_score_display?: string;
|
|
3895
|
+
void: number;
|
|
3896
|
+
win_rate_display?: string;
|
|
3897
|
+
win_rate_pct?: number;
|
|
3898
|
+
wins: number;
|
|
3899
|
+
}[];
|
|
3900
|
+
total_sides?: {
|
|
3901
|
+
canonical_category?: string;
|
|
3902
|
+
clv_avg_display?: string;
|
|
3903
|
+
clv_avg_pct?: number;
|
|
3904
|
+
clv_avg_pp?: number;
|
|
3905
|
+
clv_avg_pp_display?: string;
|
|
3906
|
+
clv_measured: number;
|
|
3907
|
+
edge_display?: string;
|
|
3908
|
+
edge_pp?: number;
|
|
3909
|
+
key: string;
|
|
3910
|
+
label: string;
|
|
3911
|
+
losses: number;
|
|
3912
|
+
net_profit_display?: string;
|
|
3913
|
+
net_profit_usd?: number;
|
|
3914
|
+
pending: number;
|
|
3915
|
+
picks: number;
|
|
3916
|
+
priced_decided: number;
|
|
3917
|
+
priced_in_display?: string;
|
|
3918
|
+
priced_in_pct?: number;
|
|
3919
|
+
roi_display?: string;
|
|
3920
|
+
roi_pct?: number;
|
|
3921
|
+
settled: number;
|
|
3922
|
+
small_sample: boolean;
|
|
3923
|
+
staked_usd: number;
|
|
3924
|
+
unit_score?: number;
|
|
3925
|
+
unit_score_display?: string;
|
|
3926
|
+
void: number;
|
|
3927
|
+
win_rate_display?: string;
|
|
3928
|
+
win_rate_pct?: number;
|
|
3929
|
+
wins: number;
|
|
3930
|
+
}[];
|
|
3931
|
+
view: string;
|
|
3932
|
+
voids?: {
|
|
3933
|
+
backed_price?: number;
|
|
3934
|
+
backed_side?: string;
|
|
3935
|
+
category?: string;
|
|
3936
|
+
matchup?: string;
|
|
3937
|
+
pick_date: string;
|
|
3938
|
+
pick_id: string;
|
|
3939
|
+
pick_rank: number;
|
|
3940
|
+
}[];
|
|
3941
|
+
};
|
|
3417
3942
|
/** A settled uncommitted pick's market, side and price. The same eight fields as PickOfTheDayCommitmentPayload, in the same key order, so a settled pick's side and price sit under payload whatever the entry's state. It is NOT a commitment: no hash was taken over it before the game, and it proves nothing about when the pick was made. */
|
|
3418
3943
|
export type PickOfTheDayUncommittedPayload = {
|
|
3419
3944
|
/** Frozen pre-game price of the backed side, 0..1, as the plain decimal text of the stored NUMERIC at full stored precision, trailing zeros included -- rendered exactly as the commitment payload renders it. */
|
|
@@ -4326,7 +4851,7 @@ export type TraderContext = {
|
|
|
4326
4851
|
/** Human-readable statement of the point-in-time snapshot semantics (data_as_of is the open-position clock -- the latest /positions snapshot, else the last completed sync; the snapshot advances only open positions, so resolved counts and win rate can include settled markets recorded after the last full sync; native realized P&L follows its accounting snapshot -- not a live feed; re-fetch for fresher data). */
|
|
4327
4852
|
freshness_note: string;
|
|
4328
4853
|
};
|
|
4329
|
-
/** Results by the entry price the wallet paid for the side it held, over its sports and esports
|
|
4854
|
+
/** Results by the entry price the wallet paid for the side it held, over its settled sports and esports positions with a held entry price. coverage counts the settled positions the buckets leave out, and why. */
|
|
4330
4855
|
export type TraderEntryPriceAnalysis = {
|
|
4331
4856
|
/** One bucket per price band that has a market, in bucket_order. */
|
|
4332
4857
|
buckets: TraderEntryPriceBucket[];
|
|
@@ -4334,10 +4859,12 @@ export type TraderEntryPriceAnalysis = {
|
|
|
4334
4859
|
best_bucket: string | null;
|
|
4335
4860
|
/** The bucket with the lowest win rate among buckets of at least 3 markets. null when no bucket has 3. */
|
|
4336
4861
|
worst_bucket: string | null;
|
|
4862
|
+
/** What the buckets cover (since 2026-11-03, #32671). */
|
|
4863
|
+
coverage: TraderEntryPriceCoverage;
|
|
4337
4864
|
};
|
|
4338
4865
|
/** One entry-price band. Each measure is an analytic value: read state before value. */
|
|
4339
4866
|
export type TraderEntryPriceBucket = {
|
|
4340
|
-
/** The band: $0.
|
|
4867
|
+
/** The band: $0.00-$0.19 (any price below $0.20, sub-cent fills included), $0.20-$0.39, $0.40-$0.59, $0.60-$0.79 or $0.80-$0.99. Until 2026-11-03 the first band was $0.01-$0.19 and sub-cent fills had no bucket (#32671). */
|
|
4341
4868
|
bucket: string;
|
|
4342
4869
|
/** Display position, 0 first, from the lowest price up. */
|
|
4343
4870
|
bucket_order: number;
|
|
@@ -4352,6 +4879,28 @@ export type TraderEntryPriceBucket = {
|
|
|
4352
4879
|
/** Mean realized P&L of a market in the band, USD. */
|
|
4353
4880
|
avg_pnl: AnalyticNumber;
|
|
4354
4881
|
};
|
|
4882
|
+
/** The settled sports and esports positions the entry-price section reads. The buckets' markets plus every unbucketed row's are settled_markets, and their realized P&L sums to settled_pnl. settled_pnl adds up the wallet's per-market realized P&L, so it differs from pnl.in_scope.realized_pnl, which is Polymarket's published sports and esports P&L with a share of the wallet's rebates. */
|
|
4883
|
+
export type TraderEntryPriceCoverage = {
|
|
4884
|
+
/** Settled sports and esports positions: bucketed_markets plus every unbucketed row's markets. */
|
|
4885
|
+
settled_markets: number;
|
|
4886
|
+
/** Realized P&L of those positions, USD. */
|
|
4887
|
+
settled_pnl: number;
|
|
4888
|
+
/** Positions in a bucket: the sum of buckets[].markets. */
|
|
4889
|
+
bucketed_markets: number;
|
|
4890
|
+
/** Realized P&L of the bucketed positions, USD: the sum of buckets[].total_pnl. */
|
|
4891
|
+
bucketed_pnl: number;
|
|
4892
|
+
/** The settled positions the buckets leave out: one row for each reason that has a position, ordered by reason. Empty when the buckets hold every settled position. */
|
|
4893
|
+
unbucketed: TraderEntryPriceUnbucketed[];
|
|
4894
|
+
};
|
|
4895
|
+
/** Settled positions with no entry-price bucket, for one reason. */
|
|
4896
|
+
export type TraderEntryPriceUnbucketed = {
|
|
4897
|
+
/** two_sided: both outcomes bought at a price, a hedged book with no single side. held_side_unpriced: one outcome has a recorded price, but the wallet's remaining shares are on the other. no_entry_price: no outcome has a recorded entry price. freshness_unknown: a bucket whose rows carry no freshness clock yet. */
|
|
4898
|
+
reason: "two_sided" | "held_side_unpriced" | "no_entry_price" | "freshness_unknown";
|
|
4899
|
+
/** Positions left out for this reason. */
|
|
4900
|
+
markets: number;
|
|
4901
|
+
/** Their realized P&L, USD. */
|
|
4902
|
+
total_pnl: number;
|
|
4903
|
+
};
|
|
4355
4904
|
export type TraderEsportsGameRecord = {
|
|
4356
4905
|
/** The game, by the same name every holder chip carries in category_win_rate_game: LoL, CS2, Dota 2, Valorant, Call of Duty, Honor of Kings, Mobile Legends: Bang Bang, Overwatch, Rainbow Six Siege, Rocket League or StarCraft II. Match a chip to this row by string equality. */
|
|
4357
4906
|
game: string;
|
|
@@ -5397,11 +5946,64 @@ export interface OperationData {
|
|
|
5397
5946
|
getMarketTopHolders: MarketTopHolders;
|
|
5398
5947
|
getMarketWalletsInOut: MarketWalletsInOut;
|
|
5399
5948
|
getMonthlyReportSnapshot: ReportSnapshot;
|
|
5400
|
-
getPickOfTheDay: PickOfTheDay | PickOfTheDayNoEntitledPicks
|
|
5401
|
-
|
|
5949
|
+
getPickOfTheDay: PickOfTheDay | PickOfTheDayNoEntitledPicks | {
|
|
5950
|
+
disclaimer?: string;
|
|
5951
|
+
locked_picks?: {
|
|
5952
|
+
pick_rank: number;
|
|
5953
|
+
required_tier: string;
|
|
5954
|
+
}[];
|
|
5955
|
+
pick_count: number;
|
|
5956
|
+
pick_date: string;
|
|
5957
|
+
picks: {
|
|
5958
|
+
backed_price?: number;
|
|
5959
|
+
category?: string;
|
|
5960
|
+
clv_pct?: number;
|
|
5961
|
+
clv_status?: string;
|
|
5962
|
+
display_category?: string;
|
|
5963
|
+
event_slug?: string;
|
|
5964
|
+
game_ended?: boolean;
|
|
5965
|
+
game_started?: boolean;
|
|
5966
|
+
holder_count?: number;
|
|
5967
|
+
is_free_selection: boolean;
|
|
5968
|
+
matchup?: string;
|
|
5969
|
+
outcome?: string;
|
|
5970
|
+
pick_id: string;
|
|
5971
|
+
pick_outcome_label?: string;
|
|
5972
|
+
polymarket_url?: string;
|
|
5973
|
+
publication_order: number;
|
|
5974
|
+
release_at?: string;
|
|
5975
|
+
return_usd?: number;
|
|
5976
|
+
stake_usd?: number;
|
|
5977
|
+
token_id?: string;
|
|
5978
|
+
top_grade?: string;
|
|
5979
|
+
unit_score?: number;
|
|
5980
|
+
}[];
|
|
5981
|
+
proof_pending_picks?: ({
|
|
5982
|
+
is_free_selection: boolean;
|
|
5983
|
+
kickoff?: string;
|
|
5984
|
+
pick_id: string;
|
|
5985
|
+
pick_rank: number;
|
|
5986
|
+
publication_order: number;
|
|
5987
|
+
release_at: string;
|
|
5988
|
+
retry_at: string;
|
|
5989
|
+
supersedes_pick_id: string | null;
|
|
5990
|
+
})[];
|
|
5991
|
+
scheduled_picks?: ({
|
|
5992
|
+
is_free_selection: boolean;
|
|
5993
|
+
kickoff: string;
|
|
5994
|
+
pick_id: string;
|
|
5995
|
+
pick_rank: number;
|
|
5996
|
+
publication_order: number;
|
|
5997
|
+
release_at: string;
|
|
5998
|
+
supersedes_pick_id: string | null;
|
|
5999
|
+
})[];
|
|
6000
|
+
state: string;
|
|
6001
|
+
view: string;
|
|
6002
|
+
};
|
|
6003
|
+
getPickOfTheDayArchive: PickOfTheDayArchive | PickOfTheDayArchiveSummary;
|
|
5402
6004
|
getPickOfTheDayLedger: PickOfTheDayLedger;
|
|
5403
6005
|
getPickOfTheDayLedgerEntry: PickOfTheDayLedgerEntry;
|
|
5404
|
-
getPickOfTheDayStats: PickOfTheDayStats;
|
|
6006
|
+
getPickOfTheDayStats: PickOfTheDayStats | PickOfTheDayStatsSections;
|
|
5405
6007
|
getPlatforms: Platforms;
|
|
5406
6008
|
getPositionTimeline: PositionTimelineEvent[];
|
|
5407
6009
|
getPositionTimelineById: PositionTimelineEvent[];
|
|
@@ -5744,7 +6346,7 @@ export interface OperationQuery {
|
|
|
5744
6346
|
createWebhookVerificationAttempt: Record<string, never>;
|
|
5745
6347
|
deleteWebhook: Record<string, never>;
|
|
5746
6348
|
exploreMarkets: {
|
|
5747
|
-
/** Filter by market category (case-insensitive). A canonical bucket name (e.g. Basketball) matches every provider member that folds into it (NBA, WNBA, NCAAB); a raw provider value also resolves to its bucket. Facet values are returned as the canonical bucket. Sports and esports only (#27411): a category outside them returns 400 bad_request with param category and names the accepted buckets. */
|
|
6349
|
+
/** Filter by market category (case-insensitive). A canonical bucket name (e.g. Basketball) matches every provider member that folds into it (NBA, WNBA, NCAAB); a raw provider value also resolves to its bucket. Facet values are returned as the canonical bucket. Sports and esports only (#27411): a category outside them returns 400 bad_request with param category and names the accepted buckets. The word sports, in any casing, matches every sport but Esports, the provider's catch-all Sports category (cycling, lacrosse) included: use esports for Esports alone, or omit category for both (#32657). The Sports facet counts that catch-all category alone. */
|
|
5748
6350
|
category?: string;
|
|
5749
6351
|
/** Filter by market status. A market is closed once Polymarket has closed trading or it has resolved, and active otherwise; all returns both. */
|
|
5750
6352
|
status?: "active" | "closed" | "all";
|
|
@@ -5781,7 +6383,7 @@ export interface OperationQuery {
|
|
|
5781
6383
|
getEdgeHunter: {
|
|
5782
6384
|
/** Response mode. board preserves the full quoted board; signals exposes ranked records and category evidence; observations exposes cohort measurements and accountable funnel evidence. Defaults to board. */
|
|
5783
6385
|
view?: "board" | "signals" | "observations";
|
|
5784
|
-
/** Legacy canonical bucket alias, now accepted in every view. Provider aliases canonicalize: NFL reaches Football and EPL reaches Soccer. Use leagues for a league-specific selection.
|
|
6386
|
+
/** Legacy canonical bucket alias, now accepted in every view. Provider aliases canonicalize: NFL reaches Football and EPL reaches Soccer. Use leagues for a league-specific selection. The word sports, in any casing, reads as kind=sports, every sport but Esports, as category=sports does on every other route (#32720): the response echoes kind sports beside category sports, and with kind=esports it returns 400 with param category. Any other unmappable non-sport category returns an empty result and echoes category non_sport. Combines with other selection axes using AND. */
|
|
5785
6387
|
category?: string;
|
|
5786
6388
|
/** Required for view=observations; wider_holder, in_play or emerging_pile. Rejected for board and signals. wider_holder covers pregame markets that view=signals does not list at its widest selection (horizon_hours=48, min_grade=B, no selector), so until kickoff a market is read in one view or the other. A market view=signals lists leaves wider_holder as primary_slate_candidate, and is a wider_holder candidate again in the first refresh after view=signals stops listing it; signals_as_of names the view=signals snapshot each refresh read. Each refresh evaluates at most 8 markets per sport and cohort, wider_holder by soonest kickoff (most graded holders first among equal kickoffs) and in_play by most graded holders, so a market among a sport's 8 soonest stays evaluated until its game starts. wider_holder also evaluates up to 8 more markets per sport that kick off within 24 hours, most graded holders first, so the most-held markets appear up to a day before kickoff. Each of these keeps its place in later refreshes until its game starts while its holder page still shows a card or could not be read, so a more-held market waits for a free place instead of displacing it. Each row's admitted_by names its place, most_held or soonest_kickoff. The rest count in coverage.capacity_limited_markets. Emerging pile is a wider-holder projection with sharp_pct in [0.75,0.85), complete holder scans and future kickoff, not an independent population or arrival history. */
|
|
5787
6389
|
cohort?: "wider_holder" | "in_play" | "emerging_pile";
|
|
@@ -5887,11 +6489,29 @@ export interface OperationQuery {
|
|
|
5887
6489
|
getPickOfTheDay: {
|
|
5888
6490
|
/** A product day (America/New_York) in YYYY-MM-DD format, on or before today. Omit it, or send today, for the current read. A past day with no published pick returns 404 not_found with error.param=date; a date after today, or a value that is not a date, returns 400 bad_request with error.param=date. */
|
|
5889
6491
|
date?: string;
|
|
6492
|
+
/** full (default) is the whole recorded set: every pick with its holders, lead backer, sports context, thesis and entry_authorization, and the top-level copy of the first pick. summary returns pick_date, pick_count, the disclaimer once, and each entitled pick's identity, side, price, result, return and grade (pick_id, publication_order, is_free_selection, matchup, category, display_category, event_slug, polymarket_url, token_id, pick_outcome_label, outcome, backed_price, stake_usd, return_usd, unit_score, top_grade, holder_count, clv_status, clv_pct, release_at, game_started, game_ended), with the same scheduled_picks, proof_pending_picks and locked_picks. The locked-only state=none body is the same in both views. Any other value returns 400 bad_request with error.param=view. */
|
|
6493
|
+
view?: "full" | "summary";
|
|
6494
|
+
/** One entitled published pick of the day, by its stable decimal-string pick_id. The body carries that pick once, as picks[0], beside state, pick_date and pick_count=1. It leaves out the top-level copy of the first pick that a set read without pick_id repeats, and scheduled_picks, proof_pending_picks and locked_picks. Pair it with date for a past day's pick. A pick_id that is not among the day's entitled published picks returns 404 not_found with error.param=pick_id; one whose holder proof is not readable yet returns 503 read_model_warming with Retry-After; a value that is not a positive canonical decimal returns 400 bad_request with error.param=pick_id. */
|
|
6495
|
+
pick_id?: string;
|
|
6496
|
+
};
|
|
6497
|
+
getPickOfTheDayArchive: {
|
|
6498
|
+
/** full (default) is every row with every field, plus days and hit_rate with its per-pick series. summary returns view, hit_rate without series, one page of short rows (pick_id, pick_date, publication_order, is_free_selection, matchup, display_category, pick_outcome_label, outcome, top_grade, backed_price, unit_score, clv_pct, backed_side_locked, required_tier) and page; it always pages, 50 rows unless limit says otherwise. Any other value returns 400 bad_request with error.param=view. */
|
|
6499
|
+
view?: "full" | "summary";
|
|
6500
|
+
/** Rows per page of picks, 1 to 200, default 50. An integer outside that range is clamped into it, like every list limit, and X-Effective-Query reports the limit applied; a value that is not an integer returns 400 invalid_query. On view=full, sending limit or cursor pages picks and adds page, while days and hit_rate still describe the whole record; with neither, the response is the whole record. */
|
|
6501
|
+
limit?: number;
|
|
6502
|
+
/** The page.next_cursor of the previous page: the rows after it, newest first. A cursor is a position in the record, so a pick published while you page does not shift later pages. A value this route did not return returns 400 bad_request with error.param=cursor. */
|
|
6503
|
+
cursor?: string;
|
|
5890
6504
|
};
|
|
5891
|
-
getPickOfTheDayArchive: Record<string, never>;
|
|
5892
6505
|
getPickOfTheDayLedger: Record<string, never>;
|
|
5893
6506
|
getPickOfTheDayLedgerEntry: Record<string, never>;
|
|
5894
|
-
getPickOfTheDayStats:
|
|
6507
|
+
getPickOfTheDayStats: {
|
|
6508
|
+
/** full (default) is every section. summary returns view, sections and every section except the five that grow with the record: series, days, categories, months and voids. In summary and sections bodies hit_rate carries no series; series is its own top-level section. Ignored when sections is sent. Any other value returns 400 bad_request with error.param=view. */
|
|
6509
|
+
view?: "full" | "summary";
|
|
6510
|
+
/** Exactly the sections to return, in the body's order whatever the request order. Repeatable and comma-separated: hit_rate, series, market_expectations, outcome_stats, days, categories, sports, tiers, months, price_bands, market_types, total_sides, streaks, records, voids. The body names them in sections and carries view=sections. An unrecognized name returns 400 bad_request with error.param=sections rather than being ignored. */
|
|
6511
|
+
sections?: ("hit_rate" | "series" | "market_expectations" | "outcome_stats" | "days" | "categories" | "sports" | "tiers" | "months" | "price_bands" | "market_types" | "total_sides" | "streaks" | "records" | "voids")[];
|
|
6512
|
+
/** Backward-compatible bracket alias for sections, for clients that emit array keys. Repeatable and comma-separated, with the same names. */
|
|
6513
|
+
"sections[]"?: ("hit_rate" | "series" | "market_expectations" | "outcome_stats" | "days" | "categories" | "sports" | "tiers" | "months" | "price_bands" | "market_types" | "total_sides" | "streaks" | "records" | "voids")[];
|
|
6514
|
+
};
|
|
5895
6515
|
getPlatforms: Record<string, never>;
|
|
5896
6516
|
getPositionTimeline: {
|
|
5897
6517
|
/** Market condition_id. One timeline per (trader, market). */
|
|
@@ -5955,7 +6575,7 @@ export interface OperationQuery {
|
|
|
5955
6575
|
max_age_s?: number;
|
|
5956
6576
|
};
|
|
5957
6577
|
getTraderCategoryRecords: {
|
|
5958
|
-
/** Filter to one canonical category, matched through the same rollup every other category surface uses: soccer, EPL and champions league all reach Soccer, every esports label folds into Esports, and football is AMERICAN football and reaches Football. A filter that reaches Esports returns the Esports record with all of its games; a game is not a filter of its own, so ask for esports and read games. A sports or esports category the wallet has no record in answers 200 with an empty records array, never 404. Sports and esports only (#27311): a category outside them, or a value that reaches no category, returns 400 bad_request with param category and names the accepted buckets. */
|
|
6578
|
+
/** Filter to one canonical category, matched through the same rollup every other category surface uses: soccer, EPL and champions league all reach Soccer, every esports label folds into Esports, and football is AMERICAN football and reaches Football. A filter that reaches Esports returns the Esports record with all of its games; a game is not a filter of its own, so ask for esports and read games. A sports or esports category the wallet has no record in answers 200 with an empty records array, never 404. Sports and esports only (#27311): a category outside them, or a value that reaches no category, returns 400 bad_request with param category and names the accepted buckets. The word sports, in any casing, matches every sport but Esports, the provider's catch-all Sports category (cycling, lacrosse) included: use esports for Esports alone, or omit category for both (#32657). */
|
|
5959
6579
|
category?: string;
|
|
5960
6580
|
};
|
|
5961
6581
|
getTraderContext: Record<string, never>;
|
|
@@ -6076,7 +6696,7 @@ export interface OperationQuery {
|
|
|
6076
6696
|
cursor?: string;
|
|
6077
6697
|
/** Minimum position value in USD. Raises the feed's own floor of 50,000 USD; a smaller value does not lower it. */
|
|
6078
6698
|
min_size?: number;
|
|
6079
|
-
/** One RFC 4180 CSV record of exact current provider-backed market_canonical.category values. Legacy unquoted lists such as NBA,WNBA remain valid; values containing commas, quotes, or newlines are CSV-quoted. Matching is case-insensitive. Malformed quoted input fails closed as one unknown exact category. A value outside sports and esports returns 400 bad_request with param=category (#27305), as on GET /api/v1/markets/explore. */
|
|
6699
|
+
/** One RFC 4180 CSV record of exact current provider-backed market_canonical.category values. Legacy unquoted lists such as NBA,WNBA remain valid; values containing commas, quotes, or newlines are CSV-quoted. Matching is case-insensitive. Malformed quoted input fails closed as one unknown exact category. A value outside sports and esports returns 400 bad_request with param=category (#27305), as on GET /api/v1/markets/explore. The word sports, in any casing, names every sport and returns 400 bad_request with param category, because this filter takes one category: omit category for every sports and esports market, or name one sport (#32657). */
|
|
6080
6700
|
category?: string;
|
|
6081
6701
|
/** Minimum trader grade. Matched against the trader.grade each row returns, the wallet's current grade, so every row listed shows a grade at or above this floor. */
|
|
6082
6702
|
min_grade?: "S" | "A" | "B" | "C" | "D" | "F";
|
|
@@ -6110,7 +6730,7 @@ export interface OperationQuery {
|
|
|
6110
6730
|
condition_id?: string;
|
|
6111
6731
|
/** Trader wallet address, timestamp-suffixed wallet alias, username, or trd_-prefixed trader ID, resolved against the traders table. Unknown traders return an empty list. */
|
|
6112
6732
|
trader?: string;
|
|
6113
|
-
/** Filter by market category (case-insensitive). A canonical bucket name (e.g. Basketball) matches every provider member that folds into it (NBA, WNBA, NCAAB); a raw provider value also resolves to its bucket. Sports and esports only (#27430): a category outside them returns 400 bad_request with param category and names the accepted buckets. */
|
|
6733
|
+
/** Filter by market category (case-insensitive). A canonical bucket name (e.g. Basketball) matches every provider member that folds into it (NBA, WNBA, NCAAB); a raw provider value also resolves to its bucket. Sports and esports only (#27430): a category outside them returns 400 bad_request with param category and names the accepted buckets. The word sports, in any casing, matches every sport but Esports, the provider's catch-all Sports category (cycling, lacrosse) included: use esports for Esports alone, or omit category for both (#32657). */
|
|
6114
6734
|
category?: string;
|
|
6115
6735
|
/** Minimum trader grade as of today (trader.grade), not at trade time. On a historical window it selects wallets by a grade they may have earned after the trade; for a point-in-time rule filter on trader.grade_at_trade instead. A means S or A, B means S, A or B. */
|
|
6116
6736
|
min_grade?: "S" | "A" | "B" | "C" | "D" | "F";
|
|
@@ -6136,7 +6756,7 @@ export interface OperationQuery {
|
|
|
6136
6756
|
cursor?: string;
|
|
6137
6757
|
/** Minimum trade size in USD. */
|
|
6138
6758
|
min_size?: number;
|
|
6139
|
-
/** Filter by market category (case-insensitive). A canonical bucket name (e.g. Basketball) matches every provider member that folds into it (NBA, WNBA, NCAAB); a raw provider value also resolves to its bucket. Sports and esports only (#27430): a category outside them returns 400 bad_request with param category and names the accepted buckets. */
|
|
6759
|
+
/** Filter by market category (case-insensitive). A canonical bucket name (e.g. Basketball) matches every provider member that folds into it (NBA, WNBA, NCAAB); a raw provider value also resolves to its bucket. Sports and esports only (#27430): a category outside them returns 400 bad_request with param category and names the accepted buckets. The word sports, in any casing, matches every sport but Esports, the provider's catch-all Sports category (cycling, lacrosse) included: use esports for Esports alone, or omit category for both (#32657). */
|
|
6140
6760
|
category?: string;
|
|
6141
6761
|
/** Minimum trader grade. */
|
|
6142
6762
|
min_grade?: "S" | "A" | "B" | "C" | "D" | "F";
|
|
@@ -6158,7 +6778,7 @@ export interface OperationQuery {
|
|
|
6158
6778
|
limit?: number;
|
|
6159
6779
|
/** Opaque lbv1_ pagination cursor from a prior response. It binds the finite score/address boundary to the committed leaderboard generation and the effective category/strategy filters, and on a sorted page to its sort, dir and activity. A cursor from another sort or dir is a 400 bad_request on cursor; one from another activity, category, strategy or generation is cursor_expired. Legacy, malformed, non-finite, and unsupported-version cursors are rejected. */
|
|
6160
6780
|
cursor?: string;
|
|
6161
|
-
/** Filter by category: a sport or esports bucket
|
|
6781
|
+
/** Filter by category: a sport or esports bucket, matched case-insensitively. League values fold into their sport (NBA and NCAAB into Basketball, NFL into Football). Sports and esports only (#27306): a category outside them returns 400 bad_request with param category and names the accepted buckets. The word sports, in any casing, matches every sport but Esports, the provider's catch-all Sports category (cycling, lacrosse) included: use esports for Esports alone, or omit category for both (#32657). */
|
|
6162
6782
|
category?: string;
|
|
6163
6783
|
/** Filter by observed trading style. Current styles: two_sided, category_focused, high_activity, diversified, mixed, unclassified. Current styles count the wallet's sports and esports markets only. The ten archetype keys retired on 2026-10-01 (accumulator, algo_trader, arbitrageur, directional, event_driven, market_maker, momentum, scalper, speculator, swing_trader) are still accepted and match no wallet. Style describes recorded behavior; grade measures performance. */
|
|
6164
6784
|
strategy?: "category_focused" | "diversified" | "high_activity" | "mixed" | "two_sided" | "unclassified";
|
|
@@ -6179,7 +6799,7 @@ export interface OperationQuery {
|
|
|
6179
6799
|
consistency?: "live" | "snapshot";
|
|
6180
6800
|
/** Minimum current position value in USD. Defaults to 100 when omitted, or to 0 when wallet is present; send 0 to include every reconciled position. */
|
|
6181
6801
|
min_size?: number;
|
|
6182
|
-
/** Exact match against provider-backed market_canonical.category. Sports and esports only (#27311): a category outside them returns 400 bad_request with param category and names the accepted buckets. */
|
|
6802
|
+
/** Exact match against provider-backed market_canonical.category. Sports and esports only (#27311): a category outside them returns 400 bad_request with param category and names the accepted buckets. The word sports, in any casing, names every sport and returns 400 bad_request with param category, because this filter takes one category: omit category for every sports and esports market, or name one sport (#32657). */
|
|
6183
6803
|
category?: string;
|
|
6184
6804
|
/** Scope to one market. Accepts the raw provider condition_id or the mkt_-prefixed market id emitted by V1 responses. Combine with min_size=0 for every reconciled position in that market; an unknown id or a resolved market returns []. A market outside sports and esports returns 404 not_found with error.reason=market_out_of_scope (#27311). Without condition_id the board and wallet reads list sports and esports markets only. */
|
|
6185
6805
|
condition_id?: string;
|
|
@@ -6199,7 +6819,7 @@ export interface OperationQuery {
|
|
|
6199
6819
|
limit?: number;
|
|
6200
6820
|
/** Opaque cursor from previous response's next_cursor. Encodes the first-page as_of timestamp, normalized effective filters, ranking and aggregate collection revisions, plus the last row's absolute net flow and condition_id. A changed filter or collection returns cursor_expired; request the first page again. */
|
|
6201
6821
|
cursor?: string;
|
|
6202
|
-
/** Filter by market category (case-insensitive). A canonical bucket name (e.g. Basketball) matches every provider member that folds into it (NBA, WNBA, NCAAB); a raw provider value also resolves to its bucket. Sports and esports only (#27306): a category outside them returns 400 bad_request with param category and names the accepted buckets. */
|
|
6822
|
+
/** Filter by market category (case-insensitive). A canonical bucket name (e.g. Basketball) matches every provider member that folds into it (NBA, WNBA, NCAAB); a raw provider value also resolves to its bucket. Sports and esports only (#27306): a category outside them returns 400 bad_request with param category and names the accepted buckets. The word sports, in any casing, matches every sport but Esports, the provider's catch-all Sports category (cycling, lacrosse) included: use esports for Esports alone, or omit category for both (#32657). */
|
|
6203
6823
|
category?: string;
|
|
6204
6824
|
/** Filter by source platform. all is a request-side no-op. */
|
|
6205
6825
|
platform?: "polymarket" | "all";
|
|
@@ -6219,7 +6839,7 @@ export interface OperationQuery {
|
|
|
6219
6839
|
limit?: number;
|
|
6220
6840
|
/** Opaque cursor from previous response's next_cursor. Encodes the first-page as_of timestamp, normalized effective filters, ranking and aggregate collection revisions, plus the last row's absolute net flow and condition_id. A changed filter or collection returns cursor_expired; request the first page again. */
|
|
6221
6841
|
cursor?: string;
|
|
6222
|
-
/** Filter by market category (case-insensitive). A canonical bucket name (e.g. Basketball) matches every provider member that folds into it (NBA, WNBA, NCAAB); a raw provider value also resolves to its bucket. Sports and esports only (#27306): a category outside them returns 400 bad_request with param category and names the accepted buckets. */
|
|
6842
|
+
/** Filter by market category (case-insensitive). A canonical bucket name (e.g. Basketball) matches every provider member that folds into it (NBA, WNBA, NCAAB); a raw provider value also resolves to its bucket. Sports and esports only (#27306): a category outside them returns 400 bad_request with param category and names the accepted buckets. The word sports, in any casing, matches every sport but Esports, the provider's catch-all Sports category (cycling, lacrosse) included: use esports for Esports alone, or omit category for both (#32657). */
|
|
6223
6843
|
category?: string;
|
|
6224
6844
|
/** Filter by source platform. all is a request-side no-op. */
|
|
6225
6845
|
platform?: "polymarket" | "all";
|
|
@@ -6287,7 +6907,7 @@ export interface OperationQuery {
|
|
|
6287
6907
|
condition_id?: string;
|
|
6288
6908
|
/** Trader wallet address, timestamp-suffixed wallet alias, or username resolved against the traders table. Unknown traders return an empty list. */
|
|
6289
6909
|
trader?: string;
|
|
6290
|
-
/** Filter by market category (case-insensitive). A canonical bucket name (e.g. Basketball) matches every provider member that folds into it (NBA, WNBA, NCAAB); a raw provider value also resolves to its bucket. Sports and esports only (#27430): a category outside them returns 400 bad_request with param category and names the accepted buckets. */
|
|
6910
|
+
/** Filter by market category (case-insensitive). A canonical bucket name (e.g. Basketball) matches every provider member that folds into it (NBA, WNBA, NCAAB); a raw provider value also resolves to its bucket. Sports and esports only (#27430): a category outside them returns 400 bad_request with param category and names the accepted buckets. The word sports, in any casing, matches every sport but Esports, the provider's catch-all Sports category (cycling, lacrosse) included: use esports for Esports alone, or omit category for both (#32657). */
|
|
6291
6911
|
category?: string;
|
|
6292
6912
|
/** Minimum trader grade. */
|
|
6293
6913
|
min_grade?: "S" | "A" | "B" | "C" | "D" | "F";
|
|
@@ -6313,7 +6933,7 @@ export interface OperationQuery {
|
|
|
6313
6933
|
cursor?: string;
|
|
6314
6934
|
/** Minimum trade size in USD. */
|
|
6315
6935
|
min_size?: number;
|
|
6316
|
-
/** Filter by market category (case-insensitive). A canonical bucket name (e.g. Basketball) matches every provider member that folds into it (NBA, WNBA, NCAAB); a raw provider value also resolves to its bucket. Sports and esports only (#27430): a category outside them returns 400 bad_request with param category and names the accepted buckets. */
|
|
6936
|
+
/** Filter by market category (case-insensitive). A canonical bucket name (e.g. Basketball) matches every provider member that folds into it (NBA, WNBA, NCAAB); a raw provider value also resolves to its bucket. Sports and esports only (#27430): a category outside them returns 400 bad_request with param category and names the accepted buckets. The word sports, in any casing, matches every sport but Esports, the provider's catch-all Sports category (cycling, lacrosse) included: use esports for Esports alone, or omit category for both (#32657). */
|
|
6317
6937
|
category?: string;
|
|
6318
6938
|
/** Minimum trader grade as of today (trader.grade). A means S or A, B means S, A or B. */
|
|
6319
6939
|
min_grade?: "S" | "A" | "B" | "C" | "D" | "F";
|
|
@@ -6350,7 +6970,7 @@ export interface OperationQuery {
|
|
|
6350
6970
|
cursor?: string;
|
|
6351
6971
|
/** Filter by market status. A market is closed once Polymarket has closed trading or it has resolved, and active otherwise; all returns both. */
|
|
6352
6972
|
status?: "active" | "closed" | "all";
|
|
6353
|
-
/** Filter by category. Sports and esports only (#27411): a category outside them returns 400 bad_request with param category and names the accepted buckets. */
|
|
6973
|
+
/** Filter by category. Sports and esports only (#27411): a category outside them returns 400 bad_request with param category and names the accepted buckets. The word sports, in any casing, names every sport and returns 400 bad_request with param category, because this filter takes one category: omit category for every sports and esports market, or name one sport (#32657). */
|
|
6354
6974
|
category?: string;
|
|
6355
6975
|
};
|
|
6356
6976
|
submitTraderExport: {
|
|
@@ -7169,6 +7789,7 @@ export interface OperationResponse {
|
|
|
7169
7789
|
/** Total matching rows when the read model exposes a count; the key is absent when it does not. */
|
|
7170
7790
|
total?: number;
|
|
7171
7791
|
meta: ResponseMeta;
|
|
7792
|
+
summary?: LeaderboardSummary;
|
|
7172
7793
|
};
|
|
7173
7794
|
listLeaderboardLeagues: {
|
|
7174
7795
|
object: "leaderboard_leagues";
|