The Nolimitnodes API provides three communication protocols for interacting with the Solana blockchain:

Endpoints

ProtocolEndpointUse Case
JSON-RPChttps://api.nolimitnodes.com/solana_mainnet?apikey=YOUR_API_KEYQuerying blockchain state, sending transactions
WebSocket (RPC)wss://api.nolimitnodes.com/solana_mainnet?apikey=YOUR_API_KEYReal-time subscriptions (accounts, slots, logs)
WebSocket (Data Streams)wss://api.nolimitnodes.com/socket?apikey=YOUR_API_KEYJupiter swaps, Pump Fun, liquidity pools, token creations, wallet transfers

JSON-RPC Request Format

All RPC requests follow the JSON-RPC 2.0 specification:
jsonrpc
string
required
Must be "2.0".
id
integer
required
A unique identifier for the request.
method
string
required
The RPC method name (e.g., "getSlot", "getBalance").
params
array
Method-specific parameters.

Example Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getBalance",
  "params": ["83astBRguLMdt2h5U1Tbd1hZemEfWp1YGt6jZvoRoKCo"]
}

Example Response

{
  "jsonrpc": "2.0",
  "result": {
    "context": {
      "slot": 1
    },
    "value": 0
  },
  "id": 1
}

Data Stream Request Format

Data stream subscriptions use a different format via the dataSubscribe method:
method
string
required
Must be "dataSubscribe" for subscribing or "dataUnsubscribe" for unsubscribing.
params.referenceId
string
required
A client-defined reference ID for the subscription.
params.streams
array
required
Array of stream objects, each with a stream name and optional params for filtering.

Example Subscription

{
  "method": "dataSubscribe",
  "params": {
    "referenceId": "MY_STREAM",
    "streams": [
      {
        "stream": "walletTransfersSubscribe",
        "params": {
          "token": "So11111111111111111111111111111111111111112"
        }
      }
    ]
  },
  "id": 1
}

Unsubscribing

{
  "method": "dataUnsubscribe",
  "params": {
    "subscriptionIds": ["your_subscription_id_here"],
    "referenceId": "UNSUB_REF"
  }
}

Commitment Levels

Many RPC methods accept an optional commitment parameter:
LevelDescription
finalizedBlock confirmed by supermajority of the cluster. Most reliable.
confirmedBlock has received votes from supermajority. Fast and reliable.
processedBlock processed by the connected node. Fastest but may be reverted.

Encoding Formats

Response data can be returned in different encodings:
FormatDescription
base58Base-58 encoded string (default for small data)
base64Base-64 encoded string
base64+zstdZstandard-compressed base-64 string
jsonParsedParsed JSON format (when available)