Polymarket Metrics

This page explains how we calculate the metrics displayed on the Polystrat page.

Trades Executed

This metric shows the total number of trades executed by all Polystrat agents across Polymarket. The data is aggregated from the prediction market subgraph.

Query Details

We query market participants and count the total number of trades from the totalBets field in the global object.

curl -X POST https://predict-polymarket-agents.subgraph.autonolas.tech/ \
  -H "Content-Type: application/json" \
  -d '{"query":"query MarketParticipants { _page1: marketParticipants( first: 1000 skip: 0 ) { question { id } } _page2: marketParticipants( first: 1000 skip: 1000 ) { question { id } } _page3: marketParticipants( first: 1000 skip: 2000 ) { question { id } } _page4: marketParticipants( first: 1000 skip: 3000 ) { question { id } } _page5: marketParticipants( first: 1000 skip: 4000 ) { question { id } } _page6: marketParticipants( first: 1000 skip: 5000 ) { question { id } } _page7: marketParticipants( first: 1000 skip: 6000 ) { question { id } } _page8: marketParticipants( first: 1000 skip: 7000 ) { question { id } } _page9: marketParticipants( first: 1000 skip: 8000 ) { question { id } } _page10: marketParticipants( first: 1000 skip: 9000 ) { question { id } } _meta { hasIndexingErrors block { number } } global(id: \"\") { id totalBets } }"}'

Note: The value is retrieved from the totalBets field in the global object.

Markets Traded

This metric shows the total number of unique markets that Polystrat agents have participated in. We calculate this by querying market participants and counting unique market IDs.

Query Details

We query market participants in paginated batches and count unique market IDs from the question.id field.

curl -X POST https://predict-polymarket-agents.subgraph.autonolas.tech/ \
  -H "Content-Type: application/json" \
  -d '{"query":"query MarketParticipants { _page1: marketParticipants( first: 1000 skip: 0 ) { question { id } } _page2: marketParticipants( first: 1000 skip: 1000 ) { question { id } } _page3: marketParticipants( first: 1000 skip: 2000 ) { question { id } } _page4: marketParticipants( first: 1000 skip: 3000 ) { question { id } } _page5: marketParticipants( first: 1000 skip: 4000 ) { question { id } } _page6: marketParticipants( first: 1000 skip: 5000 ) { question { id } } _page7: marketParticipants( first: 1000 skip: 6000 ) { question { id } } _page8: marketParticipants( first: 1000 skip: 7000 ) { question { id } } _page9: marketParticipants( first: 1000 skip: 8000 ) { question { id } } _page10: marketParticipants( first: 1000 skip: 9000 ) { question { id } } _meta { hasIndexingErrors block { number } } global(id: \"\") { id totalBets } }"}'

Note: The query fetches market participants in paginated batches (1000 per page, 10 pages total). We then count unique market IDs to determine total markets traded.

Data Freshness

All metrics are updated periodically. A stale indicator will appear if the data hasn't been updated recently. The subgraph indexes on-chain data and may have a slight delay from real-time blockchain state.

footer bg