vike

Recipe 12 of 30

Polymarket BTC Up/Down odds vs the BTC price

Pull the Up token's minute bars for one 5-minute window from /polymarket/ohlcv and BTC's minute bars for the same window from /hyperliquid/ohlcv, and line them up by ts.

GET /v1/polymarket/ohlcv gives the Up token's minute bars for one 5-minute window in one call, priced as a probability, and GET /v1/hyperliquid/ohlcv gives BTC perp minute bars over the same window, in USD. Both carry ts in epoch milliseconds, so the rows line up. Take the market from /settlements/bulk: its slug holds the window start in epoch seconds and outcomes says which token is Up. The candle parameters are on Outcome candles.

Quick answer

Ask for the Up token's minute bars across the window.

cURL
# Up's probability, minute by minute, for the 7:10-7:15 AM ET window of 2026-10-24
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/polymarket/ohlcv?token_id=49453782677730298729295238194951727156421227964664364260179136470131299796336&interval=1m&from=1792840200000&to=1792840499999"

Example response

Captured from the live API on 2026-10-24 at 17:14 UTC, trimmed to 3 of 5 bars. Over all five minutes Up closed at 0.75, 0.62, 0.86, 0.63 and 0.01, and the market settled Down. Up's volume is shares.

Example response
[
  {"close": 0.75, "high": 0.75, "low": 0.57, "open": 0.57, "trades": 123, "ts": 1792840200000, "volume": 2932.909339},
  {"close": 0.62, "high": 0.74, "low": 0.51, "open": 0.72, "trades": 91, "ts": 1792840260000, "volume": 1463.449851},
  {"close": 0.86, "high": 0.89, "low": 0.61, "open": 0.62, "trades": 210, "ts": 1792840320000, "volume": 3895.318805}
]

Variations

BTC over the same five minutes. Ask the Hyperliquid candles for the perp's minute bars; end is exclusive there. The perp opened the window at 80,655 and closed its five bars at 80,663, 80,651, 80,652, 80,649 and 80,642, 13 dollars lower. Its volume is BTC and volume_usd is dollars; the capture is trimmed to 3 of 5 bars.

cURL — BTC
# BTC perp minute bars for the same five minutes (end is exclusive here)
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/ohlcv?symbol=BTC&interval=1m&start=1792840200000&end=1792840500000&limit=5"
Response — BTC
{
  "symbol": "BTC",
  "market": "perp",
  "dex": "HL",
  "interval": "1m",
  "tz": "UTC",
  "source": "1m fills rollup",
  "candles": [
    {"ts": 1792840200000, "open": 80655.0, "high": 80668.0, "low": 80655.0, "close": 80663.0, "volume": 9.12303, "volume_usd": 735890.0269900003, "n_trades": 71},
    {"ts": 1792840260000, "open": 80662.0, "high": 80663.0, "low": 80651.0, "close": 80651.0, "volume": 0.99547, "volume_usd": 80287.83186999998, "n_trades": 63},
    {"ts": 1792840320000, "open": 80652.0, "high": 80652.0, "low": 80651.0, "close": 80652.0, "volume": 0.31463, "volume_usd": 25375.50877, "n_trades": 37}
  ],
  "asset": "BTC"
}

The winner of the window.

cURL — settlement
# the settled 5-minute BTC markets of the same hours, with the winning outcome
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/polymarket/settlements/bulk?slug_prefix=btc-updown-5m-&from_ms=1792840425357&limit=5"

ETH. The ETH family has the same slug scheme; use symbol=ETH on the perp side.

cURL — ETH perp
# ETH perp minute bars for the same window
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/ohlcv?symbol=ETH&interval=1m&start=1792840200000&end=1792840500000&limit=5"

The Down token. Down is its own series, not 1 minus Up.

cURL — Down
# Down's minute bars for the same window
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/polymarket/ohlcv?token_id=47308938681852370891240392538597346060423878069086601789592769907537520980452&interval=1m&from=1792840200000&to=1792840499999"

Before you rely on it

Two clocks, two prices

to on /polymarket/ohlcv is inclusive and end on /hyperliquid/ohlcv is exclusive, so end the first a millisecond early. A Polymarket bar exists only for a minute that traded. These markets settle on their own price source, not on the Hyperliquid perp, so a move of a few dollars on the perp does not decide one. Use the perp to see the move and /settlements for the result.

Ask your agent

Connected to the Vike MCP server (https://vike.io/mcp) in Claude, ChatGPT or Cursor, ask it in plain words. The polymarket_ohlcv tool answers, at 1 credit a call, with hl_ohlcv for BTC at 1 credit a call.

Ask your agent
Show the Up price of the Bitcoin Up or Down 7:10AM-7:15AM ET market of October 24 minute by minute next to the BTC price
Example response
[  {"close": 0.75, "high": 0.75, "low": 0.57, "open": 0.57, "trades": 123, "ts": 1792840200000, "volume": 2932.909339},  {"close": 0.62, "high": 0.74, "low": 0.51, "open": 0.72, "trades": 91, "ts": 1792840260000, "volume": 1463.449851},  {"close": 0.86, "high": 0.89, "low": 0.61, "open": 0.62, "trades": 210, "ts": 1792840320000, "volume": 3895.318805}]