Cambrian Detect trending tokens with social momentum API
GET /api/v1/deep42/social-data/trending-momentum
Trending Momentum
Overview
Identifies tokens with rapidly increasing social signals and momentum indicators. It detects trending tokens by combining tweet velocity, engagement growth, and quality signals into a single momentum score, and can return either an aggregate ranking or a time-series breakdown of that momentum.
Business Value
- Early trend detection: Surfaces tokens experiencing rapid acceleration in social activity before they become widely known.
- Signal quality filtering: Combines velocity with sentiment and quality scores so spikes in low-quality chatter don't dominate results.
- Flexible time resolution: Choose between a single aggregate ranking or granular time-series data (hourly to monthly) to study momentum evolution.
- Actionable momentum scoring: A single composite
momentumScoresimplifies ranking and alerting without needing to combine multiple raw metrics. - Reach and engagement context: Includes unique author counts and total reach to help distinguish organic momentum from narrow, low-diversity chatter.
Endpoint Details
URL:
https://api.cambrian.org/deep42/social-data/trending-momentum
Method: GET
Authentication: Required via X-API-KEY header
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| lookback_hours | integer | No | 24 | Hours to look back for trend detection. Minimum: 1, Maximum: 168. |
| min_velocity | number | No | 0.3 | Minimum velocity score (rate of change). Minimum: 0. |
| limit | integer | No | 15 | Number of trending tokens to return. Maximum: 50. In time-series mode, the maximum number of rows; in v2.1 and later, time-series mode returns every bucket for up to this many tokens. |
| granularity | string | No | total | Time granularity for momentum analysis. Allowed values: total, 1h, 3h, 6h, 12h, 24h, 1d, 3d, 7d, 30d. total returns a single aggregate momentum ranking; other values return time-series momentum data (limited to 1000 rows). In v2.1 and later, each bucket has the width of this value and covers the full lookback_hours window; an unsupported value returns 400. |
Response Field Descriptions
| Response Field | Type | Description |
|---|---|---|
| tokenSymbol | string | Token symbol |
| momentumScore | number | Composite momentum score combining velocity, volume, and quality. Unbounded, typically 0-100. >10 = trending, >50 = viral momentum. |
| tweetVelocity | number | Rate of tweet volume change as a multiplier. 1.0 = flat, 2.0 = doubled. >1.5 = strong acceleration. |
| engagementVelocity | number | With granularity=total, the average engagement (likes + retweets + replies) per tweet in the lookback window. Unbounded, 0 or more. In time-series responses, the engagement of the bucket divided by the engagement of the previous bucket for the same token: 1.0 = flat, 2.0 = doubled, first bucket is 1.0. A value of 0 is returned as 1 (in v2.1 and later, a value of 0 is returned as 0). |
| recentTweets | integer | Recent tweet count in the lookback window. Time-series responses return 0 (in v2.1 and later, each time-series row gives the tweet count of its bucket). |
| uniqueAuthors | integer | Number of unique authors discussing this token. |
| qualityScore | number | Combined average sentiment and alpha quality. Range 0-20. >10 = above-average combined quality, >15 = high combined quality. |
| qualityDelta | number | Change in the combined quality score from the preceding equal-length period when granularity=total. Range -20 to 20. Positive means quality rose; negative means quality fell. Returns 0 when no prior period is available or in time-series responses. |
| sentiment | number | Average sentiment score. Range 0-10. 0 = very bearish, 5 = neutral, 10 = very bullish. |
| totalReach | integer | Total views across all tweets in the window. |
| trendDirection | string | Trending direction: 'up' or 'down'. |
Examples
Get top trending tokens by momentum
Retrieves an aggregate momentum ranking (default granularity=total), limited to the top 3 tokens by composite momentum score.
curl -X GET "https://api.cambrian.org/deep42/social-data/trending-momentum?limit=3" \
-H "X-API-KEY: YOUR_API_KEY" \
-H "Content-Type: application/json"
Response:
[
{
"tokenSymbol": "LIT",
"recentTweets": 110,
"uniqueAuthors": 93,
"sentiment": 5.38,
"qualityScore": 7.33,
"qualityDelta": -1.1,
"totalReach": 230891,
"tweetVelocity": 3.9,
"engagementVelocity": 28.87,
"momentumScore": 352.6
},
{
"tokenSymbol": "SOON",
"recentTweets": 25,
"uniqueAuthors": 19,
"sentiment": 6.28,
"qualityScore": 9.12,
"qualityDelta": 1.25,
"totalReach": 68477,
"tweetVelocity": 2.55,
"engagementVelocity": 28.52,
"momentumScore": 258.48
},
{
"tokenSymbol": "FORM",
"recentTweets": 5,
"uniqueAuthors": 5,
"sentiment": 6,
"qualityScore": 8.8,
"qualityDelta": 0,
"totalReach": 31290,
"tweetVelocity": 2.67,
"engagementVelocity": 22.4,
"momentumScore": 242.91
}
]
This example is limited to the top 3 results. LIT leads with the highest momentum score (352.6), driven by strong tweet velocity (3.9x) and high engagement velocity (28.87), despite a negative quality delta. SOON and FORM follow with lower tweet volume but comparable or higher quality scores.
x402 Payment Option
This endpoint supports pay-per-use access via the x402 payment protocol (v2): pay $0.05 USDC per request using blockchain micropayments. No API key required.
Quick Start (TypeScript)
npm install @x402/fetch @x402/evm viem
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";
const signer = privateKeyToAccount(process.env.EVM_PRIVATE_KEY as `0x${string}`);
const client = new x402Client();
client.register("eip155:*", new ExactEvmScheme(signer));
const fetchWithPayment = wrapFetchWithPayment(fetch, client);
const response = await fetchWithPayment(
"https://x402.cambrian.org/deep42/social-data/trending-momentum"
);
const data = await response.json();
Quick Start (Python)
pip install "x402[httpx]"
import asyncio, os
from eth_account import Account
from x402 import x402Client
from x402.http.clients import x402HttpxClient
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact.register import register_exact_evm_client
async def main():
client = x402Client()
account = Account.from_key(os.getenv("EVM_PRIVATE_KEY"))
register_exact_evm_client(client, EthAccountSigner(account))
async with x402HttpxClient(client) as http:
response = await http.get("https://x402.cambrian.org/deep42/social-data/trending-momentum")
print(response.json())
asyncio.run(main())
Payment Flow
- Send a normal request to the endpoint (no API key needed)
- Server returns
402 Payment Requiredwith payment details - The x402 SDK automatically signs a payment authorization with your wallet
- The SDK resubmits the request with the signed payment
- Server verifies payment and returns the API response
The x402 SDK handles steps 2 through 5 automatically.
Network: Base (chain ID 8453) | Currency: USDC | Price: $0.05 per request
API Versioning
This endpoint supports multiple API versions. Use the Accept header to request a specific version.
Available Versions
| Version | State | Default | Accept Header |
|---|---|---|---|
| 1.0.0 | Current | No | application/vnd.cambrian.deep42.social-data.trending-momentum.v1+json |
| 1.1.0 | Current | No | application/vnd.cambrian.deep42.social-data.trending-momentum.v1.1+json |
| 2.0.0 | Current | Yes | application/vnd.cambrian.deep42.social-data.trending-momentum.v2+json |
| 2.1.0 | Current | No | application/vnd.cambrian.deep42.social-data.trending-momentum.v2.1+json |
How to Request a Specific Version
curl -X GET "https://api.cambrian.org/deep42/social-data/trending-momentum" \
-H "X-API-KEY: YOUR_API_KEY" \
-H "Accept: application/vnd.cambrian.deep42.social-data.trending-momentum.v1+json"
Version Lifecycle
- Current: Actively maintained and recommended for new integrations
- Deprecated: Still functional but scheduled for removal (check
deprecated_at) - Sunset: No longer available (returns
410 Gone)
Note: If no Accept header is specified, the default version (2.0.0) is returned.
Related Endpoints
- /deep42/social-data/alpha-tweet-detection - Feed of tweets scored for sentiment, alpha, legitimacy, and technical accuracy.
- /deep42/social-data/influencer-credibility - Cryptocurrency influencers ranked by directional-price track record.
- /deep42/social-data/sentiment-shifts - Tokens with significant sentiment changes between comparison periods.
- /deep42/social-data/token-analysis - Comprehensive social intelligence report for a single cryptocurrency token.