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
| Name | Type | Description |
|---|---|---|
op | string | e.g.subscribe |
args | object | Arguments |
└channel | string | channel name, e.g. preconfMarketUpdate` |
└marketType | string | Market type, e.g., inclusionPreconf`. |
Response Body
| Name | Type | Description |
|---|---|---|
e | string | Event type, e.g.preconfMarketUpdate |
E | integer | Event time in milliseconds. |
s | string | Instrument ID of the market, e.g.ETH-PC-42093. |
a | string | Action type, e.g.NewEpoch |
P | object | Payload data containing market details. |
└m | integer | Market ID. |
└T | string | Market type, e.g.inclusionPreconf |
└s | integer | Slot ID. |
└i | string | Instrument ID. |
└n | string | Market name, e.g.Eth Preconf Inclusion Slot #42093. |
└M | integer | Market expiry time in milliseconds. |
└a | integer | Bundle submission deadline in milliseconds. (Optional) |
└f | integer | Block finality time in milliseconds. |
└b | integer | Block time in milliseconds. |
└mQ | string | Minimum order quantity allowed in the market. (Optional) |
└MQ | string | Maximum order quantity allowed in the market. (Optional) |
└q | string | Precision step of order quantity. (Optional) |
└PS | string | Precision step of order price. |
└mP | string | Minimum price allowed in the market. |
└MP | string | Maximum price allowed in the market. |
└p | string | Last traded price of the market |
└PC | float | Price change percentage. |
└d | boolean | Market direction. |
└BB | string | Best bid price. |
└BA | string | Best ask price. |
└o | string | Open price. |
└C | string | Collateral per slot in ETH. |
└A | integer | Available preconf for sale. |
└r | integer | Block owner reserved preconf not for sale. |
└S | integer | Block owner submitted preconf not for sale. |
└e | integer | Market status. |
└c | integer | Market Creation time in milliseconds. |
└u | integer | Last market update time in milliseconds. |
└tp | integer | Total amount of preconf allowed to sell in the market |
Notes
- Market Status: The
efield 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
| Name | Type | Description |
|---|---|---|
op | string | e.g.subscribe |
args | object | Arguments |
└channel | string | Channel name, e.g., candlestickUpdate`. |
└marketType | string | Market type, e.g., inclusionPreconf`. |
Response Body
| Name | Type | Description |
|---|---|---|
e | string | Event type, e.g.candlestickUpdate. |
E | integer | Event timestamp in milliseconds. |
s | string | Instrument ID of the market, e.g., ETH-PC-117`. |
P | object | Payload data containing market price history details. |
└I | string | Instrument ID, e.g., ETH-PC-117`. |
└m | integer | Market ID. |
└t | integer | Timestamp of the price data in milliseconds. |
└i | integer | Interval of the candlestick in milliseconds. |
└o | string | Open price during the interval. |
└h | string | High price during the interval. |
└l | string | Low price during the interval. |
└c | string | Close price during the interval. |
└v | string | Volume during the interval. |
└F | boolean | Indicates if the data is final (true) or incomplete (false). |
Notes
- Finalized Data: The
Ffield 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
| Name | Type | Description |
|---|---|---|
op | string | e.g.subscribe |
args | object | Arguments |
└channel | string | Channel name, e.g.,recentTradeUpdate |
└marketType | string | Market type, e.g.,inclusionPreconf. |
Response Body
| Name | Type | Description |
|---|---|---|
e | string | Event type, e.g.,recentTradeUpdate. |
E | integer | Event timestamp in milliseconds. |
s | string | Instrument ID. |
P | object | Payload data containing recent trades details. |
└i | string | Instrument ID . |
└p | string | Traded price of the trade |
└q | string | Traded quantity of the trade |
└s | integer | Trading side of taker |
└d | integer | Timestamp of the trade in milliseconds. |
└t | integer | Trade index. |
Notes
- Trades Index: The
tfield 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
| Name | Type | Description |
|---|---|---|
op | string | e.g.subscribe |
args | object | Arguments |
└channel | string | Channel name, e.g.,orderBookUpdate. |
└marketType | string | Market type, e.g.,inclusionPreconf. |
Response Body
| Name | Type | Description |
|---|---|---|
e | string | Event type, e.g.,orderBookUpdate. |
E | integer | Event timestamp in milliseconds. |
s | string | Instrument ID of the market, e.g.,ETH-PC-863. |
P | object | Payload data containing order book details. |
└a | array | List of ask orders (empty in the example). |
└b | array | List of bid orders. |
└└p | string | Price of the bid order. |
└└q | string | Quantity of the bid order. |
└I | string | Instrument ID, e.g.,ETH-PC-863. |
└t | integer | Timestamp of the order book update in milliseconds. |
Notes
- Instrument ID: The
Ifield represents the specific market instrument being updated. - Order Details: The
afield contains ask orders, and thebfield 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
| Name | Type | Description |
|---|---|---|
op | string | e.g.subscribe |
args | object | Arguments |
└channel | string | Channel name, e.g.,tickerUpdate. |
└marketType | string | Market type, e.g.,inclusionPreconf. |
Response Body
| Name | Type | Description |
|---|---|---|
e | string | Event type, e.g.,tickerUpdate. |
E | integer | Event timestamp in milliseconds. |
s | string | Instrument ID of the market, e.g.,ETH-PC-856. |
P | object | Payload data containing market information. |
└d | boolean | Market direction (true for buy,false for sell). |
└p | string | Last traded price. |
└b | string | Best bid price. |
└a | string | Best ask price. |
└M | string | Mid price in orderbook. |
└A | string | Available preconf gas amount in the slot. |
└g | string | Total gas purchased in the market. (optional) |
└P | string | Percentage price change in the market. |
└u | integer | Timestamp 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
| Name | Type | Description |
|---|---|---|
op | string | e.g.subscribe |
args | object | Arguments |
└channel | string | Channel name, e.g.,inclusionPreconfSaleUpdate. |
Response Body
| Name | Type | Description |
|---|---|---|
e | string | Event type, e.g.,inclusionPreconfSaleUpdate. |
E | integer | Event timestamp in milliseconds. |
P | object | Payload data containing block builder update details. |
└s | integer | slot |
└g | string | gas purchased |
└S | array | array of top 10 preconf sales |
└└p | string | purchased gas price |
└└q | string | gas unit |
Notes
- Slot ID: The
sfield 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
| Name | Type | Description |
|---|---|---|
op | string | e.g.subscribe |
args | object | Arguments |
└channel | string | Channel name, e.g.,blockBuilderUpdate. |
Response Body
| Name | Type | Description |
|---|---|---|
e | string | Event type, e.g.,blockBuilderUpdate |
E | integer | Event timestamp in milliseconds. |
a | integer | Action type. e.g.MarketExpiry |
P | object | Payload data containing block builder update details. |
└s | integer | slot ID. |
└p | string | Builder public key of corresponding slot |
└f | string | Fallback builder public key |
Notes
- Slot ID: The
sfield represents the current slot being updated. - Timestamp Fields: All timestamps are in milliseconds since the Unix epoch.