Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.miramarket.org/llms.txt

Use this file to discover all available pages before exploring further.

A recurring market is an auto-rolling family of markets. Use it when you want a strategy to follow the current live market in a repeated series, such as an hourly or daily market.

When to use recurring markets

Use recurring markets when the market identity changes over time, but the strategy logic should stay the same. Examples:
  • A daily crypto price market.
  • An hourly event market.
  • A repeated topic market where each period creates a new market.

Selector fields

Recurring market selectors appear in watch_selector for conditions and market_selector for actions.
FieldMeaning
recurring_tag_idNumeric tag that identifies the recurring cadence.
recurring_labelHuman-readable cadence such as 5m, 15m, 1h, 4h, or daily.
recurring_family_keyStable key for the market family.
topic_keyOptional normalized topic, such as btc or eth.
fallback_market_idMarket to use when a live replacement cannot be resolved.
auto_rollSet to true to request auto-roll behavior.

Common labels

LabelMeaning
5mFive-minute recurring market.
15mFifteen-minute recurring market.
1hHourly recurring market.
4hFour-hour recurring market.
dailyDaily recurring market.

Condition selector example

{
  "watch": {
    "venue": "POLYMARKET",
    "market_id": "btc-hourly-reference-market",
    "outcome_token": "YES",
    "watch_selector": {
      "recurring_tag_id": 102175,
      "recurring_label": "1h",
      "recurring_family_key": "series:btc-hourly",
      "topic_key": "btc",
      "fallback_market_id": "btc-hourly-reference-market",
      "auto_roll": true
    }
  },
  "signal": "IMPLIED_PROBABILITY",
  "trigger": "CROSS_ABOVE",
  "threshold": 0.55
}

Action selector example

{
  "action_type": "BUY_MARKET_OUTCOME",
  "allocation_pct": 100,
  "target": {
    "venue": "POLYMARKET",
    "market": {
      "market_id": "btc-hourly-reference-market",
      "outcome_token": "YES",
      "token_id": "1234567890",
      "market_selector": {
        "recurring_tag_id": 102175,
        "recurring_label": "1h",
        "recurring_family_key": "series:btc-hourly",
        "topic_key": "btc",
        "fallback_market_id": "btc-hourly-reference-market",
        "auto_roll": true
      }
    }
  }
}

Agent guidance

When generating recurring market strategy JSON:
  • Keep market_id as a fallback identifier.
  • Set auto_roll to true only when the strategy should follow the live member of the family.
  • Keep topic_key short and normalized, such as btc, eth, or sol.
  • Use the same selector on related condition and action targets when both should roll together.