> ## Documentation Index
> Fetch the complete documentation index at: https://docs.raze.bot/llms.txt
> Use this file to discover all available pages before exploring further.

# JSON-RPC Methods

> Complete list of supported Solana JSON-RPC methods via the Raze relay

## Overview

The Raze gateway transparently proxies all standard Solana JSON-RPC methods to a load-balanced pool of upstream validators. Beyond the custom methods (`sendTransaction`, `sendBundle`), you can use any method from the [Solana JSON-RPC API](https://docs.solana.com/api/http).

**Base URL:** Any regional gateway endpoint

* `https://rpc.raze.bot/` — GeoDNS routes to the nearest region automatically (works in web3.js / browsers)
* And 5 others ([see all regions](/api-reference/solana-rpc/protocols#servers))

`https://rpc.raze.bot/` exposes the standard JSON-RPC handler (used by Raze SDKs and web3.js alike).

***

## Helius / DAS methods

The gateway implements **Helius-compatible** [Digital Asset Standard](https://www.helius.dev/docs/api-reference/das) JSON-RPC locally (backed by Raze History, not Helius upstream):

| Method                             | Status        |
| ---------------------------------- | ------------- |
| `getAsset`                         | Supported     |
| `getAssetsByOwner`                 | Supported     |
| `getAssetsByCreator`               | Supported     |
| `getAssetsByAuthority`             | Supported     |
| `getAssetsByGroup`                 | Partial       |
| `searchAssets`                     | Partial       |
| `getAssetSignatures`               | Supported     |
| `getAssetProof` / `getAssetProofs` | Not supported |

See [Helius / DAS compatibility](/api-reference/solana-rpc/helius-das) for auth (`?apikey=`), limits, and migration notes.

***

## Transaction Methods

| Method                      | Description                                                                                           |
| --------------------------- | ----------------------------------------------------------------------------------------------------- |
| **sendTransaction**         | Submit a single signed transaction (custom, tip-routed)                                               |
| **sendBundle**              | Submit a Jito-compatible bundle (custom; bundle must carry its own Jito tip, `pro`/`enterprise` only) |
| **simulateTransaction**     | Simulate a transaction without submitting it                                                          |
| **getSignatureStatus**      | Get the status of a single transaction signature                                                      |
| **getSignatureStatuses**    | Get statuses for multiple transaction signatures                                                      |
| **getTransaction**          | Fetch full transaction details by signature                                                           |
| **getSignaturesForAddress** | Get recent signatures for a wallet address                                                            |

***

## Account Methods

| Method                      | Description                                        |
| --------------------------- | -------------------------------------------------- |
| **getAccountInfo**          | Get account data and balance for a public key      |
| **getMultipleAccounts**     | Get account data for multiple public keys          |
| **getProgramAccounts**      | Get all accounts owned by a program                |
| **getTokenAccountBalance**  | Get SPL token balance for a token account          |
| **getTokenAccountsByOwner** | Get all token accounts for a wallet (by owner)     |
| **getTokenLargestAccounts** | Get largest token accounts by balance (for a mint) |
| **getTokenSupply**          | Get total supply of an SPL token                   |

***

## Block & Slot Methods

| Method             | Description                                       |
| ------------------ | ------------------------------------------------- |
| **getBlock**       | Get block details (transactions, blockhash, etc.) |
| **getBlocks**      | Get a range of confirmed block slot numbers       |
| **getBlockHeight** | Get the current block height                      |
| **getSlot**        | Get the current slot number                       |
| **getSlotLeader**  | Get the leader for the current slot               |
| **getSlotLeaders** | Get leaders for a range of slots                  |

***

## Cluster & Network Methods

| Method                 | Description                                             |
| ---------------------- | ------------------------------------------------------- |
| **getClusterNodes**    | Get info on all cluster nodes (validators)              |
| **getEpochSchedule**   | Get the epoch schedule (slots per epoch, etc.)          |
| **getLeaderSchedule**  | Get the leader schedule for an epoch                    |
| **getLatestBlockhash** | Get the latest blockhash (for transactions)             |
| **getRecentBlockhash** | Get a recent blockhash (legacy, use getLatestBlockhash) |

***

## Usage Example

All methods use standard Solana JSON-RPC 2.0 format:

```bash theme={null}
curl -X POST https://rpc.raze.bot \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getBalance",
    "params": ["11111111111111111111111111111112"]
  }'
```

Response:

```json theme={null}
{
  "jsonrpc": "2.0",
  "result": {
    "context": {"slot": 12345},
    "value": 500000000
  },
  "id": 1
}
```

***

## Method Categories

The gateway intelligently routes requests based on method category:

### Write Methods

Transactions and simulations are prioritized for low latency:

* `sendTransaction` (custom, tip-routed)
* `sendBundle` (custom, Jito-compatible)
* `simulateTransaction`

### High-Reliability Methods

Critical methods are fanned out to multiple endpoints for maximum uptime:

* Signature confirmation (`getSignatureStatus`, `getSignatureStatuses`)
* Transaction lookup (`getTransaction`)
* Block queries (`getBlock`, `getBlocks`)
* Cluster info (`getSlotLeader`, `getSlotLeaders`, `getClusterNodes`, `getLeaderSchedule`, `getEpochSchedule`)

### Token Index Methods

Some methods rely on optional validator indexes that not all RPC endpoints have. Raze automatically fans out these requests across multiple endpoints and unions the results:

* `getTokenAccountsByOwner` (returns all accounts, not partial)
* `getTokenLargestAccounts`

***

## Error Handling

All methods return standard JSON-RPC error codes:

| Code                 | Meaning                                     |
| -------------------- | ------------------------------------------- |
| `-32700`             | Parse error (invalid JSON)                  |
| `-32600`             | Invalid Request                             |
| `-32601`             | Method not found                            |
| `-32602`             | Invalid params                              |
| `-32603`             | Internal error                              |
| `-32000` to `-32099` | Server errors (RPC endpoint failures, etc.) |

***

## Rate Limits

Rate limits are enforced per API key, per minute, with a daily cap:

| Tier           | Requests / minute | Requests / day |
| -------------- | ----------------- | -------------- |
| Free / default | 60                | 10,000         |
| Pro            | 300               | 100,000        |
| Enterprise     | 1,000             | 1,000,000      |

Use the portal ([raze.bot](https://raze.bot)) to upgrade and get higher limits on your API key.

***

## See Also

* [Helius / DAS compatibility](/api-reference/solana-rpc/helius-das)
* [sendTransaction](/api-reference/solana-rpc/send-transaction)
* [sendBundle](/api-reference/solana-rpc/send-bundle)
* [Protocols & Low-Latency Options](/api-reference/solana-rpc/protocols)
* [Solana JSON-RPC Docs](https://docs.solana.com/api/http)
