Skip to content

Developers

BellNode API

Bring BellNode signals into your application.

One REST surface for signals, wallets, tokens, liquidity and blocks. Webhooks for the events you would otherwise poll for. Every response carries the block it was derived from.

Endpoints

Base URL · https://api.bellnode.xyz/v1 · mock responses

GET https://api.bellnode.xyz/v1/signalsjson
{  "network": "robinhood-chain",  "block": 18428991,  "signals": [    {      "id": "sig_01j8x4",      "type": "liquidity",      "level": "SIGNAL",      "subject": "HOOD / USDC",      "description": "Pool liquidity increased 21.4%",      "block": 18428991,      "ts": 1727000062    }  ]}

Webhooks

POST · JSON · signed with your secret

large_transfer01

A single transfer above your USD threshold.

{ "event": "large_transfer", "from": "0x72F4...d821", "to": "0x9A8b...1A0b", "usd": 1240000, "block": 18428991 }
liquidity_change02

Pool TVL moved more than a set percentage inside a window.

{ "event": "liquidity_change", "pool": "HOOD / USDC", "changePct": 21.4, "windowBlocks": 50 }
volume_spike03

Token volume diverged from its rolling baseline.

{ "event": "volume_spike", "token": "tSPX", "multiple": 3.7, "baseline": "7d" }
contract_deployed04

A new contract landed onchain.

{ "event": "contract_deployed", "address": "0x2C3d...0C1d", "deployer": "0x74A0...E91A", "block": 18428987 }
wallet_activity05

A watched wallet transacted.

{ "event": "wallet_activity", "address": "0x91Cd...4c6D", "type": "SWAP", "usd": 480000 }
new_block06

Every block, with aggregate stats attached.

{ "event": "new_block", "number": 18428992, "transactions": 1302, "blockTime": 2.0 }

SDK preview

A thin typed client over the REST API. Same shapes as the endpoints, plus a block subscription. The package is not yet published; the interface below is the target.

  • · Typed responses
  • · Network scoped to robinhood-chain
  • · Block stream via webhook or polling
  • · Demo mode without an API key
signals.tsts
import { BellNode } from "@bellnode/sdk";const bellnode = new BellNode({ apiKey: process.env.BELLNODE_KEY });const signals = await bellnode.signals.get({  network: "robinhood-chain",  type: "liquidity"});signals.forEach((s) => {  console.log(`[${s.level}] ${s.subject} — ${s.description}`);});// Subscribe to the block streambellnode.blocks.on("new_block", (block) => {  console.log("BLOCK RECEIVED", block.number);});