Skip to main content

Public Channels

Within a channel, you can subscribe to topics needed to receive real time updates. Public channels do not require login.

Preconf Market Update​

Example Request

{
"op": "subscribe",
"args": [
{
"channel": "preconfMarketUpdate",
"marketType": "inclusionPreconf"
}
]
}

Example Response

{
"e": "preconfMarketUpdate",
"E": 1744684899022,
"s": "ETH-PC-603410",
"a": "NewEpoch",
"P": {
"m": 1000000603410,
"T": "inclusionPreconf",
"s": 603410,
"i": "ETH-PC-603410",
"n": "Eth Preconf Inclusion Slot #603410",
"M": 1744685494000,
"f": 1744686266000,
"b": 1744685498000,
"q": "1",
"mQ": "1",
"MQ": "36000000",
"PS": "0.00000000001",
"mP": "0.00000000001",
"MP": "0.00001",
"C": "3.99996",
"A": 36000000,
"r": 0,
"S": 0,
"e": 1,
"a": 1744685496000,
"c": 1744684899000,
"u": 1744684899000,
"tp": 36000000
}
}

Request​

NameTypeDescription
opstringe.g.subscribe
argsobjectArguments
└channelstringchannel name, e.g. preconfMarketUpdate`
└marketTypestringMarket type, e.g., inclusionPreconf`.

Response Body​

NameTypeDescription
estringEvent type, e.g.preconfMarketUpdate
EintegerEvent time in milliseconds.
sstringInstrument ID of the market, e.g.ETH-PC-42093.
astringAction type, e.g.NewEpoch
PobjectPayload data containing market details.
└mintegerMarket ID.
└TstringMarket type, e.g.inclusionPreconf
└sintegerSlot ID.
└istringInstrument ID.
└nstringMarket name, e.g.Eth Preconf Inclusion Slot #42093.
└MintegerMarket expiry time in milliseconds.
└aintegerBundle submission deadline in milliseconds. (Optional)
└fintegerBlock finality time in milliseconds.
└bintegerBlock time in milliseconds.
└mQstringMinimum order quantity allowed in the market. (Optional)
└MQstringMaximum order quantity allowed in the market. (Optional)
└qstringPrecision step of order quantity. (Optional)
└PSstringPrecision step of order price.
└mPstringMinimum price allowed in the market.
└MPstringMaximum price allowed in the market.
└pstringLast traded price of the market
└PCfloatPrice change percentage.
└dbooleanMarket direction.
└BBstringBest bid price.
└BAstringBest ask price.
└ostringOpen price.
└CstringCollateral per slot in ETH.
└AintegerAvailable preconf for sale.
└rintegerBlock owner reserved preconf not for sale.
└SintegerBlock owner submitted preconf not for sale.
└eintegerMarket status.
└cintegerMarket Creation time in milliseconds.
└uintegerLast market update time in milliseconds.
└tpintegerTotal amount of preconf allowed to sell in the market
Notes​
  • Market Status: Thee field is the market status code (see Market Status Codes).
  • Precision Values: Prices and quantities are represented with high precision for accurate calculations.
  • Timestamp Fields: All timestamps are in milliseconds since the Unix epoch.

Candlestick Update​

Example Request

{
"op": "subscribe",
"args": [
{
"channel": "candlestickUpdate",
"marketType": "inclusionPreconf"
}
]
}

Example Response

{
"e": "candlestickUpdate",
"E": 1736742241012,
"s": "ETH-PC-117",
"P": {
"I": "ETH-PC-117",
"m": 1000000000117,
"t": 1736742240000,
"i": 1000,
"o": "0",
"h": "0",
"l": "0",
"c": "0",
"v": "0",
"F": true
}
}

Request​

NameTypeDescription
opstringe.g.subscribe
argsobjectArguments
└channelstringChannel name, e.g., candlestickUpdate`.
└marketTypestringMarket type, e.g., inclusionPreconf`.

Response Body​

NameTypeDescription
estringEvent type, e.g.candlestickUpdate.
EintegerEvent timestamp in milliseconds.
sstringInstrument ID of the market, e.g., ETH-PC-117`.
PobjectPayload data containing market price history details.
└IstringInstrument ID, e.g., ETH-PC-117`.
└mintegerMarket ID.
└tintegerTimestamp of the price data in milliseconds.
└iintegerInterval of the candlestick in milliseconds.
└ostringOpen price during the interval.
└hstringHigh price during the interval.
└lstringLow price during the interval.
└cstringClose price during the interval.
└vstringVolume during the interval.
└FbooleanIndicates if the data is final (true) or incomplete (false).
Notes​
  • Finalized Data: TheF field indicates whether the price history data is finalized or still being updated.
  • Precision Values: Prices and volumes are represented with high precision for accurate calculations.
  • Timestamp Fields: All timestamps are in milliseconds since the Unix epoch.

Recent Trades Update​

Example Request

{
"op": "subscribe",
"args": [
{
"channel": "recentTradeUpdate",
"marketType": "inclusionPreconf"
}
]
}

Example Response

{
"e": "recentTradeUpdate",
"E": 1739528277074,
"s": "ETH-PC-173649",
"P": {
"i": "ETH-PC-173649",
"p": "0.00000000006",
"q": "1702005",
"s": true,
"d": 1739528277070,
"t": 683198
}
}

Request​

NameTypeDescription
opstringe.g.subscribe
argsobjectArguments
└channelstringChannel name, e.g.,recentTradeUpdate
└marketTypestringMarket type, e.g.,inclusionPreconf.

Response Body​

