██████╗ ██╗ ██╗██████╗ ██████╗ ██╗ ███████╗ ███╗ ██╗███████╗████████╗██╗ ██╗ ██████╗ ██████╗ ██╗ ██╗ ██╔══██╗██║ ██║██╔══██╗██╔══██╗██║ ██╔════╝ ████╗ ██║██╔════╝╚══██╔══╝██║ ██║██╔═══██╗██╔══██╗██║ ██╔╝ ██████╔╝██║ ██║██║ ██║██║ ██║██║ █████╗ ██╔██╗ ██║█████╗ ██║ ██║ █╗ ██║██║ ██║██████╔╝█████╔╝ ██╔═══╝ ██║ ██║██║ ██║██║ ██║██║ ██╔══╝ ██║╚██╗██║██╔══╝ ██║ ██║███╗██║██║ ██║██╔══██╗██╔═██╗ ██║ ╚██████╔╝██████╔╝██████╔╝███████╗███████╗██╗██║ ╚████║███████╗ ██║ ╚███╔███╔╝╚██████╔╝██║ ██║██║ ██╗ ╚═╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚══════╝╚═╝╚═╝ ╚═══╝╚══════╝ ╚═╝ ╚══╝╚══╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝

Real-time Ethereum Mempool Streaming Service

Stream Ethereum mempool transactions as they happen on the network. Get access to the raw, unconfirmed transactions on Ethereum in real-time.

NEW! Now supporting Polygon — stream Polygon mempool transactions via /polygon/mempool.

$ ssh puddle.network

Register for a free API key:

Code Examples

import asyncio, json, websockets

async def main():
    url = "wss://puddle.network/mempool"
    headers = {"X-Puddle-Key": "<your-api-key>"}
    async with websockets.connect(url, extra_headers=headers) as ws:
        async for message in ws:
            tx = json.loads(message)
            print(tx)

asyncio.run(main())
const WebSocket = require("ws");

const ws = new WebSocket("wss://puddle.network/mempool", {
    headers: { "X-Puddle-Key": "<your-api-key>" }
});

ws.on("message", (data) => {
    const tx = JSON.parse(data);
    console.log(tx);
});

For full documentation, visit the blog.