For JavaScript applications, use the SOON JavaScript SDK as a convenient interface for the RPC methods to interact with a SOON node. For a PubSub connection to a SOON node, use the WebSocket API.

RPC HTTP Endpoint

RPC Endpoints

Testnet

Local Development

Request Formatting

To make a JSON-RPC request, send an HTTP POST request with a Content-Type: application/json header. The JSON request data should contain 4 fields:

  • jsonrpc: <string> - set to "2.0"

  • id: <string | number | null> - a unique identifier for the request, generated by the client

  • method: <string> - a string containing the method to be invoked

  • params: <array> - a JSON array of ordered parameter values

Example using curl:

curl https://rpc.testnet.soo.network/rpc -X POST -H "Content-Type: application/json" -d '
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getBalance",
  "params": [
    "6dRnxBGavrfCyKRwfkdwBWxVwwBpwx4ZJpca6K5bbLYo"
  ]
}
'

The response output will be a JSON object with the following fields:

  • jsonrpc: <string> - matching the request specification

  • id: <number> - matching the request identifier

  • result: <array|number|object|string> - requested data or success confirmation

Requests can be sent in batches by sending an array of JSON-RPC request objects as the data for a single POST.

Example Request

The timestamp parameter can be included as the last element in the params array:

curl https://rpc.testnet.soo.network/rpc -X POST -H "Content-Type: application/json" -d '
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getBalance",
  "params": [
    "6dRnxBGavrfCyKRwfkdwBWxVwwBpwx4ZJpca6K5bbLYo",
    {
      "timestamp": 1734670442
    }
  ]
}'