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

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.

$ ssh puddle.network

Subscribe to our newsletter for a free API key:

WebSocket API

Endpoint Auth
wss://puddle.network/mempool Header X-Puddle-Key: <your-api-key>

Query Parameters

Parameter Description
to=0x... Filter by a single recipient address
to=[0x...,0x...] Filter by up to 50 recipient addresses
format=geth Normalize output to geth-style JSON (hash, from, to, input with 0x prefix)

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);
});