Show prediction market odds in your Mac menu bar

An election, a launch date, a rate decision: if there’s a market on it, its price is the crowd’s probability. Both Polymarket and Kalshi publish prices without a login.

Recipe tested October 29, 2026 with Multimeter 1.1. Source: Web Address.

Preview: the Ring face and two alternatives, with sample values like the ones this recipe returns.

What you need

  • Multimeter for macOS 13 or later, $19.99 once.
  • The market’s slug (Polymarket: the last part of the market’s address) or ticker (Kalshi: shown on the market page).

Set it up

  1. Polymarket: add a Web Address meter with the slug in the address and the key path 0.outcomePrices. The reply holds the prices as text, like ["0.925", "0.075"]; Multimeter reads the first, the price of Yes.
    Web address
    https://gamma-api.polymarket.com/markets?slug=MARKET-SLUG
  2. Kalshi: use the market address with the key path market.last_price_dollars.
    Web address
    https://api.elections.kalshi.com/trade-api/v2/markets/TICKER
  3. Set the range to 0 to 1 so a Ring or Pie fills to the odds, and refresh every 5 minutes.

Multimeter settings

In Customize This Meter… (from the meter’s menu):

Settings for this meter
SettingValue
SourceWeb Address
Web addressone of the two above
Key path0.outcomePrices (Polymarket) or market.last_price_dollars (Kalshi)
Refresh every5 minutes
Range0 to 1
Labela short name for the question
FacePie, Ring or Sparkline

Tested: Run on October 29, 2026: a Polymarket House control market returned 0.925; Kalshi’s KXWARMING-50 returned 0.70.

More on this source, including every format it reads, in the Web Address guide.

Limits

  • The value is a price from 0 to 1: 0.62 means the market puts Yes at about 62%.

Troubleshooting

What the meter says, why, and what to do
SymptomCauseFix
No number found in the responseThe key path doesn’t match the reply.Run curl -s with the address and read the JSON. Dots walk into objects, numbers pick array items (items.0.count).
Couldn’t reach the addressNo network, a typo in the host, or the service is down.Open the address in your browser. Multimeter tries again at the next refresh.
No number found for PolymarketThe slug is an event with several markets, not a single market.Open the specific outcome on polymarket.com and use the slug from that page.

Questions

Why does a Kalshi market show 0?

It has had no trades yet. Use market.yes_bid_dollars for the current bid instead.

Related

Put it in your menu bar

$19.99 one-time. No subscription. Needs macOS 13 Ventura or later.