real-time attention intelligence for Base tokens. 5 endpoints, pay-per-call via x402.
payments: USDC on Base mainnet via x402top Base tokens by attention share — all 102 tracked tokens, flexible window (1-168h)
| param | values | default |
|---|---|---|
| ?limit= | 1 – 50 | 10 |
| ?hours= | 1 / 2 / 4 / 8 / 12 / 24 | 4 |
| ?sort_by= | ATT_pct | MS_pct | INF_pct | velocity | ATT_delta | ATT_pct |
| ?min_mentions= | integer | 1 |
| field | description |
|---|---|
| symbol | token symbol |
| ATT_pct | composite attention share (%) — AIS-quality-filtered, mindshare + influence weighted |
| MS_pct | mindshare (%) — engagement-weighted mention share |
| INF_pct | influence (%) — account-weight-adjusted share |
| ATT_delta | change in ATT_pct vs prior window (pp). + = gaining, - = losing |
| unique_authors | distinct accounts posting about this token |
| signal_interpretation | agent-readable signal block (see reference section) |
{
"updated_at": "2026-04-10T13:03:01Z",
"data_age_minutes": 8.2,
"window_hours": 4,
"tokens": [
{
"symbol": "gitlawb",
"ATT_pct": 11.8,
"MS_pct": 7.7,
"INF_pct": 18.0,
"ATT_delta": -0.3,
"unique_authors": 12,
"signal_interpretation": {
"propagation_mode": "organic",
"followthrough": "uncertain",
"decay_risk": "low",
"flow_type": "mixed",
"price_alignment": "roughly_aligned",
"summary": "building",
"agent_action_hint": "monitor"
}
}
]
}
opportunity radar — cross-universe ranked signals with timing. replaces /v1/spikes.
| param | values | default |
|---|---|---|
| ?limit= | 1 – 20 | 5 |
| ?min_ais= | 0 – 1 | 0.05 |
| ?min_velocity= | float | 0 |
| ?spiking_only= | true | false | false |
| ?divergence_only= | true | false | false |
| ?require_history= | true | false | false |
| field | description |
|---|---|
| symbol | token symbol |
| score | composite signal strength (AIS × velocity × cascade × organic × history) |
| rank | position in ranked list (1 = best) |
| signal_type | "spike" | "building" | "divergence" |
| ais | Attention Intelligence Score (0-1) — Hawkes-derived quality metric |
| velocity | momentum multiplier vs 48h baseline. 3.0+ = meaningful spike |
| att_pct | current attention share (%) |
| ATT_delta_1h | attention change in last hour (e.g. "+3.2pp" or "-1.4pp") |
| cascade_multiplier | expected total wave size. 2.5 = current mentions will 2.5x before fading |
| half_life_hours | hours until 50% of cascade plays out (null if unknown) |
| organic_fraction | share of posts that are community-driven (0-1). >0.5 = self-reinforcing |
| divergence_detected | true if attention up but price flat/down — the alpha pattern |
| spike_history | { confirmed, total, hit_rate } — historical reliability. null if <5 spikes |
| key_factors | string array of 1-3 factors driving the score |
| caution | string array of flags (e.g. "half_life_under_1h", "thin_spike_history") |
| timing.window_open | bool — is this still worth entering? |
| timing.entry_quality | "strong" | "moderate" | "weak" | "closed" |
| timing.urgency | "act_now" | "monitor" | "wait" | "passed" |
| timing.elapsed_pct | estimated % of cascade already played out |
| timing.time_to_90pct_hours | hours until 90% complete (practical exit signal) |
| timing.decay_rate | "fast" (<2h) | "moderate" (2-8h) | "slow" (>8h) | "unknown" |
| signal_interpretation | agent-readable signal block (see reference section) |
| universe_size | total tokens scanned |
| signals_found | how many passed filters (before limit applied) |
{
"updated_at": "2026-04-10T13:03:01Z",
"data_age_minutes": 8.2,
"universe_size": 80,
"signals_found": 34,
"signals": [
{
"symbol": "MOLTEN",
"score": 0.538,
"rank": 1,
"signal_type": "spike",
"ais": 0.259,
"velocity": 4.76,
"att_pct": 5.65,
"ATT_delta_1h": "-1.2pp",
"cascade_multiplier": 2.62,
"half_life_hours": null,
"organic_fraction": 0.382,
"divergence_detected": false,
"spike_history": null,
"key_factors": ["velocity 4.8×", "large cascade 2.6×"],
"caution": ["high_competition_pressure", "thin_spike_history"],
"timing": {
"window_open": true,
"entry_quality": "strong",
"urgency": "act_now",
"elapsed_pct": null,
"time_to_90pct_hours": null,
"decay_rate": "unknown"
},
"signal_interpretation": {
"propagation_mode": "organic",
"followthrough": "uncertain",
"decay_risk": "low",
"flow_type": "mixed",
"price_alignment": "roughly_aligned",
"summary": "building",
"agent_action_hint": "monitor"
}
}
]
}
full token profile — attention metrics, price, hawkes analysis, timing, narrative, spike history, top creators, project health score. accepts symbol or contract address. e.g. /v1/token/BNKR or /v1/token/0xa1f72459dfa10bad200ac160ecd78c6b77a747be
| param | values | default |
|---|---|---|
| ?hours= | 1 – 168 | 4 |
| field | description |
|---|---|
| symbol | token symbol |
| updated_at | timestamp of analysis |
| attention.ATT_pct | current composite attention share (%) |
| attention.MS_pct | mindshare (%) |
| attention.INF_pct | influence (%) |
| attention.velocity | momentum multiplier vs baseline |
| attention.ATT_delta_1h | attention change in last hour |
| attention.ATT_delta_4h | attention change in last 4 hours |
| price.price_usd | live price from GeckoTerminal |
| price.change_1h_pct | price change (1h) |
| price.change_24h_pct | price change (24h) |
| price.market_cap | market cap (USD) |
| price.volume_24h | 24h trading volume (USD) |
| divergence.detected | true when attention up but price flat/down |
| spike_history.confirmed | count of confirmed spikes with price follow-through |
| spike_history.total | total count of detected spikes |
| spike_history.hit_rate | % of spikes that resulted in price movement |
| timing.window_open | is the current signal still actionable? |
| timing.entry_quality | "strong" | "moderate" | "weak" | "closed" |
| timing.peak_attention_in_hours | estimated hours to peak attention (null if passed) |
| timing.cascade_multiplier | expected total mentions this event will generate |
| timing.decay_rate | "fast" | "moderate" | "slow" | "unknown" |
| hawkes.ais | Attention Intelligence Score from Hawkes process |
| hawkes.branching_factor | expected replies per post. >0.8 = self-sustaining |
| hawkes.branching_factor_weighted | follower-weighted branching. higher = influential accounts amplifying |
| hawkes.viral_potential | SEISMIC score. >2.0 = high viral potential |
| hawkes.organic_fraction | community-driven share (0-1) |
| hawkes.influence_concentration | 0 = distributed, 1 = single whale. high = fragile signal |
| hawkes.top_competitors | competing tokens with pressure scores |
| narrative.summary | brief narrative of what's being discussed |
| narrative.signal_type | "spike" | "building" | "divergence" | "noise" |
| recent_posts[] | top posts ≥10 likes with text, author, engagement, created_at |
| signal_interpretation | agent-readable signal block (see reference section) |
Full response includes complete attention, price, hawkes, timing, narrative, and historical data. Example omitted for brevity.
where creators are moving — directed rotation graph with quality-filtered crossover evidence
| param | values | default |
|---|---|---|
| ?window= | 1h | 4h | 4h |
| ?limit= | 1 – 25 | 10 |
| ?confirmed_only= | true | false | true |
| field | description |
|---|---|
| edges[].from | source token symbol |
| edges[].to | destination token symbol |
| edges[].weight | count of creators moving in this direction |
| edges[].top_creator.username | most influential creator on this edge |
| edges[].top_creator.followers | follower count of top creator |
| edges[].top_creator.max_likes | max likes on posts driving this rotation |
| nodes[].symbol | token symbol |
| nodes[].inflow | count of creators entering this token |
| nodes[].outflow | count of creators leaving this token |
| nodes[].net_flow | inflow - outflow (positive = gaining creators) |
| nodes[].post_count | total posts about this token in window |
| nodes[].ATT_growth | attention % change in this window |
| nodes[].signal_interpretation | agent-readable signal block (see reference section) |
{
"window": "4h",
"edges": [
{
"from": "INSTACLAW",
"to": "ODAI",
"weight": 1,
"top_creator": {
"username": "@thebasedfrogx",
"followers": 2486,
"max_likes": 11
}
}
],
"nodes": [
{
"symbol": "ODAI",
"inflow": 1,
"outflow": 0,
"post_count": 18,
"net_flow": 1,
"ATT_growth": 34.2,
"signal_interpretation": {
"propagation_mode": "organic",
"followthrough": "strong",
"decay_risk": "pending",
"flow_type": "mixed",
"price_alignment": "aligned",
"summary": "early_momentum",
"agent_action_hint": "monitor"
}
}
]
}
who actually moves the feed for a specific token — ranked by signal_score, not post count. each post is weighted by relevance (dedicated post vs roundup vs secondary mention), cascade amplification (replies + quote tweets received), and follower reach.
| param | values | default |
|---|---|---|
| ?hours= | 1 – 720 | 24 |
| ?limit= | 1 – 50 | 25 |
| ?min_followers= | integer | 50 |
| ?tier_filter= | macro | micro | nano | all | all |
| field | description |
|---|---|
| creators[].username | creator handle (e.g. @singularityhack) |
| creators[].follower_count | live follower count from post data |
| creators[].tier | macro (>10k) | micro (1k-10k) | nano (<1k) |
| creators[].is_verified | blue check on X/Twitter |
| creators[].post_count | posts about this token in window |
| creators[].avg_likes | raw average likes per post |
| creators[].weighted_avg_likes | relevance-discounted avg likes — dedicated post=1.0x, roundup=0.4x, secondary mention=0.25x, reply with token=0.7x |
| creators[].cascade | intra-community replies received + quote_count on their posts — measures conversation-starting ability |
| creators[].quality_ratio | fraction of posts with ≥10 weighted likes (0–1) |
| creators[].mindshare_pct | share of total conversation by post volume (%) |
| creators[].signal_score | composite rank: weighted_avg_likes × log10(followers) × quality_factor + cascade bonus |
| creators[].max_likes | best single post in window |
| creators[].total_engagement | total likes + replies + retweets (raw) |
| meta.ranking | signal_score formula description |
| meta.time_window_hours | lookback window used |
| meta.total_creators_found | number of creators returned |
{
"symbol": "GITLAWB",
"creators": [
{
"username": "@singularityhack",
"follower_count": 15560,
"tier": "macro",
"is_verified": true,
"post_count": 3,
"avg_likes": 83.3,
"weighted_avg_likes": 83.3,
"cascade": 2,
"quality_ratio": 1.0,
"mindshare_pct": 1.08,
"signal_score": 349.19,
"max_likes": 112,
"total_engagement": 319
}
],
"meta": {
"ranking": "signal_score (weighted_avg_likes * log10(followers) * quality_factor + cascade)",
"time_window_hours": 24,
"total_creators_found": 15
}
}
top creators across the full bankr ecosystem (39 tokens) — who's driving attention across BANKR-launched tokens. ranked by signal_score with relevance weighting and cascade amplification. use this to find ecosystem ambassadors: people posting high-quality content about multiple bankr tokens.
| param | values | default |
|---|---|---|
| ?hours= | 1 – 720 | 24 |
| ?limit= | 1 – 50 | 25 |
| ?min_followers= | integer | 50 |
| ?tier_filter= | macro | micro | nano | all | all |
| field | description |
|---|---|
| creators[].username | creator handle |
| creators[].follower_count | live follower count from post data |
| creators[].tier | macro (>10k) | micro (1k-10k) | nano (<1k) |
| creators[].is_verified | blue check on X/Twitter |
| creators[].bankr_post_count | total posts across all bankr ecosystem tokens |
| creators[].bankr_tokens | which bankr tokens they posted about |
| creators[].token_count | number of distinct tokens covered |
| creators[].avg_likes | raw average likes per post |
| creators[].weighted_avg_likes | relevance-discounted avg likes |
| creators[].cascade | replies + quote tweets received across ecosystem posts |
| creators[].quality_ratio | fraction of posts with ≥10 weighted likes |
| creators[].mindshare_pct | share of total ecosystem conversation (%) |
| creators[].signal_score | composite rank across all ecosystem activity |
| creators[].focus_score | Herfindahl index — 1.0 = pure specialist, lower = multi-token |
| creators[].focus_label | Specialist (1-2 tokens) | Focused (3-4) | Broad (5+) |
| meta.ranking | signal_score formula description |
| meta.total_tokens | number of ecosystem tokens tracked |
{
"ecosystem": "bankr",
"creators": [
{
"username": "@singularityhack",
"follower_count": 15560,
"tier": "macro",
"is_verified": true,
"bankr_post_count": 3,
"bankr_tokens": ["CLAWBANK"],
"token_count": 1,
"avg_likes": 83.3,
"weighted_avg_likes": 83.3,
"cascade": 4,
"quality_ratio": 1.0,
"mindshare_pct": 1.08,
"signal_score": 349.19,
"focus_score": 1.0,
"focus_label": "Specialist (1-2 tokens)"
}
],
"meta": {
"mode": "aggregate",
"ranking": "signal_score (weighted_avg_likes * log10(followers) * quality_factor + cascade)",
"total_tokens": 39,
"time_window_hours": 24
}
}
bankr ecosystem overview — all 39 tokens ranked by attention metrics. attention share, velocity, engagement quality, health score, and rotation signal for every BANKR-launched token. use for ecosystem-wide monitoring, token health checks, and identifying where attention is moving.
| param | values | default |
|---|---|---|
| ?sort_by= | ATT_pct | velocity | unique_authors | engagement_quality | posts_count | avg_likes | ATT_pct |
| ?hours= | 1 – 168 | 24 |
| ?limit= | 1 – 39 | 10 |
| ?all= | true | false | false |
| ?min_posts= | integer | 0 |
| ?exclude_zero_att= | true | false | false |
| ?include_health= | true | false | true |
| field | description |
|---|---|
| tokens[].symbol | token symbol |
| tokens[].ATT_pct | attention share as % of all bankr ecosystem posts |
| tokens[].velocity | posts/hour vs baseline (3x+ = meaningful spike) |
| tokens[].unique_authors | distinct creators posting about this token |
| tokens[].posts_count | total posts in the window |
| tokens[].avg_likes | average likes per post |
| tokens[].engagement_quality | fraction of posts with ≥10 likes (0–1) |
| tokens[].trend | growing | active | quiet | dead |
| tokens[].attention_stage | lifecycle position: early | building | peak | fading | dormant |
| tokens[].rotation | momentum direction signal |
| tokens[].top_author | creator with most engagement on this token |
| tokens[].health.score | overall health score (0–100) |
| tokens[].health.grade | A | B | C | D | F |
| tokens[].health.status | human-readable status label |
| tokens[].health.subscores | momentum, authenticity, quality, onchain (each 0–25) |
| tokens[].health.opportunities | signal opportunities detected |
| tokens[].health.risks | risk flags detected |
| tokens[].health.action | actionable insight summary |
| tokens[].address | Base contract address |
| tokens[].handle | official X/Twitter handle |
| meta.total_tokens | total ecosystem tokens tracked (39) |
| meta.time_window_hours | lookback window used |
{
"ecosystem": "bankr",
"tokens": [
{
"symbol": "GITLAWB",
"ATT_pct": 12.4,
"velocity": 4.2,
"unique_authors": 18,
"posts_count": 64,
"avg_likes": 22.3,
"engagement_quality": 0.72,
"trend": "growing",
"attention_stage": "building",
"top_author": { "username": "@kevincodex", "followers": 10160 },
"health": {
"score": 74,
"grade": "B",
"status": "healthy momentum",
"subscores": { "momentum": 20, "authenticity": 18, "quality": 19, "onchain": 17 },
"opportunities": ["velocity spike — attention building"],
"risks": [],
"action": "strong organic build — watch for price follow-through"
},
"address": "0x...",
"handle": "@gitlawb"
}
],
"meta": {
"total_tokens": 39,
"returned": 10,
"time_window_hours": 24,
"sort_by": "ATT_pct"
}
}
Every endpoint response includes a signal_interpretation block. This 7-field agent-readable structure decodes the signal pattern in one glance.
| field | values & meaning |
|---|---|
| propagation_mode | quiet: external triggers, low echo | organic: community self-amplification | viral: self-sustaining cascade |
| followthrough | strong: momentum will compound | thin: won't compound much | uncertain: not enough data yet |
| decay_risk | imminent: <1h | pending: 1-4h | low: 4h+ | unknown: insufficient data |
| flow_type | organic: f_endo >0.5 (community-driven) | exogenous: f_endo <0.35 (external event) | mixed: in-between |
| price_alignment | aligned: historically precedes price moves | misaligned: won't convert to price | roughly_aligned: sometimes follows | unknown: no history |
| summary | one-word situation label: rotation_risk | early_momentum | fading_spike | sustained_build | exogenous_event | noise | building |
| agent_action_hint | high_conviction: strong organic build, act | flag: notable but uncertain | monitor: watch closely | deprioritize: fading | rotate_out: attention leaving |
from x402.http import x402_client
import httpx
client = x402_client(
private_key="0xYOUR_KEY",
httpx_client=httpx.Client()
)
# radar sweep — best opportunities right now ($0.15)
signal = client.get("https://api.checkr.social/v1/signal").json()
# deep dive on the top result ($0.75)
top = signal["signals"][0]["symbol"]
token = client.get(f"https://api.checkr.social/v1/token/{top}").json()
# x402-authenticated requests require HTTP signing
# use an x402-compatible client (Python SDK recommended)