Cambrian Detect trending tokens with social momentum API

By Cambrian Network deep42

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 momentumScore simplifies 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

  1. Send a normal request to the endpoint (no API key needed)
  2. Server returns 402 Payment Required with payment details
  3. The x402 SDK automatically signs a payment authorization with your wallet
  4. The SDK resubmits the request with the signed payment
  5. 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.