Skip to main content

REST · Markets

시장 데이터는 모두 public (인증 불필요) 엔드포인트입니다.

#GET /v1/markets

GET/v1/marketsPublic

시장 목록 (필터링, 정렬, 페이지네이션 지원).

#Query parameters

NameTypeDescriptionDefault
status"ACTIVE" | "RESOLVED" | "CANCELLED" | "LOCKED" | "PENDING"상태로 필터링.ACTIVE
category"CRYPTO" | "SPORTS" | "POLITICS" | "ENTERTAINMENT" | "SCIENCE" | "FINANCE" | "OTHER"카테고리로 필터링.
qstring키워드 검색 (질문, 설명, 태그 대상).
sortBy"VOLUME" | "LIQUIDITY" | "CREATED" | "TRENDING" | "ENDING"정렬 기준.CREATED
sortOrder"ASC" | "DESC"정렬 방향.DESC
limitnumber (1..100)한 페이지에 반환할 항목 수.20
offsetnumber (≥0)건너뛸 항목 수.0

#Response 200

{
  "markets": [
    {
      "id": "uuid",
      "slug": "btc-100k-by-eoy",
      "question": "BTC 가 12월 31일까지 10만 달러를 돌파할까?",
      "description": "...",
      "category": "CRYPTO",
      "type": "BINARY",
      "status": "ACTIVE",
      "trading_starts_at": "2026-01-01T00:00:00Z",
      "trading_ends_at": "2026-12-31T23:59:59Z",
      "resolution_date": null,
      "winning_outcome_id": null,
      "platform_fee": 200,
      "spread": 0.01,
      "image_url": "https://conviction-image.s3.amazonaws.com/...",
      "tags": ["bitcoin", "macro"],
      "views": 12345,
      "verified": true,
      "featured": false,
      "created_at": "2026-01-15T10:00:00Z",
      "updated_at": "2026-04-20T03:21:00Z",
      "outcomes": [
        {
          "id": "uuid",
          "name": "Yes",
          "side": "YES",
          "index": 0,
          "probability": 0.42,
          "condition_id": "0x...",
          "position_id": "53...long-int..."
        },
        {
          "id": "uuid",
          "name": "No",
          "side": "NO",
          "index": 1,
          "probability": 0.58,
          "condition_id": "0x...",
          "position_id": "98...long-int..."
        }
      ]
    }
  ],
  "total": 347,
  "limit": 20,
  "offset": 0
}

#예시

curl 'https://api.conviction.bet/v1/markets?status=ACTIVE&category=CRYPTO&sortBy=VOLUME&limit=10'

#GET /v1/markets/{id}

GET/v1/markets/\{id\}Public

UUID 로 단일 시장 조회.

#Path parameters

NameTypeDescriptionDefault
id*uuid시장 ID.

#Response 200

위 list 응답의 한 항목과 동일한 형식 (단일 객체).

#Errors

  • 404 — 시장이 존재하지 않음

#GET /v1/markets/slug/{slug}

GET/v1/markets/slug/\{slug\}Public

URL-friendly slug 로 단일 시장 조회.

#Path parameters

NameTypeDescriptionDefault
slug*string시장 slug. 예: "btc-100k-by-eoy"

#Response 200

위와 동일.


#GET /v1/markets/{id}/orderbook

GET/v1/markets/\{id\}/orderbookPublic

특정 결과의 호가창.

#Path parameters

NameTypeDescriptionDefault
id*uuid시장 ID.

#Query parameters

NameTypeDescriptionDefault
outcomeId*string결과 토큰 ID. /v1/markets/{id} 응답의 outcomes[].id

#Response 200

{
  "outcome_id": "uuid",
  "outcome_side": "YES",
  "bids": [
    { "price": "0.42", "shares": "1234.5" },
    { "price": "0.41", "shares": "899.0" }
  ],
  "asks": [
    { "price": "0.45", "shares": "567.2" },
    { "price": "0.46", "shares": "880.1" }
  ]
}
필드의미
bids매수 호가, 가격 내림차순 (가장 높은 것이 첫 번째)
asks매도 호가, 가격 오름차순 (가장 낮은 것이 첫 번째)
price0..1 의 string
sharesUI 표시용 float string

#GET /v1/markets/slug/{slug}/orderbook

GET/v1/markets/slug/\{slug\}/orderbookPublic

slug 로 호가창 조회. 위와 같은 응답 형식.


#GET /v1/markets/{id}/prices-history

GET/v1/markets/\{id\}/prices-historyPublic

결과의 시계열 가격 (캔들 / 라인 차트용).

#Query parameters

NameTypeDescriptionDefault
outcomeId*string결과 ID.
startTsunix seconds시작 시각.
endTsunix seconds종료 시각.
fidelityminutes (1, 5, 15, 60, ...)버킷 크기.1

#Response 200

{
  "history": [
    { "t": 1740000000, "p": 0.41 },
    { "t": 1740000060, "p": 0.42 },
    { "t": 1740000120, "p": 0.43 }
  ]
}
필드의미
tunix seconds
p해당 버킷의 마지막 거래 가격 (0..1 float)

#GET /v1/markets/slug/{slug}/prices-history

GET/v1/markets/slug/\{slug\}/prices-historyPublic

slug 로 시계열 조회. 같은 응답 형식.


#다음

이 페이지가 도움이 되었나요?