List markets

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://bump.sh/tie-tech/hub/b2b-api/doc/broker-openapi/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "broker-openapi MCP server": {
    "url": "https://bump.sh/tie-tech/hub/b2b-api/doc/broker-openapi/mcp"
  }
}

Close
GET /markets

List markets with optional filtering and pagination.

Timestamp filters are mutually exclusive. Only ONE set of timestamp filters can be used per request:

  • min_created_ts, max_created_ts – filter by creation time;
  • min_close_ts, max_close_ts – filter by close time;
  • min_settled_ts, max_settled_ts – filter by settlement time. Using multiple timestamp filter sets (e.g., both created and closed) will result in 400 Bad Request

Headers

  • PRE-ACCESS-KEY string Required

    Broker access key identifier.

    Format should match the following pattern: ^[A-Za-z0-9._~-]{1,64}$.

  • PRE-ACCESS-SIGNATURE string Required

    Keyed BLAKE2b-256 signature (hex lowercase, 64 characters).

    Format should match the following pattern: ^[0-9a-f]{64}$.

  • PRE-ACCESS-TIMESTAMP string(date-time) Required

    RFC3339 timestamp with milliseconds (e.g., 2025-10-30T06:00:34.075Z). Must be within clock_skew_tolerance (default 5m) of server time.

Query parameters

  • limit integer

    Minimum value is 1, maximum value is 100. Default value is 50.

  • cursor string

    Opaque pagination cursor

  • event_id string
  • min_created_ts integer(int64)

    Minimum creation timestamp (Unix milliseconds).

  • max_created_ts integer(int64)

    Maximum creation timestamp (Unix milliseconds).

  • min_close_ts integer(int64)

    Minimum close timestamp (Unix milliseconds).

  • max_close_ts integer(int64)

    Maximum close timestamp (Unix milliseconds).

  • min_settled_ts integer(int64)

    Minimum settlement timestamp (Unix milliseconds).

  • max_settled_ts integer(int64)

    Maximum settlement timestamp (Unix milliseconds).

  • status string

    Values are unopened, pre-open, active, suspended, closed, or settled.

  • market_ids string

    Comma-separated list of market IDs

  • lang array[string]

    Language codes to filter localized content (repeatable). If omitted, all available locales are returned.

    Values are en, pt, or id.

