RPC error close 4003: scope_missing
Last updated:
At a glance
| Property | Value |
|---|---|
| Applies to | Robinhood Chain (chain ID 4663) |
| Close code | 4003 |
| Subscriptions scope | robinhood:rpc (Basic and above) |
| Feed scope | robinhood:feed (Pro and above) |
Cause
Scopes are checked separately from authentication. A key without robinhood:rpc cannot open the JSON-RPC WebSocket, and a key without robinhood:feed cannot open the sequencer feed — even on a plan that includes the feed. The connection is closed with code 4003.
Solution
- Add the missing scope to the key in the console: robinhood:rpc for /ws/robinhood, robinhood:feed for /ws/robinhood-feed.
- Check the plan as well: WebSocket subscriptions start at Basic, and the feed starts at Pro.
- Reconnect after the scope change — an open connection is not upgraded retroactively.
FAQ
- My plan includes the feed, so why 4003?
- Plan and scope are separate. The feed needs the robinhood:feed scope on the key in addition to a Pro or higher plan.
- Does the feed work with robinhood:rpc?
- No. The feed requires its own robinhood:feed scope.