Strike Round
curl --request GET \
--url https://codex-api.nomos.trade/v1/strikes \
--header 'Authorization: Bearer <token>'import requests
url = "https://codex-api.nomos.trade/v1/strikes"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://codex-api.nomos.trade/v1/strikes', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"slug": "btc-updown-15m-1790856000",
"asset": "btc",
"timeframe": "15m",
"start": 1790856000,
"end": 1790856900,
"conditionId": "0x6b0e5a1c9d2f3e4b5a6c7d8e9f0a1b2c3d4e5f60718293a4b5c6d7e8f9a0b1c2",
"method": "twap",
"twapWindowSeconds": 60,
"state": "settled",
"strike": 112384.21,
"strikeSource": "primary+endpoint",
"acceptedMs": 2410,
"captured": 112384.21,
"endpoint": 112384.21,
"close": 112502.9,
"checks": {
"priceToBeat": 112384.21,
"strikeMatches": true,
"onchainUp": true,
"outcomeMatches": true
},
"backfilled": false,
"updatedAt": "2026-10-01T13:15:22.104Z"
}{
"error": "give slug, or asset + tf (5m 15m 4h 1h 1d) + start (unix seconds)"
}{
"error": "unknown or revoked API key"
}{
"error": "round not recorded"
}{
"error": "rate limit: 600 requests a minute; retry in 1 s"
}Crypto Strikes
Strike Round
The price to beat of one of Polymarket’s crypto Up/Down rounds (BTC, ETH, SOL, XRP, DOGE, BNB, HYPE, ZEC), by its slug or by asset, timeframe and start. strike is set once the round is confirmed or settled.
GET
/
v1
/
strikes
Strike Round
curl --request GET \
--url https://codex-api.nomos.trade/v1/strikes \
--header 'Authorization: Bearer <token>'import requests
url = "https://codex-api.nomos.trade/v1/strikes"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://codex-api.nomos.trade/v1/strikes', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"slug": "btc-updown-15m-1790856000",
"asset": "btc",
"timeframe": "15m",
"start": 1790856000,
"end": 1790856900,
"conditionId": "0x6b0e5a1c9d2f3e4b5a6c7d8e9f0a1b2c3d4e5f60718293a4b5c6d7e8f9a0b1c2",
"method": "twap",
"twapWindowSeconds": 60,
"state": "settled",
"strike": 112384.21,
"strikeSource": "primary+endpoint",
"acceptedMs": 2410,
"captured": 112384.21,
"endpoint": 112384.21,
"close": 112502.9,
"checks": {
"priceToBeat": 112384.21,
"strikeMatches": true,
"onchainUp": true,
"outcomeMatches": true
},
"backfilled": false,
"updatedAt": "2026-10-01T13:15:22.104Z"
}{
"error": "give slug, or asset + tf (5m 15m 4h 1h 1d) + start (unix seconds)"
}{
"error": "unknown or revoked API key"
}{
"error": "round not recorded"
}{
"error": "rate limit: 600 requests a minute; retry in 1 s"
}Authorizations
Your API key: codex_ and 48 hex characters.
Query Parameters
The market slug. Wins over the others.
btc, eth, sol, xrp, doge, bnb, hype, zec.
Timeframe.
Available options:
5m, 15m, 1h, 4h, 1d Round start, unix seconds.
Response
OK
Unix seconds.
Unix seconds.
twap (Chainlink TWAP) or binance (candle open).
Available options:
scheduled, open, captured, confirmed, settled, disagree, missed The price to beat, USD.
Milliseconds after the start when the strike was accepted.
Codex's own capture.
Polymarket's published open.
The close.
Show child attributes
Show child attributes
ISO-8601.