Santiment Node
The Santiment node brings Santiment's ↗ social and on-chain data into your workflows: whether sentiment on an asset is positive or negative, which narratives are spiking across Reddit, X and Telegram, how the chain underneath is behaving, and where an asset sits in its cycle. Like the Nansen and CoinGlass nodes, it's a single node with a two-level select — pick a category, then a lens — and the parameter fields change to match.
Where It Fits
NickAI carries three market-intelligence providers, and they answer different questions. Reaching for the wrong one is the most common mistake:
- CoinGlass answers what the market is doing — aggregate derivatives, funding, open interest, liquidations. No identity.
- Nansen answers who is doing it — labelled wallets, smart money, holders.
- Santiment answers what the market is saying, and how the chain is behaving underneath — social, narrative, on-chain vitality.
How It Works
- Category — the data family: Social, Narrative, On-chain, Valuation, Development, or Signals.
- Lens — the specific dataset within that category. Only the lenses for the chosen category are shown.
- Parameters — re-render based on the lens. Per-asset lenses show an Asset field; Word Context shows a Word field; the narrative lenses show neither, because they're market-wide.
Every lens returns the same output envelope, so downstream nodes and the AI agent learn the shape once — see Output.
Categories & Lenses
| Category | Lens | What it returns | Needs |
|---|---|---|---|
| Social | Sentiment | Weighted positive/negative sentiment balance across all sources | asset |
| Social Volume | How much an asset is discussed, total and per platform | asset | |
| Social Dominance | Share of all crypto discussion this asset accounts for | asset | |
| Narrative | Trending Words | Ranked words spiking in crypto social chatter right now | — |
| Trending Stories | Clustered narratives with a bull/bear ratio and related tokens | — | |
| Major Topics | Santiment's editorial digest of dominant narratives | — | |
| Word Context | Terms co-occurring with a word | word | |
| On-chain | Network Health | Active addresses, new addresses, transfer volume, velocity | asset |
| Exchange Flows | Tokens moving on/off exchanges, and share of supply held there | asset | |
| Whale Activity | Count and volume of transactions over $100k and $1m | asset | |
| Holder Distribution | How many addresses hold 1+, 100+, 1k+ tokens — the whale ladder | asset | |
| Coin Age | Dormant supply waking up — age consumed, destroyed, dormant circulation | asset | |
| Valuation | Cycle Metrics | MVRV, z-score, NVT, realized value, network profit/loss | asset |
| Development | Dev Activity | GitHub commits and contributor count | asset |
| Signals | Anomaly Feed | Santiment's 16 pre-computed anomaly detectors | asset |
Configuration
| Field | Description |
|---|---|
| Category | The Santiment data family. Choosing one filters the Lens list. |
| Lens | The specific dataset to run within the category. |
| Asset | A ticker (BTC) or a Santiment slug (bitcoin). Tickers resolve to a slug before the request is sent. Supports dynamic values via the f(x) toggle. |
| Word | The term to analyze. Shown only for Word Context. Supports f(x). |
| Interval | Bucket size for the returned timeseries. Intervals finer than a lens resolves aren't offered. |
| Lookback (days) | How far back to read. Shown for lenses the window actually bounds. |
| Records | How many words, stories or terms to return (1–100). Shown for the ranked narrative lenses. |
History window
Most Santiment metrics are served on a 2-year rolling window on NickAI's plan. The node checks the requested lookback against that window before sending the request, so an over-wide range is a fixable validation error rather than a wasted call. Dev Activity is the exception — it has unlimited history and isn't held to the 2-year limit.
If a request is clamped anyway (for example a config built dynamically), the output says so at {santiment.meta.historyClamped}.
Data freshness
Two lenses are not live, and it matters:
- Anomaly Feed returns sparse events, not a timeseries. It always looks back at least 90 days, and returning few or no rows genuinely means nothing fired.
- Major Topics is published every ~3 days, about a week in arrears. It tells you what a period was about — never what's happening now. Use Trending Stories for that.
Billing & Credits
The node runs on NickAI's Santiment access at a flat 5 credits a call, whichever lens you pick. There's no bring-your-own-key path.
Workflow Examples
Sentiment Regime Gate
Only act when the crowd has turned — use sentiment as a filter on another signal.
Narrative Radar
Catch a story before it's priced in. The narrative lenses need no asset, so this runs market-wide.
Each story carries a bullishRatio, a bearishRatio and the tokens it mentions, so the LLM has the lean and the tickers without any custom glue.
Multi-Source Consensus
The three providers answer different questions, so reading them together is stronger than any one alone.
Output
Every lens returns the same envelope. Metric lenses fill series and latest; narrative lenses fill rows. Never both.
| Path | Description |
|---|---|
| {santiment.source} | Always santiment |
| {santiment.category} | The category that ran (social, narrative, onchain, valuation, dev, signals) |
| {santiment.lens} | The specific lens that ran (e.g. sentiment, trending-stories) |
| {santiment.query} | Echo of what was asked (asset/slug/word/interval/window) |
| {santiment.summary} | A 1–2 sentence natural-language synthesis — feed this to an LLM node |
| {santiment.latest} | Newest value per metric, flattened. Empty for narrative lenses |
| {santiment.series} | Per-metric timeseries of { datetime, value }. Empty for narrative lenses |
| {santiment.rows} | Ranked records for narrative lenses. Empty for metric lenses |
| {santiment.meta.asOfData} | Newest datetime present in the data — check this for staleness |
| {santiment.meta.rateLimitCost} | Santiment rate-limit units this call consumed |
| {santiment.meta.historyClamped} | Present only when the lookback was narrowed to the plan's window |
| {santiment.missing} | Metric names this asset doesn't carry |
santiment with your node's edge label. If the edge to the next node is labeled social, use {social.summary}.Example Output
{
"source": "santiment",
"category": "social",
"lens": "sentiment",
"query": { "asset": "BTC", "slug": "bitcoin", "interval": "1d", "days": 30 },
"summary": "bitcoin sentiment is net negative (balance -10.81, rising). Positive 58.79 vs negative 69.60.",
"latest": {
"sentiment_balance_total": -10.81,
"sentiment_positive_total": 58.79,
"sentiment_negative_total": 69.6
},
"series": {
"sentiment_balance_total": [
{ "datetime": "2026-09-11T00:00:00Z", "value": -14.2 },
{ "datetime": "2026-09-12T00:00:00Z", "value": -10.81 }
]
},
"rows": [],
"meta": {
"asOf": "2026-09-13T10:31:00.000Z",
"asOfData": "2026-09-12T00:00:00Z",
"metricsRequested": 4,
"metricsReturned": 4,
"rateLimitCost": 4,
"attribution": "Powered by Santiment"
},
"missing": []
}
Next Steps
- LLM Node — Feed {santiment.summary} into an LLM for analysis and recommendations.
- Function Node — Parse
seriesorrowswith custom JavaScript. - Conditional Node — Route on a sentiment balance, dominance or whale threshold.
- Nansen Node — Add wallet-level identity to the social picture.
- CoinGlass Node — Add derivatives positioning for consensus.