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.