Requires the Stock Token API add-on on Robinhood Chain mainnet. See additional details below or the full overview.
Parameters
- optionsobject
Optional filters and read options. Unknown keys are rejected with -32602.
- symbolsarray
Case-insensitive stock tickers. Unknown tickers are skipped. Omit to use all tokens or registered feeds.
- feedsarray
Registered Chainlink proxy addresses. Unregistered addresses return -32602. Duplicates are removed.
- blockTagstring
Block to read: a hex block number, block hash, latest (default), safe, or finalized. All on-chain reads use this one block.
Returns
- resultobject
The stock token API result at the reported block.
- blockNumberstring
Snapshot block number in hexadecimal. Nested event block numbers are integers.
- blockHashstring
Hash of the snapshot block.
- sequencerobject
Sequencer uptime status and supplemental live signals.
- statusstring
Sequencer status from its uptime feed: UP, DOWN, or UNKNOWN. UNKNOWN when no uptime feed is configured.
- latestBlockAgeSecondsinteger or null
Seconds since the newest block. Robinhood Chain produces blocks constantly, so a value above ~60 s suggests the sequencer has stopped. May be null when unavailable or not applicable.
- operatorStatusobject or null
The chain operator's status page (Offchain Labs runs the sequencer):
OPERATIONAL,DEGRADEDPERFORMANCE,PARTIALOUTAGE,MAJOROUTAGEorUNDERMAINTENANCE, withobservedAt. It's posted by people, so it can lag an outage.nullif we couldn't read it in the last 5 minutes. May be null when unavailable or not applicable.- statusstring
Operator status: OPERATIONAL, DEGRADEDPERFORMANCE, PARTIALOUTAGE, MAJOROUTAGE, or UNDERMAINTENANCE.
- sourcestring
Source of the operator status signal.
- observedAtinteger
Unix timestamp when operator status was observed.
- upboolean
Present only when sequencer status is known: whether it is up.
- sinceinteger
Present only when sequencer status is known: Unix time of its last status change.
- gracePeriodOverboolean
Present only when sequencer status is known: whether the one-hour recovery grace period is over.
- sessionobject
Equity market session and mint/burn window at the snapshot block time.
- namestring
US equity session at the block time: OVERNIGHT, PRE, REGULAR, POST, or CLOSED.
- nextChangeAtinteger
When the session next changes (Unix seconds).
- mintWindowOpenboolean
Whether Robinhood's mint and burn window is open (Monday 02:00 to Saturday 02:00, Paris time): when Authorized Participants can create or redeem tokens.
- nextMintWindowChangeAtinteger
When that next changes.
- calendarCoveredboolean
falseif the date is beyond the built-in market holiday calendar (adds the warningMARKET_CALENDAR_NOT_COVERED).
- feedsarray
string[]
- feedstring or null
The feed's proxy address, or
nullfor a stock token with no feed. May be null when unavailable or not applicable.
- symbolstring
Stock ticker or priced asset symbol.
- kindstring
EQUITYfor stock feeds,CRYPTOfor the others (crypto, stablecoin and exchange-rate feeds).
- tokenstring or null
Stock token contract address; null for a feed without a stock token. May be null when unavailable or not applicable.
- answerstring or null
The latest price, as an integer string with
decimalsplaces:22266246516with 8 decimals = $222.66. Stock prices already include the token's multiplier. May be null when unavailable or not applicable.
- decimalsinteger or null
Number of decimal places in answer; null when no feed is configured or the read is unavailable.
- updatedAtinteger or null
When the feed last updated, and how long ago. May be null when unavailable or not applicable.
- ageSecondsinteger or null
When the feed last updated, and how long ago. May be null when unavailable or not applicable.
- heartbeatSecondsinteger or null
Chainlink's update rules: a new price at least every heartbeat (24 h for Robinhood feeds), or when the price moves by
deviationBps(50 = 0.5%). May be null when unavailable or not applicable.
- deviationBpsinteger or null
Chainlink's update rules: a new price at least every heartbeat (24 h for Robinhood feeds), or when the price moves by
deviationBps(50 = 0.5%). May be null when unavailable or not applicable.
- thresholdSecondsinteger or null
When a feed counts as stale: 1.5 × Chainlink's heartbeat (
chainlink_heartbeat, every Robinhood feed today), or, for a feed with no published heartbeat, twice its observed 95th-percentile update gap (observed_p95).nonewhen neither is available. May be null when unavailable or not applicable.
- thresholdSourcestring
When a feed counts as stale: 1.5 × Chainlink's heartbeat (
chainlink_heartbeat, every Robinhood feed today), or, for a feed with no published heartbeat, twice its observed 95th-percentile update gap (observed_p95).nonewhen neither is available.
- expectedUpdatingboolean
Whether the feed should be updating now. Always for crypto; for equity feeds, during any session (Sunday 20:00 to Friday 20:00 ET, excluding holidays).
- staleboolean
expectedUpdatingand older than the threshold.
- oraclePausedboolean or null
Robinhood has paused the token's feed (usually around a corporate action); it holds its last price.
nullfor feeds not mapped to a stock token (crypto, stablecoin, exchange rates) or if the read failed. May be null when unavailable or not applicable.
- statusstring
Feed status: OK, STALE, PAUSED, MARKET_CLOSED, SEQUENCER_DOWN, INVALID_ANSWER, NOT_CONFIGURED, or UNKNOWN.
- warningsarray
Warning code strings describing partial data or unavailable signals; empty when there are no warnings.
1{2"jsonrpc": "2.0",3"id": 1,4"result": {5"blockNumber": "0x5b9ec0b",6"blockHash": "0x774ae99a2fdaef91caf90e53a4a3f8d2d95857d524ea5645f2fc5652f37fa4cc",7"sequencer": {8"status": "UNKNOWN",9"latestBlockAgeSeconds": 1,10"operatorStatus": {11"status": "OPERATIONAL",12"source": "status.robinhoodchain.offchain.io",13"observedAt": 179277207014}15},16"session": {17"name": "REGULAR",18"nextChangeAt": 1792785600,19"mintWindowOpen": true,20"nextMintWindowChangeAt": 1792800000,21"calendarCovered": true22},23"feeds": [24{25"feed": null,26"symbol": "CRWD",27"kind": "EQUITY",28"token": "0xea72Ecca2d0f6bFA1394DBBCff85b52CD4233931",29"answer": null,30"decimals": null,31"updatedAt": null,32"ageSeconds": null,33"heartbeatSeconds": null,34"deviationBps": null,35"thresholdSeconds": null,36"thresholdSource": "none",37"expectedUpdating": false,38"stale": false,39"oraclePaused": false,40"status": "NOT_CONFIGURED"41},42{43"feed": "0x379EC4f7C378F34a1B47E4F3cbeBCbAC3E8E9F15",44"symbol": "NVDA",45"kind": "EQUITY",46"token": "0xd0601CE157Db5bdC3162BbaC2a2C8aF5320D9EEC",47"answer": "21223688993",48"decimals": 8,49"updatedAt": 1792769036,50"ageSeconds": 3051,51"heartbeatSeconds": 86400,52"deviationBps": 50,53"thresholdSeconds": 129600,54"thresholdSource": "chainlink_heartbeat",55"expectedUpdating": true,56"stale": false,57"oraclePaused": false,58"status": "OK"59}60],61"warnings": [62"SEQUENCER_STATUS_UNKNOWN"63]64}65}
1{2"jsonrpc": "2.0",3"id": 1,4"result": {5"blockNumber": "0x5b9ec0b",6"blockHash": "0x774ae99a2fdaef91caf90e53a4a3f8d2d95857d524ea5645f2fc5652f37fa4cc",7"sequencer": {8"status": "UNKNOWN",9"latestBlockAgeSeconds": 1,10"operatorStatus": {11"status": "OPERATIONAL",12"source": "status.robinhoodchain.offchain.io",13"observedAt": 179277207014}15},16"session": {17"name": "REGULAR",18"nextChangeAt": 1792785600,19"mintWindowOpen": true,20"nextMintWindowChangeAt": 1792800000,21"calendarCovered": true22},23"feeds": [24{25"feed": null,26"symbol": "CRWD",27"kind": "EQUITY",28"token": "0xea72Ecca2d0f6bFA1394DBBCff85b52CD4233931",29"answer": null,30"decimals": null,31"updatedAt": null,32"ageSeconds": null,33"heartbeatSeconds": null,34"deviationBps": null,35"thresholdSeconds": null,36"thresholdSource": "none",37"expectedUpdating": false,38"stale": false,39"oraclePaused": false,40"status": "NOT_CONFIGURED"41},42{43"feed": "0x379EC4f7C378F34a1B47E4F3cbeBCbAC3E8E9F15",44"symbol": "NVDA",45"kind": "EQUITY",46"token": "0xd0601CE157Db5bdC3162BbaC2a2C8aF5320D9EEC",47"answer": "21223688993",48"decimals": 8,49"updatedAt": 1792769036,50"ageSeconds": 3051,51"heartbeatSeconds": 86400,52"deviationBps": 50,53"thresholdSeconds": 129600,54"thresholdSource": "chainlink_heartbeat",55"expectedUpdating": true,56"stale": false,57"oraclePaused": false,58"status": "OK"59}60],61"warnings": [62"SEQUENCER_STATUS_UNKNOWN"63]64}65}
Additional details
This method returns oracle health signals for Chainlink price feeds on Robinhood Chain—useful for checking feed freshness before using prices in your application.
Sequencer status
On L2s, prices can't be trusted while the sequencer is down or for an hour after recovery. Robinhood Chain doesn't have a Chainlink sequencer uptime feed yet, so status is UNKNOWN and every response includes the SEQUENCER_STATUS_UNKNOWN warning. Two live signals are provided instead:
latestBlockAgeSeconds— Seconds since the newest block. Values above ~60s suggest the sequencer stopped.operatorStatus— The chain operator's status page (OPERATIONAL,DEGRADEDPERFORMANCE, etc.). Can lag actual outages.
These fields are null when using any blockTag other than latest.
Market sessions
The session object shows the current US equity market session at the block's timestamp:
| Session | Hours (ET) |
|---|---|
OVERNIGHT | 20:00–04:00 |
PRE | 04:00–09:30 |
REGULAR | 09:30–16:00 |
POST | 16:00–20:00 |
CLOSED | Weekends and holidays |
mintWindowOpen indicates whether Robinhood's mint/burn window is open (Monday 02:00 to Saturday 02:00 Paris time).
Feed status values
| Status | Meaning |
|---|---|
OK | Updating as expected. |
STALE | Should be updating but older than threshold. |
PAUSED | Robinhood paused it (usually for corporate action); holding last price. |
MARKET_CLOSED | No session open; holding last price as expected. |
SEQUENCER_DOWN | Sequencer down or in grace period (requires uptime feed). |
INVALID_ANSWER | Answer is zero, negative, or never set. |
NOT_CONFIGURED | Stock token has no Chainlink feed. |
UNKNOWN | Read failed or no threshold available. |
When multiple conditions apply, status shows the first in priority order: UNKNOWN → INVALID_ANSWER → SEQUENCER_DOWN → PAUSED → MARKET_CLOSED → STALE → OK.
Warnings
| Warning | Meaning |
|---|---|
SEQUENCER_STATUS_UNKNOWN | No Chainlink sequencer uptime feed exists for Robinhood Chain yet. |
MARKET_CALENDAR_NOT_COVERED | Block date is outside built-in holiday calendar; session may be incorrect. |
Errors
| Code | When |
|---|---|
-32002 | blockTag is ahead of the chain head. |
-32602 | Unregistered address in feeds, unknown option, or invalid blockTag. |
See the overview for setup, conventions, and all error codes.