Time to read: 1 min
Transport Protocols
The following transport protocols are available on Rootstock:
HTTP transport protocol​
HTTP requests should be made:
- to the port number specified in the config for rpc.providers.web.http.port- this is 4444by default
- for public nodes, omit the port number
 
- this is 
- to the "root" route (/)
- using the HTTP verb POST
- specifying a Content-Typeheader ofapplication/json
- with a request body specified as stringified JSON
For example, a curl command to a localhost Rootstock node
would look similar to this:
curl http://localhost:4444/ \ \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","method":"RPC_METHOD_NAME","params":[RPC_REQUEST_PARAMETERS],"id":1}'
WebSockets transport protocol​
WebSockets connections should be established:
- to the port number specified in the config for rpc.providers.web.ws.port- this is 4445by default
- public nodes do not have the WebSockets transport protocol enabled
 
- this is 
- to the WebSockets route (/websocket)
Once connected:
- Send a request body specified as stringified JSON
- No "verb" or "headers" are necessary, as these are specific to the HTTP transport protocol
For example, a wscat command to connect to a localhost Rootstock node
would look similar to this:
wscat -c ws://localhost:4445/websocket
After the connection has been established using wscat,
you may send multiple RPC requests within the same session.
(Note that >  marks requests to be input,
and that <  marks responses that will be printed.)
    {"jsonrpc":"2.0","method":"RPC_METHOD_NAME","params":[RPC_REQUEST_PARAMETERS],"id":1}
    {"jsonrpc":"2.0","id":1,"result":"RPC_RESPONSE"}
    {"jsonrpc":"2.0","method":"RPC_METHOD_NAME","params":[RPC_REQUEST_PARAMETERS],"id":2}
    {"jsonrpc":"2.0","id":2,"result":"RPC_RESPONSE"}