GET /bundle/{coin}
GET /bundle/{coin}
Section titled “GET /bundle/{coin}”Request
Section titled “Request”GET https://api.cerebruspulse.xyz/bundle/{coin}Path Parameters
Section titled “Path Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
coin | string | Yes | Market symbol, case-insensitive (BTC, ETH, SOL). GET /coins lists them. |
Query Parameters
Section titled “Query Parameters”| Parameter | Type | Default | Description |
|---|---|---|---|
timeframes | string | 1h,4h | Comma-separated, from 5m, 15m, 1h, 4h, 1d, 1w, as for /pulse. |
The funding window is always 24 hours; use /funding for another lookback.
Response
Section titled “Response”The technical sections are the same objects /pulse returns; see that page for their fields.
| Field | Type | Description |
|---|---|---|
endpoint | string | bundle |
coin | string | The symbol, upper-case |
market_symbol | string | Hyperliquid’s name for the market (kPEPE for PEPE) |
price_unit | string | What prices are quoted per: 1 BTC, or 1000 PEPE for a 1000-token market |
timestamp_iso | string | When the response was computed (UTC) |
price.current | number | Hyperliquid mid price in USD per price_unit |
timeframes | object | Per-timeframe indicators, as in /pulse |
confluence | object | The confluence vote share, as in /pulse |
derivatives | object | Hourly funding, open interest in contracts and impact prices, as in /pulse |
regime | object | The market regime, as in /pulse |
funding_24h.coin | string | The symbol |
funding_24h.records | number | Hourly funding records in the last 24 hours |
funding_24h.lookback_hours | number | 24 |
funding_24h.avg_funding_rate | number | Mean hourly funding rate over the window |
funding_24h.annualized_pct | number | avg_funding_rate × 24 × 365 × 100 |
funding_24h.funding_interval_hours | number | 1: Hyperliquid pays funding hourly |
funding_24h.current | number | The newest record’s hourly rate |
funding_24h.min | number | Lowest hourly rate in the window |
funding_24h.max | number | Highest hourly rate in the window |
funding_24h.positive_pct | number | Share of records with a positive rate (longs paid shorts), in percent |
funding_24h.note | string | Optional. unavailable, in place of the statistics, when the funding history cannot be read |
sentiment.label | string | The market sentiment label, as in /sentiment |
sentiment.as_of | number | When the sentiment collector last wrote (Unix seconds) |
sentiment.composite_method | string | live_mean or collector |
sentiment.sources_live | string | Live inputs out of all inputs, e.g. 5/8 |
sentiment.live_sources | array | Names of the live inputs |
meta | object | Common metadata (Response Schemas) |
meta.offering | string | pulse_bundle |
meta.as_of holds market_data, one candles_<tf> per timeframe and funding (the newest funding record).
Example
Section titled “Example”GET /bundle/BTC?timeframes=1h,4h: real engine output on market data captured at 2026-09-24 17:05 UTC. Lists are cut to 3 items. Live responses may also carry meta.disclaimer, which the gateway adds.
{ "endpoint": "bundle", "coin": "BTC", "market_symbol": "BTC", "price_unit": "1 BTC", "timestamp_iso": "2026-09-24T17:05:00Z", "price": { "current": 84512.5 }, "timeframes": { "1h": { "indicators": { "rsi_14": 49.16, "rsi_zone": "neutral", "atr_14": 495.286126, "atr_pct": 0.5881, "ema_20": 84134.27882, "ema_50": 84555.185241, "ema_200": 82476.178645, "vwap_20": 84001.13142, "zscore_100": -0.173, "bollinger": { "upper": 84796.137043, "middle": 84040.55, "lower": 83284.962957, "width_pct": 1.7981, "position_pct": 0.6194 }, "trend": { "direction": 1, "label": "weak_bullish", "ema_stack": "mixed" } }, "candle_freshness_seconds": 300.8, "last_closed_candle_time": "2026-09-24T17:00:00Z", "stale": false }, "4h": { "indicators": { "rsi_14": 47.17, "rsi_zone": "neutral", "atr_14": 727.64216, "atr_pct": 0.8715, "ema_20": 84338.703076, "ema_50": 82423.649073, "ema_200": 77957.991913, "vwap_20": 84859.417592, "zscore_100": 1.1847, "bollinger": { "upper": 87855.263546, "middle": 85270.85, "lower": 82686.436454, "width_pct": 6.0617, "position_pct": 0.1557 }, "trend": { "direction": 1, "label": "weak_bullish", "ema_stack": "mixed" } }, "candle_freshness_seconds": 3900.8, "last_closed_candle_time": "2026-09-24T16:00:00Z", "stale": false } }, "confluence": { "score": 0.62, "bias": "bullish", "signals": { "rsi": "neutral", "trend": "bullish", "bollinger": "neutral", "zscore": "neutral" }, "bullish_count": 1, "bearish_count": 0, "per_timeframe": { "1h": { "score": 0.62, "bull_fraction": 0.625, "family_scores": { "trend_following": 0.75, "mean_reversion": 0.5 }, "bias": "bullish", "signals": { "rsi": "neutral", "trend": "bullish", "bollinger": "neutral", "zscore": "neutral" }, "bullish_count": 1, "bearish_count": 0 }, "4h": { "score": 0.75, "bull_fraction": 0.75, "family_scores": { "trend_following": 0.75, "mean_reversion": 0.75 }, "bias": "bullish", "signals": { "rsi": "neutral", "trend": "bullish", "bollinger": "bullish", "zscore": "neutral" }, "bullish_count": 2, "bearish_count": 0 } }, "aligned": true, "alignment_score": 1, "bull_fraction": 0.625, "family_scores": { "trend_following": 0.75, "mean_reversion": 0.5 }, "primary_timeframe": "1h", "score_type": "heuristic_vote_share", "validated": false, "definition": "score = bull_fraction = (bullish + 0.5*neutral) / votes on primary_timeframe; an unvalidated heuristic, not a confidence or probability" }, "derivatives": { "funding_rate": 0.0000125, "funding_annualized_pct": 10.95, "funding_interval_hours": 1, "open_interest": 39370.3015, "impact_bid": 84485.4, "impact_ask": 84500, "impact_spread_bps": 1.73, "spread_bps": 1.73 }, "funding_24h": { "coin": "BTC", "records": 23, "lookback_hours": 24, "avg_funding_rate": 0.0000081, "annualized_pct": 7.09, "funding_interval_hours": 1, "current": 0.0000125, "min": -0.00000723, "max": 0.0000125, "positive_pct": 82.6 }, "sentiment": { "label": "bullish", "as_of": 1790269024.020345, "composite_method": "live_mean", "sources_live": "5/8", "live_sources": [ "fear_greed", "news_vader", "onchain" ] }, "regime": { "current": "unknown", "as_of": 0 }, "meta": { "provider": "Cerebrus Pulse", "offering": "pulse_bundle", "execution_ms": 0, "data_age_seconds": 60, "as_of": { "market_data": "2026-09-24T17:04:00Z", "candles_1h": "2026-09-24T17:00:00Z", "candles_4h": "2026-09-24T16:00:00Z", "funding": "2026-09-24T16:00:00Z" }, "sources": [ { "name": "Hyperliquid", "url": "https://hyperliquid.xyz" }, { "name": "Crypto Fear & Greed Index by alternative.me", "url": "https://alternative.me/crypto/fear-and-greed-index/" }, { "name": "News headlines from Cointelegraph, CoinDesk and Crypto News RSS feeds, scored for sentiment by Cerebrus Pulse" }, { "name": "DefiLlama", "url": "https://defillama.com" }, { "name": "FRED, Federal Reserve Bank of St. Louis", "url": "https://fred.stlouisfed.org", "notice": "This product uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis." }, { "name": "CoinGecko", "url": "https://www.coingecko.com", "notice": "Powered by CoinGecko" } ] }}When to Use Bundle
Section titled “When to Use Bundle”- Use bundle when you want the technical picture, recent funding and market sentiment for one coin: one request instead of three.
- Use individual endpoints when you only need one of them, a funding window other than 24 hours, or sentiment (which is not coin-specific) on its own.
Errors
Section titled “Errors”| Status | Reason |
|---|---|
| 400 | Unsupported timeframe (before any price is quoted), or no requested timeframe could be computed (not charged) |
| 402 | Payment required (the standard x402 flow) |
| 404 | Unknown coin (before any price is quoted) |
| 429 | Rate limit exceeded |
| 503 | Service disabled, payments down, or an upstream feed is missing or stale; no price is quoted |
| 504 | Engine timeout (not charged) |