Quick Markets

15-minute auto-expiring price prediction markets for BTC, ETH, and other assets.

Get Active Quick Market

Returns the currently active quick market for an asset.

GET /api/v1/quick-markets/{asset}

Path Parameters

ParameterTypeDescription
assetstringAsset symbol (e.g., BTC, ETH)

Response (Active Market)

{
  "active": true,
  "asset": "BTC",
  "quickMarket": {
    "id": 42,
    "marketId": "0x...",
    "asset": "BTC",
    "intervalMinutes": 15,
    "startPrice": 9750000000000,
    "startTime": 1735689000,
    "endTime": 1735689900,
    "resolved": false,
    "priceSource": "pyth",
    "createdAt": 1735689000
  },
  "bestAskPrice": 450000
}
FieldTypeDescription
activeboolWhether there is a currently active market
quickMarket.marketIdstringMarket ID for placing orders
quickMarket.startPriceint64Strike price at market creation (asset prices may use 8 decimals from Pyth)
quickMarket.startTimeint64Unix timestamp when the market started
quickMarket.endTimeint64Unix timestamp when the market expires
quickMarket.resolvedboolWhether the market has been resolved
quickMarket.priceSourcestringPrice oracle source (e.g., "pyth")
bestAskPriceuint64Best YES ask from the live orderbook (6 decimals). 450000 = $0.45

Response (No Active Market)

{
  "active": false,
  "asset": "BTC",
  "nextMarket": null,
  "quickMarket": null
}

Example

curl "https://api.turbinefi.com/api/v1/quick-markets/BTC"

Get Quick Market History

Returns recent quick markets for an asset.

GET /api/v1/quick-markets/{asset}/history

Path Parameters

ParameterTypeDescription
assetstringAsset symbol (e.g., BTC)

Response

Returns up to 100 most recent quick markets.

FieldTypeDescription
endPriceint64Price at expiration (null if not yet resolved)
outcomeint0 = YES (price went up), 1 = NO (price went down). Null if not resolved.

Example

curl "https://api.turbinefi.com/api/v1/quick-markets/BTC/history"

Get Current Price

Returns the current price for an asset from the Pyth oracle.

GET /api/v1/quick-markets/{asset}/price

Path Parameters

ParameterTypeDescription
assetstringAsset symbol (e.g., BTC)

Response

FieldTypeDescription
priceint64Raw price from oracle
priceUSDfloat64Price in USD
timestampint64Unix timestamp
sourcestringOracle source URL

Example

curl "https://api.turbinefi.com/api/v1/quick-markets/BTC/price"

Get Price History

Returns historical price data for chart rendering.

GET /api/v1/quick-markets/{asset}/price-history

Path Parameters

ParameterTypeDescription
assetstringAsset symbol (e.g., BTC)

Response

Returns 20 minutes of price history.

Example

curl "https://api.turbinefi.com/api/v1/quick-markets/BTC/price-history"

Price Stream (SSE)

Server-Sent Events stream of real-time price updates.

GET /api/v1/quick-markets/{asset}/price-stream

Path Parameters

ParameterTypeDescription
assetstringAsset symbol (e.g., BTC)

Response Format

The response is a text/event-stream with JSON data events:

FieldTypeDescription
assetstringAsset symbol
priceint64Raw price
priceUSDfloat64Price in USD
timestampint64Unix timestamp in milliseconds
sourcestringPrice source ("pyth", "coinbase", "coingecko")

An initial price is sent immediately upon connection. Subsequent updates stream as new prices arrive from the oracle.

Examples

curl -N "https://api.turbinefi.com/api/v1/quick-markets/BTC/price-stream"
import sseclient
import requests

response = requests.get(
    "https://api.turbinefi.com/api/v1/quick-markets/BTC/price-stream",
    stream=True
)
client = sseclient.SSEClient(response)

for event in client.events():
    print(event.data)