Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 26 additions & 26 deletions benchmarks/pm-fee-comparison.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,73 +48,73 @@ prometheus:
window: 24h
expected_freshness_seconds: 7200

rank_matrix_query: label_replace(pm_fee_taker_bps, "provider", "$1", "venue", "(.+)")
rank_matrix_query: label_replace(pm_fee_taker_bps / 100, "provider", "$1", "venue", "(.+)")

providers:
- slug: polymarket
name: Polymarket
tag: 2% fee on potential payout, no maker rebate, flat across all price points
formula: "Flat 200 bps of gross notional ($1 resolution value) at all price points. Fee = 2% × $1 payout = $0.02/contract. Source: Polymarket published fee schedule."
queries:
p50: pm_fee_taker_bps{venue="polymarket"}
p90: pm_fee_taker_bps{venue="polymarket"}
p99: pm_fee_taker_bps{venue="polymarket"}
mean: pm_fee_taker_bps{venue="polymarket"}
p50: pm_fee_taker_bps{venue="polymarket"} / 100
p90: pm_fee_taker_bps{venue="polymarket"} / 100
p99: pm_fee_taker_bps{venue="polymarket"} / 100
mean: pm_fee_taker_bps{venue="polymarket"} / 100
success: vector(1)
sample_size: vector(1)
series: pm_fee_taker_bps{venue="polymarket"}
series: pm_fee_taker_bps{venue="polymarket"} / 100

- slug: kalshi
name: Kalshi
tag: Per-contract fee on published schedule, capped at price extremes, US-regulated
formula: "Approximately 700 bps ($0.07/contract ÷ $1 resolution value) at ATM ($0.50 contract price). Source: Kalshi published fee schedule. Fees are capped at price extremes."
queries:
p50: pm_fee_taker_bps{venue="kalshi"}
p90: pm_fee_taker_bps{venue="kalshi"}
p99: pm_fee_taker_bps{venue="kalshi"}
mean: pm_fee_taker_bps{venue="kalshi"}
p50: pm_fee_taker_bps{venue="kalshi"} / 100
p90: pm_fee_taker_bps{venue="kalshi"} / 100
p99: pm_fee_taker_bps{venue="kalshi"} / 100
mean: pm_fee_taker_bps{venue="kalshi"} / 100
success: vector(1)
sample_size: vector(1)
series: pm_fee_taker_bps{venue="kalshi"}
series: pm_fee_taker_bps{venue="kalshi"} / 100

- slug: limitless
name: Limitless
tag: Live half-spread from active USDC markets, refreshed hourly
formula: "Median half-spread in bps across active USDC binary markets, computed from tradePrices.buy.market[0] and tradePrices.sell.market[0]. Half-spread = ((ask - bid) / 2) × 10000. Refreshed hourly."
queries:
p50: pm_fee_taker_bps{venue="limitless"}
p90: pm_fee_taker_bps{venue="limitless"}
p99: pm_fee_taker_bps{venue="limitless"}
mean: pm_fee_taker_bps{venue="limitless"}
p50: pm_fee_taker_bps{venue="limitless"} / 100
p90: pm_fee_taker_bps{venue="limitless"} / 100
p99: pm_fee_taker_bps{venue="limitless"} / 100
mean: pm_fee_taker_bps{venue="limitless"} / 100
success: pm_fee_last_refresh_seconds{venue="limitless"} > bool 0
sample_size: vector(1)
series: pm_fee_taker_bps{venue="limitless"}
series: pm_fee_taker_bps{venue="limitless"} / 100

- slug: manifold
name: Manifold
tag: Play-money (mana), no real-money fee, included for completeness
formula: "0 bps. Manifold uses play-money (mana) only. No real capital is at risk and no real fee is charged."
queries:
p50: pm_fee_taker_bps{venue="manifold"}
p90: pm_fee_taker_bps{venue="manifold"}
p99: pm_fee_taker_bps{venue="manifold"}
mean: pm_fee_taker_bps{venue="manifold"}
p50: pm_fee_taker_bps{venue="manifold"} / 100
p90: pm_fee_taker_bps{venue="manifold"} / 100
p99: pm_fee_taker_bps{venue="manifold"} / 100
mean: pm_fee_taker_bps{venue="manifold"} / 100
success: vector(1)
sample_size: vector(1)
series: pm_fee_taker_bps{venue="manifold"}
series: pm_fee_taker_bps{venue="manifold"} / 100

- slug: myriad
name: Myriad
tag: Protocol fee on settlement, single-region US East
formula: "200 bps (2% protocol settlement fee). Source: Myriad published protocol documentation."
queries:
p50: pm_fee_taker_bps{venue="myriad"}
p90: pm_fee_taker_bps{venue="myriad"}
p99: pm_fee_taker_bps{venue="myriad"}
mean: pm_fee_taker_bps{venue="myriad"}
p50: pm_fee_taker_bps{venue="myriad"} / 100
p90: pm_fee_taker_bps{venue="myriad"} / 100
p99: pm_fee_taker_bps{venue="myriad"} / 100
mean: pm_fee_taker_bps{venue="myriad"} / 100
success: vector(1)
sample_size: vector(1)
series: pm_fee_taker_bps{venue="myriad"}
series: pm_fee_taker_bps{venue="myriad"} / 100

faq:
- q: "What is the Polymarket trading fee?"
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/pm-geographic-access.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ prometheus:
window: 24h
expected_freshness_seconds: 1800

rank_matrix_query: 100 * label_replace(avg_over_time(pm_geo_accessible[1h]), "provider", "$1", "venue", "(.+)")
rank_matrix_query: 100 * label_replace(avg by (venue) (avg_over_time(pm_geo_accessible[1h])), "provider", "$1", "venue", "(.+)")

dimensions:
region:
Expand Down
Loading