See Blocks Being Generated in Real-Time
Up to 1,000 ms faster than the p2p network
Unlock new trading strategies
You’re always among the first to detect triggers.
See price changes before the competition.
Identify new liquidation or arbitrage opportunities.
Follow blocks in real-time globally.
Cancel orders if the state changes before loosing money
Be among the first to spot fee congestion.
Keep your node in sync
Get blocks to your trading bot or node, faster than any other provider.
Unlock new trading strategies
You’re always among the first to detect triggers.
See price changes before the competition.
Identify new liquidation or arbitrage opportunities.
Follow blocks in real-time globally.
Cancel orders if the state changes before loosing money
Be among the first to spot fee congestion.
Keep your node in sync
Get blocks faster to your trading bot or node.
Subscribe to a stream and receive all blocks data as soon as they are created.
Compression
Block compression enables faster propagation.
Low Latency
knowing that state faster than your competitors means you can react faster and capture value.
Algorithmic Trading
Minimize time between when new state is known and the time mining pools hear your response transaction.
Trade From Multiple Regions
Run bots closer to where blocks are generated, discovered, and where pools and validators are.
Block Data Faster
See blocks faster than any other provider
BlockStream
All new blocks as they propagated the BDN.
Easy to connect with your current
setup with or without a Node
Blocks API JSON-RPC
You can manage, automate and optimize your cryptocurrency
and Defi trading activities with greater efficiency with bloXroute.
# newBlocks Request - Example Cloud API stream in Python
# (line 11 creates the subscription)
import asyncio
from bloxroute_cli.provider.cloud_wss_provider import CloudWssProvider
async def main():
async with CloudWssProvider(
ssl_dir="/usr/bloxroute/certificate/external_gateway/registration_only",
ws_uri="wss://eth.feed.blxrbdn.com:28333" # use wss://bsc.feed.blxrbdn.com:28333 for BSC
) as ws:
subscription_id = await ws.subscribe("newBlocks", {"include": ["hash"]})
while True:
next_notification = await ws.get_next_subscription_notification_by_id(subscription_id)
print(next_notification) # or process it generally
await ws.unsubscribe(subscription_id)
if __name__ == '__main__':
asyncio.get_event_loop().run_until_complete(main())
# newBlocks Response - Example Block Event
<<< {"jsonrpc": "2.0", "id": null, "method": "subscribe",
"params": {"subscription": "213883fe-b3e2-4da2-b9ba-196a82df8628",
"result": {"hash": "0x079b7f1b5a68d4301cf97df2f81c406aa598dd508e2d1908974b95ddd61a4156",
"header": {"parentHash": "0xafef6c6bd1049febe85834aa84735f81f2e81efd55d85a1076aae0adceba16de",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"miner": "0xea674fdde714fd979de3edf0f56aa9716b898ec8",
"stateRoot": "0x13f4a37eb7d0ca8ea309a631e51cca86eaa1b9765a2e6a9eb1614ddcf4ea57e4",
"transactionsRoot": "0x33d0f3c1ce4e3be6346738465cafc727f3500990c881d6fe4821567504badfd5",
"receiptsRoot": "0xad4fe2b36823a0b57f1c640d115eacc8cc1e64c73e49f89a131f206457afbf9f",
"logsBloom": "0x3862455e6027e5863992de...176bee981b7d",
"difficulty": "0xc39780fb04af3",
"number": "0xab05c3",
"gasLimit": "0xbdfca5",
"gasUsed": "0xbdb8e3",
"timestamp": "0x5fa62290",
"extraData": "0x65746865726d696e652d6575312d36",
"mixHash": "0x3cd96f6536c1cc745ce9a4f767d65a94b64392bc787e029e7c16339641265b0a",
"nonce": "0x327b58b8b7216cf5"},
"transactions": [
{"from": "0xea674fdde714fd979de3edf0f56aa9716b898ec8",
"gas": "0xc350",
"gasPrice": "0x3b9aca00",
"hash": "0x587a2db59d1af16aa03521a711c3db5b443e5d05cfc72eccadb89c99380f7da0",
"input": "0x",
"nonce": "0x1b8a09b",
"value": "0x54fbe53cd2d1338",
"v": "0x25",
"r": "0x41f3261e25a3e77abd4b0bd4f21cfc2d92ca2d52ff9c663c9a68c6a382115dac",
"s": "0x4350bb6f770bb3363094774fe36478b20013c705f4041fc1bcd0f9fe520c9a23",
"to": "0x190aab185dbf089b1c5cf06a4f13421c14fc18fa"},
...
{"from": "0xc88f7666330b4b511358b7742dc2a3234710e7b1",
"gas": "0x5208",
"gasPrice": "0x7aef40a00",
"hash": "0x92df6598e3a2bc9550898fd7b3322594228e513c0098333bbefd6784a1aa90db",
"input": "0x",
"nonce": "0x6827c",
"value": "0x36e9c396c89e000",
"v": "0x25",
"r": "0x1653aae7a09b85b923b4602f69886c816f470f9b5167d16f2cbb963d00345583",
"s": "0x2c429419c8f23172d4fe4177f796daacf6cfccd9d1545d62957e13fa4af933db",
"to": "0x844359bf8d5fa20f32b0d679527adb93d6255abf"}],
"uncles": []}}}
Fields to Filter in the Block Stream
-------------------------------------
+ hash
+ header
+ transactions
+ uncles
(The default is all)