RPC error HTTP 400: from_sequence must be an unsigned decimal integer
Last updated:
At a glance
| Property | Value |
|---|---|
| Applies to | Robinhood Chain (chain ID 4663) |
| HTTP status | 400 |
| Parameter | from_sequence (unsigned decimal) |
| When | Before the WebSocket upgrade |
Cause
The feed accepts exactly one cursor parameter, from_sequence, and it must be an unsigned decimal integer. A hex quantity, a negative value, a float or an empty value is rejected with HTTP 400 at the handshake — the WebSocket never opens.
Solution
- Send the last fully processed sequence as a decimal number: ?from_sequence=56798024 (not 0x…, not -1).
- Store the cursor as an integer rather than a formatted string.
- Connect without the parameter when you have no cursor, then backfill the range you need over JSON-RPC.
FAQ
- Can I pass a hex sequence?
- No. Only unsigned decimal is accepted, even though JSON-RPC block numbers elsewhere are hex.
- Is early_heads validated the same way?
- Yes — early_heads accepts only 0 or 1, and anything else is rejected with HTTP 400.