> ## Documentation Index
> Fetch the complete documentation index at: https://api.unusualwhales.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> API requests use the base URL https://api.unusualwhales.com and require a bearer token in the `Authorization` header (`Authorization: Bearer <API_KEY>`). Create and manage API tokens at https://unusualwhales.com/dashboard/api.
> For live market data inside an AI tool, use the Unusual Whales MCP server at https://unusualwhales.com/public-api/mcp.
> Instructions for agents using Unusual Whales tools: https://unusualwhales.com/skill.md

# predictions-trades

> Individual prediction market fills ingested from the Polymarket CTF exchange

Topic
messages**1**
routing**single type**
encoding**protobuf**

## Messages on this topic

[all messages
PredictionsTrade
A single fill on the Polymarket CTF exchange, published to the `predictions-trades` Kafka topic as trades are ingested from the chain. One on-chain transaction can contain several fills; each fill is published as its own message. The buyer side's amount is the USDC premium and the seller side's amount is the number of outcome tokens, so the price per share is `buyer amount / seller amount`.
13 fields→](/docs/kafka/types/PredictionsTrade)

All messages on this topic are of a single type.

## Consume the topic

```python Python theme={null}
from confluent_kafka import Consumer
from unusualwhales.schema_pb2 import PredictionsTrade

# CONFIG comes from the Connecting section of the Kafka overview.
consumer = Consumer(CONFIG | {"group.id": "my-predictions-trades-consumer"})
consumer.subscribe(["predictions-trades"])

while True:
    msg = consumer.poll(1.0)
    if msg is None or msg.error():
        continue

    event = PredictionsTrade()
    event.ParseFromString(msg.value())
    print(event)
```