Responses

  • 200 application/json

    Page of markets

    Hide response attributes Show response attributes object
    • markets array[object] Required
      Hide markets attributes Show markets attributes object
      • market_id string Required
      • event_id string Required
      • market_index integer Required

        Index of the market within the event (e.g., 0-5 for 6 markets)

      • title object Required

        Localized text content. When lang filter is applied, only requested locales are included. When lang filter is omitted, all available locales (en, pt, id) are included.

        Hide title attributes Show title attributes object
        • en string
        • pt string
        • id string
      • yes_sub_title object

        Localized text content. When lang filter is applied, only requested locales are included. When lang filter is omitted, all available locales (en, pt, id) are included.

        Hide yes_sub_title attributes Show yes_sub_title attributes object
        • en string
        • pt string
        • id string
      • no_sub_title object

        Localized text content. When lang filter is applied, only requested locales are included. When lang filter is omitted, all available locales (en, pt, id) are included.

        Hide no_sub_title attributes Show no_sub_title attributes object
        • en string
        • pt string
        • id string
      • lower_inclusive boolean

        Whether lower_bound is inclusive in the range

      • upper_inclusive boolean

        Whether upper_bound is inclusive in the range

      • status string Required
        • unopened: created, not initialized in CLOB
        • pre-open: loaded in CLOB (MM can already place liquidity)
        • suspended: market open, but new orders are temporarily declined
        • active: market open for order acceptance
        • closed: closed, awaiting resolution; trading stopped, orders no longer accepted
        • settled: market resolved, payouts completed
        • voided: market cancelled, contracts refunded

        Values are unopened, pre-open, active, suspended, closed, settled, or voided.

      • status_revision integer(int64) Required

        Monotonic revision of the market status from Event Service

      • result string Required

        Written when the event resolves, so it appears before the market reaches settled.

        • yes: YES is the winner
        • no: NO is the winner
        • empty: no result yet, or the market was voided

        Values are yes, no, or .

      • created_at string(date-time) Required
      • opens_at string(date-time) Required
      • closes_at string(date-time) Required
      • expected_expiration_time string(date-time) Required
      • settlement_timer_seconds integer(int32) Required

        The amount of time after determination that the market settles

      • can_close_early boolean Required
      • early_close_condition string | null
      • strike_type string Required

        Determines how the market strike is defined and evaluated

        Values are greater, greater_or_equal, less, less_or_equal, between, or custom.

      • floor_strike object

        Minimum expiration value that leads to a YES settlement

        Hide floor_strike attributes Show floor_strike attributes object
        • units integer(int64) Required
        • nanos integer(int32) Required

          Minimum value is -999999999, maximum value is 999999999.

      • cap_strike object

        Maximum expiration value that leads to a YES settlement

        Hide cap_strike attributes Show cap_strike attributes object
        • units integer(int64) Required
        • nanos integer(int32) Required

          Minimum value is -999999999, maximum value is 999999999.

      • custom_strike string | null

        Expiration value that leads to a YES settlement when strike_type=custom

      • expiration_value string | null

        The asset value that was used for determination and settlement. Not necessarily a price, and not always numeric: it carries whatever value the settlement source publishes for the outcome.

      • settlement_price object

        Final settlement price of the YES contract

        Hide settlement_price attributes Show settlement_price attributes object
        • units integer(int64) Required
        • nanos integer(int32) Required

          Minimum value is -999999999, maximum value is 999999999.

    • cursor string | null
  • 400 application/json

    Validation / semantic error

    Hide response attributes Show response attributes object
    • error_code string Required
    • message string Required
    • details object

      Additional properties are allowed.

  • 404 application/json

    Resource not found

    Hide response attributes Show response attributes object
    • error_code string Required
    • message string Required
    • details object

      Additional properties are allowed.

  • 503 application/json

    Backpressure / temporary unavailability

    Hide response attributes Show response attributes object
    • error_code string Required
    • message string Required
    • details object

      Additional properties are allowed.

GET /markets
curl \
 --request GET 'https://api.example.com/v1/markets' \
 --header "PRE-ACCESS-KEY: string" \
 --header "PRE-ACCESS-SIGNATURE: string" \
 --header "PRE-ACCESS-TIMESTAMP: 2026-05-04T09:42:00Z"
Response examples (200)
{
  "markets": [
    {
      "market_id": "string",
      "event_id": "string",
      "market_index": 42,
      "title": {
        "en": "string",
        "pt": "string",
        "id": "string"
      },
      "yes_sub_title": {
        "en": "string",
        "pt": "string",
        "id": "string"
      },
      "no_sub_title": {
        "en": "string",
        "pt": "string",
        "id": "string"
      },
      "lower_inclusive": true,
      "upper_inclusive": true,
      "status": "unopened",
      "status_revision": 42,
      "result": "yes",
      "created_at": "2026-05-04T09:42:00Z",
      "opens_at": "2026-05-04T09:42:00Z",
      "closes_at": "2026-05-04T09:42:00Z",
      "expected_expiration_time": "2026-05-04T09:42:00Z",
      "settlement_timer_seconds": 42,
      "can_close_early": true,
      "early_close_condition": "string",
      "strike_type": "greater",
      "floor_strike": {
        "units": 42,
        "nanos": 42
      },
      "cap_strike": {
        "units": 42,
        "nanos": 42
      },
      "custom_strike": "string",
      "expiration_value": "string",
      "settlement_price": {
        "units": 42,
        "nanos": 42
      }
    }
  ],
  "cursor": "string"
}
Response examples (400)
{
  "error_code": "string",
  "message": "string",
  "details": {}
}
Response examples (404)
{
  "error_code": "string",
  "message": "string",
  "details": {}
}
Response examples (503)
{
  "error_code": "string",
  "message": "string",
  "details": {}
}