NameTypeDescription
estringEvent type, e.g.,recentTradeUpdate.
EintegerEvent timestamp in milliseconds.
sstringInstrument ID.
PobjectPayload data containing recent trades details.
└istringInstrument ID .
└pstringTraded price of the trade
└qstringTraded quantity of the trade
└sintegerTrading side of taker
└dintegerTimestamp of the trade in milliseconds.
└tintegerTrade index.
Notes​
  • Trades Index: Thet field shows current index of the trade. It is independent in each websocket connection.
  • Timestamp Fields: All timestamps are in milliseconds since the Unix epoch.

Order Book Update​

Example Request

{
"op": "subscribe",
"args": [
{
"channel": "orderBookUpdate",
"marketType": "inclusionPreconf"
}
]
}

Example Response

{
"e": "orderBookUpdate",
"E": 1736751224943,
"s": "ETH-PC-863",
"P": {
"a": [],
"b": [
{
"p": "0.00000000005",
"q": "5861476"
}
],
"I": "ETH-PC-863",
"t": 1736751224941
}
}

Request​

NameTypeDescription
opstringe.g.subscribe
argsobjectArguments
└channelstringChannel name, e.g.,orderBookUpdate.
└marketTypestringMarket type, e.g.,inclusionPreconf.

Response Body​

NameTypeDescription
estringEvent type, e.g.,orderBookUpdate.
EintegerEvent timestamp in milliseconds.
sstringInstrument ID of the market, e.g.,ETH-PC-863.
PobjectPayload data containing order book details.
└aarrayList of ask orders (empty in the example).
└barrayList of bid orders.
└└pstringPrice of the bid order.
└└qstringQuantity of the bid order.
└IstringInstrument ID, e.g.,ETH-PC-863.
└tintegerTimestamp of the order book update in milliseconds.
Notes​
  • Instrument ID: TheI field represents the specific market instrument being updated.
  • Order Details: Thea field contains ask orders, and theb field contains bid orders, each with a price (p) and quantity (q).
  • Timestamp Fields: All timestamps are in milliseconds since the Unix epoch.

Ticker Update​

Example Request

{
"op": "subscribe",
"args": [
{
"channel": "tickerUpdate",
"marketType": "inclusionPreconf"
}
]
}

Example Response

{
"e": "tickerUpdate",
"E": 1743667424734,
"s": "ETH-PC-518598",
"P": {
"d": false,
"p": "0.00000000002",
"b": "0.00000000002",
"M": "0.00000000002",
"A": 18855242,
"g": 17144758,
"P": 1.0,
"u": 1743667299000
}
}

Request​

NameTypeDescription
opstringe.g.subscribe
argsobjectArguments
└channelstringChannel name, e.g.,tickerUpdate.
└marketTypestringMarket type, e.g.,inclusionPreconf.

Response Body​

NameTypeDescription
estringEvent type, e.g.,tickerUpdate.
EintegerEvent timestamp in milliseconds.
sstringInstrument ID of the market, e.g.,ETH-PC-856.
PobjectPayload data containing market information.
└dbooleanMarket direction (true for buy,false for sell).
└pstringLast traded price.
└bstringBest bid price.
└astringBest ask price.
└MstringMid price in orderbook.
└AstringAvailable preconf gas amount in the slot.
└gstringTotal gas purchased in the market. (optional)
└PstringPercentage price change in the market.
└uintegerTimestamp of the last update in milliseconds.
Notes​
  • Price Details: Includes last trade price (p), best bid (b), ask (a) prices, and mid (M) prices.
  • Timestamp Fields: All timestamps are in milliseconds since the Unix epoch.

Inclusion Preconf Top Sales​

Example Request

{
"op": "subscribe",
"args": [
{
"channel": "inclusionPreconfSaleUpdate"
}
]
}

Example Response

{
"e": "inclusionPreconfSaleUpdate",
"E": 1739765044256,
"P": {
"s": 193373,
"g": "11288799",
"S": [
{
"p": "0.0000000001",
"q": "11078799"
}
]
}
}

Request​

NameTypeDescription
opstringe.g.subscribe
argsobjectArguments
└channelstringChannel name, e.g.,inclusionPreconfSaleUpdate.

Response Body​

NameTypeDescription
estringEvent type, e.g.,inclusionPreconfSaleUpdate.
EintegerEvent timestamp in milliseconds.
PobjectPayload data containing block builder update details.
└sintegerslot
└gstringgas purchased
└Sarrayarray of top 10 preconf sales
└└pstringpurchased gas price
└└qstringgas unit
Notes​
  • Slot ID: Thes field represents the current slot being updated.
  • Timestamp Fields: All timestamps are in milliseconds since the Unix epoch.

Block Builder Update​

Example Request

{
"op": "subscribe",
"args": [
{
"channel": "blockBuilderUpdate"
}
]
}

Example Response

{
"e": "blockBuilderUpdate",
"E": 1739527942002,
"a": "MarketExpiry",
"P": {
"s": 173614,
"p": "0x00000000000000000000000000000000caf14edec47d16536506af7a6d69eac6b1a66a042205f7ca768655a481038ae5",
"f": "0xa1885d66bef164889a2e35845c3b626545d7b0e513efe335e97c3a45e534013fa3bc38c3b7e6143695aecc4872ac52c4"
}
}

Request​

NameTypeDescription
opstringe.g.subscribe
argsobjectArguments
└channelstringChannel name, e.g.,blockBuilderUpdate.

Response Body​

NameTypeDescription
estringEvent type, e.g.,blockBuilderUpdate
EintegerEvent timestamp in milliseconds.
aintegerAction type. e.g.MarketExpiry
PobjectPayload data containing block builder update details.
└sintegerslot ID.
└pstringBuilder public key of corresponding slot
└fstringFallback builder public key
Notes​
  • Slot ID: Thes field represents the current slot being updated.
  • Timestamp Fields: All timestamps are in milliseconds since the Unix epoch.