Skip to content

outcomePrices in events.retrieve returns bid/ask spread, not per-outcome mid-prices #5

@jasonwdon

Description

@jasonwdon

SDK Version

0.1.2

Python Version

3.11.4

Operating System

macOS

Description

The outcomePrices field returned by client.events.retrieve() does not contain per-outcome prices. Instead, it contains a bid/ask pair (best bid and best ask from the order book), making the field name misleading and inconsistent with client.markets.retrieve(), which correctly returns a mid-price per outcome that sums to ~1.

Steps to Reproduce

from polymarket_us import PolymarketUS

client = PolymarketUS(key_id=..., secret_key=...)

event = client.events.retrieve(16521)  # Netherlands vs. Japan
markets = event['event']['markets']

market = markets[1]  # a spread/total/prop market
print(market['outcomes'])       # '["No","Yes"]'
print(market['outcomePrices'])  # '["0.2700","0.2800"]' — sums to 0.55, not ~1

# Compare with markets.retrieve for the same market
full = client.markets.retrieve(market['id'])
print(full['market']['outcomePrices'])  # e.g. '["0.7250","0.2750"]' — sums to 1

Expected Behavior

outcomePrices returns one price per outcome ([noPrice, yesPrice]) summing to approximately 1, consistent with markets.retrieve.

Actual Behavior

outcomePrices returns two values that appear to be the best bid and ask for a single outcome token (e.g., ["0.2700", "0.2800"]), summing to ~0.55 instead of ~1. The field is misleading as it does not reflect the probability/price of each outcome.

Code Sample

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions