GET /depeg
GET /depeg
Section titled “GET /depeg”How far USDC is from $1.00, read from Chainlink’s USDC/USD feed on Arbitrum, plus whether the Arbitrum sequencer was up when the feeds were read.
Request
Section titled “Request”GET https://api.cerebruspulse.xyz/depegNo parameters.
Response
Section titled “Response”| Field | Type | Description |
|---|---|---|
endpoint | string | depeg |
timestamp_iso | string | When the response was computed (UTC) |
usdc.price_usd | number | Chainlink USDC/USD price |
usdc.deviation_bps | number | abs(price_usd − 1) × 10000 |
usdc.deviation_pct | number | The same deviation in percent |
usdc.peg_status | string | HEALTHY (< 10 bps), ELEVATED (10–50), WARNING (50–200) or CRITICAL (200 or more) |
usdc.risk_level | string | low, medium, high or critical, matching peg_status |
usdc.interpretation | string | The deviation in words |
infrastructure.arbitrum_sequencer | string | up, down, or unknown when the check itself failed. While it is not up, treat Arbitrum Chainlink prices as possibly stale |
infrastructure.chainlink_feeds_active | number | Chainlink prices in the snapshot |
meta | object | Common metadata (Response Schemas) |
meta.offering | string | pulse_depeg |
meta.chainlink_data_age_seconds | number | null | Age of the Chainlink snapshot. Above 120 seconds, meta.warning is stale_chainlink_data |
meta.chainlink_round_age_seconds | number | null | Age of the USDC round, when the snapshot records it; null otherwise |
meta.oracle_network | string | arbitrum |
meta.feed_address | string | The Chainlink USDC/USD feed on Arbitrum |
Example
Section titled “Example”GET /depeg: 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": "depeg", "timestamp_iso": "2026-09-24T17:05:00Z", "usdc": { "price_usd": 0.99988061, "deviation_bps": 1.19, "deviation_pct": 0.0119, "peg_status": "HEALTHY", "risk_level": "low", "interpretation": "USDC trading within 10bps of peg — normal conditions" }, "infrastructure": { "arbitrum_sequencer": "up", "chainlink_feeds_active": 38 }, "meta": { "provider": "Cerebrus Pulse", "offering": "pulse_depeg", "execution_ms": 0, "chainlink_data_age_seconds": 55.6, "chainlink_round_age_seconds": null, "oracle_network": "arbitrum", "feed_address": "0x50834F3163758fcC1Df9973b6e91f0F0F0434aD3", "sources": [ { "name": "Chainlink Data Feeds (Arbitrum One)", "url": "https://data.chain.link" } ] }}Errors
Section titled “Errors”| Status | Reason |
|---|---|
| 400 | No Chainlink snapshot yet, or no USDC price in it (the error names the sequencer status); not charged |
| 402 | Payment required (the standard x402 flow) |
| 429 | Rate limit exceeded |
| 503 | Service disabled, payments down, or the Chainlink feed is missing or stale; no price is quoted |
| 504 | Engine timeout (not charged) |