Skip to content

GET /arb

$0.02 USDC

A market stress index from a cross-chain arbitrage scanner that runs every 5 minutes: how many cross-chain price dislocations the most recent scans found and how wide they were, summarised as one level and score. The thresholds are heuristics.

GET https://api.cerebruspulse.xyz/arb
ParameterTypeDefaultRangeDescription
limitinteger101–50How many of the most recent scans to analyze. Outside the range the request is refused with 400 before any price is quoted.
FieldTypeDescription
endpointstringarb
timestamp_isostringWhen the response was computed (UTC)
stress_index.levelstringLOW, MODERATE, HIGH or EXTREME (see below)
stress_index.scorenumber0 to 1 within the level’s band
stress_index.interpretationstringThe level in words
statistics.scans_analyzednumberScans read (up to limit)
statistics.total_opportunitiesnumberDislocations found across those scans
statistics.total_profitablenumberOf those, the ones the scanner rated profitable after costs
statistics.avg_spread_bpsnumberMean spread of the dislocations, in basis points
statistics.max_spread_bpsnumberWidest spread, in basis points
statistics.unique_tokens_involvedarrayTokens in the dislocated pairs
statistics.chain_routesarrayBuy-chain to sell-chain routes, as chain->chain
recent_scans[].timestampstringWhen the scan ran
recent_scans[].scan_duration_snumberHow long it took
recent_scans[].opportunities_foundnumberDislocations in the scan
recent_scans[].profitable_countnumberOf those, rated profitable
recent_scans[].chains_scannednumberChains checked
recent_scans[].pairs_scannednumberToken pairs checked
recent_scans[].opportunitiesarrayOptional. Present when the scan found any: pair, spread_bps and estimated_profit_usd for each
metaobjectCommon metadata (Response Schemas)
meta.offeringstringpulse_stress
meta.scan_interval_minutesnumber5
meta.data_sourcestringThe scanner’s price sources: DeFiLlama, Chainlink and Coinbase
meta.excludedstringOptional. Present while Coinbase-derived data is switched off: opportunities with a Coinbase-priced leg are left out
meta.cachedbooleanOptional. true when the result is reused because no new scan has been logged

meta.as_of.arb_log is the time of the newest scan.

LevelWhenScore
LOWNo dislocations, or at most 2 with every spread under 100 bps0 to 0.3
MODERATEAt most 5 dislocations, or a widest spread under 200 bps0.3 to 0.7
HIGHAt most 10 dislocations, or a widest spread under 500 bps0.7 to 0.9
EXTREMEMore, and wider0.9 to 1.0

No captured example: the data capture held no arbitrage log. The fields above follow the engine’s process_arb.

StatusReason
400limit outside 1–50 (before any price is quoted), or no scan data yet (not charged)
402Payment required (the standard x402 flow)
429Rate limit exceeded
503Service disabled, payments down, or the arbitrage log is missing or stale; no price is quoted
504Engine timeout (not charged)