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