For the complete documentation index, see llms.txt. This page is also available as Markdown.

eth_subscribe - Celo

Example code for the eth_subscribe JSON-RPC method. Complete guide on how to use eth_subscribe JSON-RPC in GetBlock Web3 documentation.

This method creates a subscription for real-time event notifications on the Celo network.

This requires a WebSocket connection and is ideal for tracking new blocks, pending transactions, or contract events with Celo's fast ~1 second block times.

Parameters

Parameter
Type
Required
Description

subscriptionType

string

Yes

Type: "newHeads", "logs", "newPendingTransactions"

options

object

No

Filter options (for "logs" type)

Request Example

cURL (wscat)
# This method requires WebSocket connection
wscat -c wss://go.getblock.io/<ACCESS-TOKEN>/

> {"jsonrpc":"2.0","method":"eth_subscribe","params":["newheads"],"id":"getblock.io"}
JavaScript (ws)
const WebSocket = require('ws');

const ws = new WebSocket('wss://go.getblock.io/<ACCESS-TOKEN>/');

ws.on('open', () => {
    ws.send(JSON.stringify({
        jsonrpc: '2.0',
        method: 'eth_subscribe',
        params: ['newHeads'],
        id: 'getblock.io'
    }));
});

ws.on('message', (data) => {
    console.log(JSON.parse(data));
});
Python (websockets)
import asyncio
import websockets
import json

async def unsubscribe():
    uri = "wss://go.getblock.io/<ACCESS-TOKEN>/"
    async with websockets.connect(uri) as ws:
        payload = {
            "jsonrpc": "2.0",
            "method": "eth_subscribe",
            "params": ["newHeads"],
            "id": "getblock.io"
        }
        await ws.send(json.dumps(payload))
        response = await ws.recv()
        print(json.loads(response))

asyncio.run(unsubscribe())

Response Example

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x9cef478923ff08bf67fde6c64013158d"
}
{
  "jsonrpc": "2.0",
  "method": "eth_subscription",
  "params": {
    "subscription": "0x9cef478923ff08bf67fde6c64013158d",
    "result": {
      "number": "0x1d9f2a8",
      "hash": "0x4e3a375...",
      "parentHash": "0xb903239...",
      "timestamp": "0x65a1b2c3"
    }
  }
}

Response Definition

Field
Type
Description

result

string

Subscription ID

Use Cases

  • Real-time block notifications

  • Live stablecoin transfer tracking

  • Pending transaction monitoring

  • DeFi event streaming

Error Handling

Error Code
Description

-32602

Invalid subscription type

-32603

Internal error

SDK Integration

Last updated

Was this helpful?