# About

A short intro into Solana Vibe Station, a Solana RPC node service provider.

### Who We Are

Solana Vibe Station (SVS) is a Solana infrastructure company headquartered in metro-Atlanta, with production regions in Atlanta and Amsterdam. We build and operate the systems that high-performance Solana applications depend on: RPC endpoints, validator services, gRPC streaming, transaction acceleration, archival data, and a growing suite of higher-level data APIs.

Our team brings together deep experience in distributed systems, low-level network and kernel engineering, validator operations, and Solana protocol internals. We come from backgrounds in offensive security, large-scale data infrastructure, and systems programming — and we apply that same rigor to every piece of the stack we run.

### What Makes Us Different

**We own our infrastructure.** Every server, switch, and cable in our production fleet is hardware we specified, purchased, racked, and tuned ourselves. We do not resell capacity from hyperscalers. We do not run on shared cloud hosts. This is uncommon in the Solana RPC market, and it is the single biggest reason our performance and pricing look the way they do.

**Our VPS customers sit in the same cabinet as our RPC nodes.** When you provision a VPS from us, it is connected to our RPC infrastructure over direct-attach SFP+ cabling — no intermediate switches, no shared backplanes, no datacenter cross-connects. This is the shortest physical path possible between an application and a Solana RPC node, and it is not something a cloud-hosted competitor can replicate.

**We tune the entire stack.** Because we own the hardware and operate the hosts, we control every layer: NIC firmware and ring buffer sizing, kernel network stack parameters, TCP congestion control, NUMA and CPU affinity, validator client tuning, and load balancer behavior. When something can be made faster, we make it faster. When something is broken upstream, we fix it and contribute the patch back — our work has shipped in upstream FreeBSD and been reported into the Firedancer and Linux kernel projects.

**We optimize for root cause, not workaround.** Whether it's a P99 latency outlier, a validator crash, or a misbehaving client library, we dig until we understand why. That standard is what our customers are paying for.

### What We Offer

SVS provides a full range of Solana infrastructure services for builders, traders, validators, and enterprises:

* **Solana RPC** — High-performance HTTP and WebSocket RPC endpoints across multiple regions, with tiered plans from public RPC up through dedicated nodes.
* **Staked RPC** — Routing through staked validator connections for higher transaction landing rates.
* **Lightspeed** — Our optimized `sendTransaction` propagation service, with tiered tip routing across staked validators and direct leader connections to maximize landing probability and minimize confirmation latency.
* **Geyser gRPC Streaming** — Yellowstone-based real-time streaming of accounts, transactions, slots, blocks, and entries.
* **Raw Shred Forwarding** — Pre-block shred-level data for the lowest-latency consumers.
* **Historical / Archival Data** — Full-history access for analytics, indexing, and backfills.
* **SVS API** — Higher-level data products including token pricing, metadata, ranking, DeFi pool pricing, and streaming price subscriptions, with an MCP server for AI agent integrations.
* **Partner Marketplace** — Curated third-party data products (such as Sailfish for launchpad and AMM data) accessible under your existing SVS credentials.
* **VPS Hosting** — Bare-metal-backed VPS instances co-located with our RPC nodes for the lowest possible application-to-chain latency.
* **Validator Services** — Including operation of the svSOL liquid staking pool.
* **Enterprise Solutions** — Dedicated infrastructure, validator hosting, and node consulting for teams with custom requirements.

### Our Mission

Solana is, in our view, the most credible technical bet for high-throughput on-chain applications. Realizing that potential requires infrastructure that lives up to the protocol — not gatekept performance behind enterprise paywalls, and not bargain-tier services that cut corners where it matters.

Our goal is to make best-in-class Solana infrastructure broadly accessible: priced fairly, geographically distributed, technically honest, and built by people who care about the ecosystem's long-term success. We support solo builders shipping their first dApp with the same rigor we bring to our largest enterprise customers, and we contribute back to the open-source projects we depend on.

If you're building on Solana and want infrastructure that actually performs the way the marketing says it will, you're in the right place.


# Purchasing

Directions for purchasing Solana RPC services from Solana Vibe Station.

All of our services can be purchased through our Cloud platform.

{% embed url="<https://cloud.solanavibestation.com>" %}

## Pricing

Please refer to the [Cloud Services section](/services/cloud-services/vps-hosting) of the documentation for obtaining a VPS from SVS

{% hint style="info" %}
For rate and connection limits of each tier, please see [Rate Limits & Connection Limits](/getting-started/rate-limits-connection-limits)
{% endhint %}

### RPC Pricing

| Tier  | 1 Day | 1 Week | 1 Month |
| ----- | ----- | ------ | ------- |
| Free  | N/A   | N/A    | N/A     |
| Lite  | N/A   | N/A    | $40     |
| Basic | $15   | $25    | $75     |
| Ultra | $20   | $50    | $150    |
| Elite | $25   | $125   | $300    |
| Epic  | N/A   | N/A    | $500    |

### Staked RPC Pricing

| Tier  | 1 Month |
| ----- | ------- |
| Basic | $300    |
| Ultra | $500    |
| Elite | $1000   |

### Geyser gRPC Pricing

| Tier  | 1 Day | 1 Week | 1 Month |
| ----- | ----- | ------ | ------- |
| Basic | $15   | $40    | $150    |
| Ultra | N/A   | N/A    | $200    |
| Elite | N/A   | N/A    | $250    |


# Links

Links to some of Solana Vibe Station's public profiles

## Cloud Platform

{% embed url="<https://cloud.solanavibestation.com/>" %}

## Discord

{% embed url="<https://discord.gg/dQ9nmAavkB>" %}

## GitHub

{% embed url="<https://github.com/Solana-Vibe-Station>" %}

## Blog

{% embed url="<https://www.solanavibestation.com/blog>" fullWidth="false" %}

## Up-Time Chart

{% embed url="<https://solanavibestation.betteruptime.com/>" %}

## Response Time Monitor

{% embed url="<https://monitor.solanavibestation.com/static/index.html>" %}


# Connection Information

List of URLs used to interact with Solana Vibe Station's RPC services.

{% hint style="info" %}

### Historical Queries (older than 24 hours) should add \`/historical\` to query older data checkout full docs [here](/api-reference/historical)

http(s)://tier.rpc.solanavibestation.com/historical?api\_key=\<API-KEY-GOES-HERE>

http(s)://tier.swqos.solanavibestation.com/historical?api\_key=\<API-KEY-GOES-HERE>
{% endhint %}

The hostnames below are geo-routed to your nearest healthy location by default. To pin traffic to a specific region, or to understand the failover behaviour, see [Endpoints & DNS Load Balancing](/getting-started/endpoints-and-dns-load-balancing).

### RPC Service URLs:

#### Free Tier

{% tabs %}
{% tab title="Closest (recommended)" %}

```
https://public.rpc.solanavibestation.com
```

```
wss://public.rpc.solanavibestation.com
```

{% endtab %}

{% tab title="Atlanta" %}

```
https://public.rpc.atl1.solanavibestation.com
```

```
wss://public.rpc.atl1.solanavibestation.com
```

{% endtab %}

{% tab title="Amsterdam" %}

```
https://public.rpc.ams1.solanavibestation.com
```

```
wss://public.rpc.ams1.solanavibestation.com
```

{% endtab %}
{% endtabs %}

#### Lite Tier

{% tabs %}
{% tab title="Closest (recommended)" %}

```
http(s)://lite.rpc.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

```
ws(s)://lite.rpc.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

{% endtab %}

{% tab title="Atlanta" %}

```
http(s)://lite.rpc.atl1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

```
ws(s)://lite.rpc.atl1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

{% endtab %}

{% tab title="Amsterdam" %}

```
http(s)://lite.rpc.ams1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

```
ws(s)://lite.rpc.ams1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

{% endtab %}
{% endtabs %}

#### Basic Tier

{% tabs %}
{% tab title="Closest (recommended)" %}

```
http(s)://basic.rpc.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

```
ws(s)://basic.rpc.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

{% endtab %}

{% tab title="Atlanta" %}

```
http(s)://basic.rpc.atl1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

```
ws(s)://basic.rpc.atl1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

{% endtab %}

{% tab title="Amsterdam" %}

```
http(s)://basic.rpc.ams1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

```
ws(s)://basic.rpc.ams1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

{% endtab %}
{% endtabs %}

#### Ultra Tier

{% tabs %}
{% tab title="Closest (recommended)" %}

```
http(s)://ultra.rpc.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

<pre><code><strong>ws(s)://ultra.rpc.solanavibestation.com/?api_key=&#x3C;API-KEY-GOES-HERE>
</strong></code></pre>

{% endtab %}

{% tab title="Atlanta" %}

```
http(s)://ultra.rpc.atl1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

<pre><code><strong>ws(s)://ultra.rpc.atl1.solanavibestation.com/?api_key=&#x3C;API-KEY-GOES-HERE>
</strong></code></pre>

{% endtab %}

{% tab title="Amsterdam" %}

```
http(s)://ultra.rpc.ams1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

```
ws(s)://ultra.rpc.ams1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

{% endtab %}
{% endtabs %}

#### Elite Tier

{% tabs %}
{% tab title="Closest (recommended)" %}

```
http(s)://elite.rpc.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

```
ws(s)://elite.rpc.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

{% endtab %}

{% tab title="Atlanta" %}

```
http(s)://elite.rpc.atl1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

```
ws(s)://elite.rpc.atl1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

{% endtab %}

{% tab title="Amsterdam" %}

```
http(s)://elite.rpc.ams1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

```
ws(s)://elite.rpc.ams1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

{% endtab %}
{% endtabs %}

#### Epic Tier

{% tabs %}
{% tab title="Closest (recommended)" %}

```
http(s)://epic.rpc.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

```
ws(s)://epic.rpc.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

{% endtab %}

{% tab title="Atlanta" %}

```
http(s)://epic.rpc.atl1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

```
ws(s)://epic.rpc.atl1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

{% endtab %}

{% tab title="Amsterdam" %}

```
http(s)://epic.rpc.ams1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

```
ws(s)://epic.rpc.ams1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

{% endtab %}
{% endtabs %}

### Staked RPC Service URLs

#### Basic Staked Tier

{% tabs %}
{% tab title="Closest (recommended)" %}

```
http(s)://basic.swqos.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

```
ws(s)://basic.swqos.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

{% endtab %}

{% tab title="Atlanta" %}

```
http(s)://basic.swqos.atl1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

```
ws(s)://basic.swqos.atl1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

{% endtab %}

{% tab title="Amsterdam" %}

```
http(s)://basic.swqos.ams1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

```
ws(s)://basic.swqos.ams1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

{% endtab %}
{% endtabs %}

#### Ultra Staked Tier

{% tabs %}
{% tab title="Closest (recommended)" %}

```
http(s)://ultra.swqos.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

```
ws(s)://ultra.swqos.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

{% endtab %}

{% tab title="Atlanta" %}

```
http(s)://ultra.swqos.atl1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

```
ws(s)://ultra.swqos.atl1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

{% endtab %}

{% tab title="Amsterdam" %}

```
http(s)://ultra.swqos.ams1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

```
ws(s)://ultra.swqos.ams1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

{% endtab %}
{% endtabs %}

#### Elite Staked Tier

{% tabs %}
{% tab title="Closest (recommended)" %}

```
http(s)://elite.swqos.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

```
ws(s)://elite.swqos.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

{% endtab %}

{% tab title="Atlanta" %}

```
http(s)://elite.swqos.atl1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

```
ws(s)://elite.swqos.atl1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

{% endtab %}

{% tab title="Amsterdam" %}

```
http(s)://elite.swqos.ams1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

```
ws(s)://elite.swqos.ams1.solanavibestation.com/?api_key=<API-KEY-GOES-HERE>
```

{% endtab %}
{% endtabs %}

### Geyser GRPC Streaming URLs

{% hint style="info" %}
Purchase via Cloud Portal or Discord:\
\- There is no IP whitelist, this method uses "X-Token" only.
{% endhint %}

Basic gRPC Tier:

{% tabs %}
{% tab title="Closest (recommended)" %}

```
https://basic.grpc.solanavibestation.com
```

{% endtab %}

{% tab title="Atlanta" %}

```
https://basic.grpc.atl1.solanavibestation.com
```

{% endtab %}

{% tab title=" Amsterdam" %}

```
https://basic.grpc.ams1.solanavibestation.com
```

{% endtab %}
{% endtabs %}

Ultra gRPC Tier:

{% tabs %}
{% tab title="Closest (recommended)" %}

```
https://ultra.grpc.solanavibestation.com
```

{% endtab %}

{% tab title="Atlanta" %}

```
https://ultra.grpc.atl1.solanavibestation.com
```

{% endtab %}

{% tab title="Amsterdam" %}

```
https://ultra.grpc.ams1.solanavibestation.com
```

{% endtab %}
{% endtabs %}

Elite gRPC Tier:

{% tabs %}
{% tab title="Closest (recommended)" %}

```
https://elite.grpc.solanavibestation.com
```

{% endtab %}

{% tab title="Atlanta" %}

```
https://elite.grpc.atl1.solanavibestation.com
```

{% endtab %}

{% tab title="Amsterdam" %}

```
https://elite.grpc.ams1.solanavibestation.com
```

{% endtab %}
{% endtabs %}


# Rate Limits & Connection Limits

Denoted in requests per second

## Service Type

### RPC

<table data-full-width="true" data-search="false"><thead><tr><th width="250">Method</th><th width="94">Lite</th><th width="95">Basic</th><th width="105">Ultra</th><th width="97">Elite</th><th>Epic</th></tr></thead><tbody><tr><td>Most Methods</td><td>30</td><td>100</td><td>250</td><td>500</td><td>1000</td></tr><tr><td>sendTransaction</td><td>10</td><td>25</td><td>50</td><td>100</td><td>250</td></tr><tr><td>Lightspeed (sendTransaction)</td><td>10</td><td>25</td><td>50</td><td>100</td><td>250</td></tr><tr><td>Rewind</td><td>5</td><td>10</td><td>15</td><td>20</td><td>25</td></tr><tr><td>sendBundle</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td></tr><tr><td>Historical</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td></tr><tr><td>Websockets</td><td>5</td><td>10</td><td>15</td><td>20</td><td>25</td></tr></tbody></table>

### Staked RPC

<table data-full-width="true" data-search="false"><thead><tr><th width="250">Method</th><th width="95">Basic</th><th width="105">Ultra</th><th width="97">Elite</th></tr></thead><tbody><tr><td>Most Methods</td><td>100</td><td>250</td><td>500</td></tr><tr><td>sendTransaction</td><td>25</td><td>50</td><td>100</td></tr><tr><td>Lightspeed (sendTransaction)</td><td>25</td><td>50</td><td>100</td></tr><tr><td>Rewind</td><td>10</td><td>15</td><td>20</td></tr><tr><td>sendBundle</td><td>5</td><td>10</td><td>15</td></tr><tr><td>Historical</td><td>✅</td><td>✅</td><td>✅</td></tr><tr><td>Websockets</td><td>10</td><td>15</td><td>20</td></tr></tbody></table>

### gRPC

|                    | Basic | Ultra | Elite |
| ------------------ | ----- | ----- | ----- |
| No. of connections | 5     | 10    | 15    |

## Additional Limitations

### **Batched Requests**

The Solana RPC API supports standard **JSON-RPC 2.0 batching**: you can send multiple method calls in a single HTTP POST by submitting a JSON array of request objects. The endpoint processes each one and returns an array of responses.

Like array-batched methods, batch requests are billed **per call in the batch**, not per HTTP request. A batch containing 50 method calls consumes 50 requests from your per-second budget — the same as sending 50 separate HTTP requests.

**Batches must use a single, identical method**

Every request object in a batch must call the **same** RPC method. Mixed-method batches (for example, combining `getAccountInfo` and `getBalance` in one array) are not allowed and will be rejected. To call different methods, send them as separate batch requests — one batch per method.

**How it's counted**

```
cost = number of method calls in the batch
```

Because every call in a batch is the same method, the cost is simply the number of items. For example, a batch of 50 `getAccountInfo` calls counts as 50 requests. If that method is itself array-batched (such as `getMultipleAccounts`), each call is additionally counted per item — so a batch of three `getMultipleAccounts` calls carrying 20 pubkeys each counts as `20 + 20 + 20 = 60` requests (see the section above).

**Methods that cannot be batched**

The following methods are not supported inside a JSON-RPC batch and must be sent as individual requests:

* `getProgramAccounts`
* `getTokenAccountsByDelegate`
* `getTokenAccountsByOwner`
* `getTokenLargestAccounts`
* `getTokenSupply`
* `getLargestAccounts`
* `getSupply`

Any other method may be batched, provided every call in the batch uses that same method.

**What this means for you**

* Batching reduces round-trips and connection overhead, but does **not** discount your rate-limit consumption versus sending the calls individually.
* A large batch can exhaust your per-second limit on its own and return `429 Too Many Requests`. Size your batches with your tier's limit in mind (see the tables above).
* If you need to call different methods, or one of the unsupported methods above, send each as its own request rather than combining them.

### **Batched (array) methods count per item**

Several RPC methods accept an array of items in a single call and are billed against your rate limit **per item**, not per call. Each element in the array is treated as its own sub-request — a single call carrying 100 items consumes 100 requests from your per-second budget.

This applies to methods that take an array of items, including:

* `getMultipleAccounts` — array of account pubkeys
* `getSignatureStatuses` — array of transaction signatures
* `getInflationReward` — array of addresses

**How it's counted**

The cost of a batched call equals the number of items in the array:

```
cost = number of items in the array
```

So a `getMultipleAccounts` request for 100 pubkeys counts as 100 requests — identical to making 100 individual `getAccountInfo` calls. A request for 5 pubkeys counts as 5.

**What this means for you**

* A single oversized batch can exhaust your per-second limit on its own and return `429 Too Many Requests`. Size your arrays with your tier's limit in mind (see the tables above).
* Batching is still efficient — it saves round-trips and connection overhead — but it does **not** discount your rate-limit consumption versus making the equivalent individual calls.
* If you're hitting `429`s on these methods, reduce array size, spread items across multiple seconds, or move to a higher tier.


# Endpoints & DNS Load Balancing

Geographic routing, automatic failover, and location-specific endpoints.

Solana Vibe Station serves traffic from multiple geographic locations. By default, our endpoints use **DNS-based geographic load balancing** so your requests resolve to the nearest healthy location automatically — no configuration required on your end.

You can also bypass the geo-routing and pin directly to a specific location if you want maximum control over where your traffic lands. Both options are described below.

{% hint style="info" %}
This page explains **how** routing works. For the concrete endpoint URL of every tier — RPC, SWQoS, and gRPC, with API key placeholders — see [Connection Information](/getting-started/connection-information).
{% endhint %}

### Available locations

| Code | Location               | Region        |
| ---- | ---------------------- | ------------- |
| ATL1 | Atlanta, USA           | North America |
| AMS1 | Amsterdam, Netherlands | Europe        |

### How geographic routing works

Our default endpoints are fronted by Cloudflare Load Balancing running in **DNS-only mode**. We do not proxy your traffic — Cloudflare acts purely as an authoritative DNS responder, returning the IP address of the best location for each request. Once you have the IP, your connection goes **directly** to our origin servers. No SVS traffic is hair-pinned through a third-party proxy. This allows for the absolute lowest latency connection to our infrastructure.

Two mechanisms work together:

**Proximity routing.** When your DNS resolver queries one of our load-balanced hostnames, Cloudflare returns the IP of your closest healthy edge location. This happens at the DNS layer based on the location of your **recursive resolver**, so for the best geographic match we recommend using a resolver near you rather than a distant public resolver.

**Automatic failover.** Each location is continuously health-checked. If a location becomes unhealthy — during maintenance, an incident, or a network issue — it is automatically pulled from DNS responses and your traffic is routed to the next healthy location. When it recovers, it is added back automatically. This failover is bounded by the DNS record's TTL (currently 10s `TTL`), so clients may briefly cache a prior result before picking up the change.

### Preferred (geo-routed) endpoints

For most users, the geo-routed hostnames are the right choice. Use the standard tier hostname and let DNS route you to the nearest healthy location with automatic failover:

```
https://<tier>.rpc.solanavibestation.com
https://<tier>.swqos.solanavibestation.com
https://<tier>.grpc.solanavibestation.com
```

RPC tiers: `lite`, `basic`, `ultra`, `elite`, `epic`\
SWQoS tiers: `basic`, `ultra`, `elite`\
gRPC tiers: `basic`, `ultra`, `elite`

Example:

```
https://elite.rpc.solanavibestation.com
https://ultra.swqos.solanavibestation.com
https://basic.grpc.solanavibestation.com
```

These hostnames are the recommended default. You get nearest-location performance and transparent failover with no extra work.

### Location-specific endpoints

If you need **maximum control** over which location serves your traffic — for example, to co-locate with infrastructure in a specific region, to benchmark a single location, or to meet a data-residency requirement — you can target a location directly using its location-specific hostname.

{% hint style="warning" %}
**Trade-off:** Location-pinned endpoints **opt out of DNS failover.** If the location you pin to goes down, your requests will fail rather than rerouting to a healthy location. Use these only when deterministic location control matters more than automatic failover, and consider implementing your own fallback logic on the client side.
{% endhint %}

The location-specific hostname format is:

```
https://<tier>.rpc.<location>.solanavibestation.com
https://<tier>.swqos.<location>.solanavibestation.com
https://<tier>.grpc.<location>.solanavibestation.com
```

Examples:

```
https://elite.rpc.atl1.solanavibestation.com     # pinned to Atlanta
https://elite.rpc.ams1.solanavibestation.com     # pinned to Amsterdam
https://ultra.swqos.ams1.solanavibestation.com   # SWQoS pinned to Amsterdam
https://ultra.grpc.atl1.solanavibestation.com   # gRPC pinned to Atlanta
```

### Which should I use?

|          | Preferred (geo-routed)             | Location-specific                             |
| -------- | ---------------------------------- | --------------------------------------------- |
| Routing  | Nearest healthy location           | Fixed location you choose                     |
| Failover | Automatic                          | None — you opt out                            |
| Best for | Most users, lowest latency         | Co-location, benchmarking, residency          |
| Hostname | `<tier>.rpc.solanavibestation.com` | `<tier>.rpc.<location>.solanavibestation.com` |

When in doubt, use the **preferred geo-routed endpoints** — they give you the best latency and resilience automatically.


# Health Check API

Solana Vibe Station exposes a public health endpoint on every edge location. It reports whether each backend service at that location has at least one healthy upstream host, making it easy to see which parts of the service are operating normally and which are degraded or down.

This endpoint is **public** — no API key is required.

### Endpoint

```
https://health.<service>.<location>.solanavibestation.com/health
```

* `<service>` — the service group you want to check (for example, `rpc` or `swqos`).
* `<location>` — the edge location code (for example, `atl` or `ams`).

The health endpoint is available at every edge location independently, so you can probe each location on its own to isolate where an issue is occurring.

Example:

```bash
curl -i https://health.rpc.atl1.solanavibestation.com/health
```

### Responses

The endpoint evaluates every upstream at the queried location. An upstream is considered **up** if at least one of its hosts is healthy; if all primary hosts are down, backup hosts are checked before the upstream is marked down.

**Healthy** — all upstreams have at least one host up:

```http
HTTP/1.1 200 OK
Content-Type: text/plain

OK
```

**Degraded or down** — one or more upstreams have no healthy hosts:

```http
HTTP/1.1 503 Service Unavailable
Content-Type: application/json

{
  "status": "unhealthy",
  "down": ["<upstream-name>", "<upstream-name>"]
}
```

The `down` array lists the names of every upstream at that location that currently has no healthy hosts. Upstreams not listed are operating normally — a `503` does **not** mean the entire location is offline, only that the named upstreams are affected.

**Error** — the health checker could not enumerate upstreams:

```http
HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
  "status": "error",
  "message": "failed to get upstreams: <reason>"
}
```

### Status code summary

| Status | Meaning                                                                      |
| ------ | ---------------------------------------------------------------------------- |
| `200`  | All upstreams at this location have at least one healthy host.               |
| `503`  | One or more upstreams have no healthy hosts. See the `down` array for which. |
| `500`  | The health checker failed to enumerate upstreams at this location.           |

### Interpreting upstream names

When an upstream appears in the `down` array, the name identifies which portion of the service is affected. Use the table below to map upstream names to the functionality or RPC methods they serve.

| Upstream name     | Description / methods handled                                                                                                                                                                                                            |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `rpc`             | General-purpose Solana JSON-RPC. Handles all standard read methods that are not explicitly routed elsewhere (e.g. `getAccountInfo`, `getBalance`, `getMultipleAccounts`, `getSlot`, `getLatestBlockhash`, `getSignatureStatuses`, etc.). |
| `websockets`      | WebSocket subscriptions (e.g. `accountSubscribe`, `logsSubscribe`, `programSubscribe`, `signatureSubscribe`).                                                                                                                            |
| `jet`             | Transaction submission. Handles `sendTransaction`, with fallback to the general RPC nodes.                                                                                                                                               |
| `spl_rpc`         | SPL / program-account methods that allow fallback to general RPC nodes: `getProgramAccounts`, `getTokenLargestAccounts`, `getTokenSupply`, `getSupply`.                                                                                  |
| `spl_rpc_primary` | Primary-only SPL methods with **no** backup: `getTokenAccountsByDelegate`, `getLargestAccounts`. These methods are blocked if the primary host is offline rather than falling back to general RPC nodes.                                 |
| `historical`      | Historical / archival data, with fallback to general RPC nodes.                                                                                                                                                                          |
| `lightspeed`      | Lightspeed transaction sending service.                                                                                                                                                                                                  |

### Usage notes

* **Polling.** The endpoint is lightweight and safe to poll on a short interval for monitoring or alerting. Because health is reported per location, point your monitors at each location's hostname to get full coverage.
* **Automation.** Check the HTTP status code for a quick up/down signal, and parse the `down` array when you need to know exactly which upstreams are affected.
* **Dashboard.** A hosted status dashboard built on this endpoint is planned. Until then, this public API is the canonical source of real-time health.


# Response Compression

Solana Vibe Station supports **zstd** response compression on all JSON-RPC endpoints. By adding a single request header, you can shrink RPC responses by up to **80–90%** — cutting your bandwidth bill, speeding up large reads, and reducing time-to-first-byte on slow or metered connections.

Compression is **opt-in** and **fully transparent**: you ask for it with a header, and any HTTP client that understands zstd decodes it automatically. Responses are byte-for-byte identical once decompressed — nothing about your application logic changes.

{% hint style="info" %}
**TL;DR** — Send `Accept-Encoding: zstd` with your requests. That's it. If your HTTP client supports zstd (most modern ones do), you get smaller responses and lower bandwidth usage for free.
{% endhint %}

***

### Why use it

RPC responses are JSON, and JSON compresses extremely well — it's highly repetitive (field names, base58/base64 strings, structural punctuation). zstd (Zstandard) is a modern compression algorithm from Meta that gives ratios comparable to or better than gzip while decompressing much faster, so the client-side cost is negligible.

The payoff is largest on exactly the calls that hurt the most today: big account scans and full blocks.

| Method                            | Uncompressed | With zstd                | Savings      |
| --------------------------------- | ------------ | ------------------------ | ------------ |
| `getClusterNodes`                 | \~1.67 MB    | \~0.30 MB                | **\~82%**    |
| `getBlock` (full transactions)    | \~4.4 MB     | \~0.65 MB                | **\~85%**    |
| `getProgramAccounts` (large sets) | multi-MB     | typically 80–90% smaller | **\~80–90%** |

*Figures are representative; your exact ratio depends on the response contents.*

**What this means for you**

* **Lower bandwidth costs.** If you or your infrastructure pay for egress/ingress, compressed responses can cut transfer volume on read-heavy workloads by 4–10×.
* **Faster large responses.** Less data on the wire means quicker downloads, especially over mobile, VPN, or long-haul links.
* **No change to your data.** You receive the same JSON you always have — only the bytes in transit are compressed.

***

### How to use it

Add the `Accept-Encoding` header to your request:

```
Accept-Encoding: zstd
```

When the proxy sees this header, it compresses eligible responses and returns:

```
Content-Encoding: zstd
```

Your HTTP client detects `Content-Encoding: zstd` and decompresses the body before handing it to your code. If your client does **not** send the header (or doesn't support zstd), you get an ordinary uncompressed response — so it's always safe to enable.

#### curl

Modern curl (7.72.0+, built with zstd) decodes it for you automatically:

```bash
curl --zstd https://<your-endpoint>.rpc.solanavibestation.com/?api_key=<YOUR_API_KEY> \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"getClusterNodes"}'
```

> `--zstd` both sends `Accept-Encoding: zstd` and transparently decompresses the response.

If your curl is older or wasn't built with zstd, request the raw compressed bytes and decode them with the `zstd` CLI:

```bash
curl -s https://<your-endpoint>.rpc.solanavibestation.com/?api_key=<YOUR_API_KEY> \
  -X POST \
  -H "Content-Type: application/json" \
  -H "Accept-Encoding: zstd" \
  -d '{"jsonrpc":"2.0","id":1,"method":"getClusterNodes"}' | zstd -d
```

#### JavaScript / TypeScript

Browsers negotiate encodings automatically — `fetch` in a modern browser will request and decode zstd for you with no code changes.

In Node.js, zstd decoding in the built-in `fetch` requires **Node 22.15+ / 23+**. On those versions, decoding is automatic:

```js
const res = await fetch(
  "https://<your-endpoint>.rpc.solanavibestation.com/?api_key=<YOUR_API_KEY>",
  {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "Accept-Encoding": "zstd",
    },
    body: JSON.stringify({ jsonrpc: "2.0", id: 1, method: "getClusterNodes" }),
  }
);
const data = await res.json(); // already decompressed
```

> The official `@solana/web3.js` `Connection` uses your runtime's HTTP stack. If that stack supports zstd, you benefit automatically; if not, requests fall back to uncompressed responses transparently.

#### Python

`requests` doesn't decode zstd out of the box. Install the `zstandard` package and decode manually, or use a client that negotiates it for you (e.g. `httpx` with zstd support):

```python
import requests, zstandard

r = requests.post(
    "https://<your-endpoint>.rpc.solanavibestation.com/?api_key=<YOUR_API_KEY>",
    headers={"Content-Type": "application/json", "Accept-Encoding": "zstd"},
    json={"jsonrpc": "2.0", "id": 1, "method": "getClusterNodes"},
)

if r.headers.get("Content-Encoding") == "zstd":
    body = zstandard.ZstdDecompressor().decompress(r.content)
else:
    body = r.content

import json
data = json.loads(body)
```

#### Rust

`reqwest` decodes zstd automatically when built with the `zstd` feature:

```toml
reqwest = { version = "0.12", features = ["json", "zstd"] }
```

With the feature enabled, `reqwest` sends `Accept-Encoding: zstd` and decompresses responses for you — no manual handling required.

***

### What gets compressed

Compression applies to **JSON-RPC response bodies** (`Content-Type: application/json`). A few rules keep it efficient:

* **Only responses above \~256 bytes are compressed.** Tiny responses (e.g. `getHealth`, a single `getSlot`) are sent uncompressed, because compressing a few bytes adds overhead without saving anything. This is expected — don't be surprised to see no `Content-Encoding` header on small replies.
* **Already-compressed responses are passed through, not re-compressed.** The `/historical` endpoint already serves zstd from its backend; if you request zstd there, you get that compressed stream directly, and if you don't, it's decompressed for you. Either way you get correct data.
* **Compression is applied per-request.** Sending the header on one request and not another is fine; each response is handled independently.

**Availability**

zstd response compression is enabled on all standard **JSON-RPC endpoints** across tiers and regions, including the `/historical` path. It does **not** apply to gRPC/streaming endpoints, which use their own framing.

***

### Frequently asked questions

**Do I have to change my requests or parse responses differently?** No. The only change is one request header. Decompression is handled by your HTTP client, and the JSON you get back is identical.

**Is there a downside or extra cost?** No. Compression is free to use, decompression is very fast with minimal overhead, and if your client can't handle zstd you simply get an uncompressed response. There is no separate charge and it does not affect your rate limits.

**Does it count against my rate limit differently?** No. Rate limiting is based on the requests and methods you call, not on response size or encoding. Compression changes only the bytes on the wire.

**Why did I get an uncompressed response even though I sent the header?** Two common reasons: the response was below the \~256-byte minimum (small responses are intentionally not compressed), or your HTTP client stripped/renegotiated the `Accept-Encoding` header. Check for the `Content-Encoding: zstd` response header to confirm what you received.

**Can I use gzip instead?** These endpoints are optimized for zstd, which outperforms gzip on JSON-RPC payloads in both ratio and speed. We recommend `Accept-Encoding: zstd`.

**My client doesn't support zstd — what should I do?** You can keep making uncompressed requests as you do today (everything continues to work), decode manually using a zstd library (see the examples above), or upgrade to a client/runtime version with built-in zstd support.

***

### Recommendation

If you make read-heavy calls — `getProgramAccounts`, `getBlock`, `getClusterNodes`, batched account lookups, historical queries — **enable zstd**. For most workloads it's a one-line change that cuts response bandwidth several-fold with no downside. Send `Accept-Encoding: zstd`, confirm you see `Content-Encoding: zstd` on large responses, and enjoy the savings.


# Solana Node Services

## Overview

This section consists of our core Solana services. These can be purchased from our cloud platform.

{% embed url="<https://cloud.solanavibestation.com/index.php?/cart/solana-node-services/>" %}

### [Lightspeed](https://github.com/Solana-Vibe-Station/gitbooks-overview/tree/main/api-reference/lightspeed/lightspeed/README.md)

The fastest way to land transactions on Solana via a tipped based endpoint

### [RPC Services](/services/solana-node-services/rpc-services)

Standard shared Solana RPC API access. For users just starting out or don't need the fastest transaction landing times.

### [Staked RPC Services](/services/solana-node-services/staked-rpc-services)

SWQoS powered sendTransactions. For users that need the fastest and most reliable transaction landing times.

### [Geyser gRPC Streaming](/services/solana-node-services/geyser-grpc-streaming)

Real-time streaming of Solana blockchain activity. For users who need on-chain updates as fast as possible.


# RPC Services

Information regarding our shared RPC services.

{% hint style="warning" %}
The free tier is not intended for production use and may be subject to unscheduled downtime, abuse, and rate limit changes without notice. Please use a paid tier for production environments.
{% endhint %}

### Overview

* Access to all [Solana RPC HTTP and WebSocket methods](https://solana.com/docs/rpc) that are current and stable
* Access to the Jito-Solana `simulateBundle` RPC method
* For Historical queries please reference [our api doc here](/api-reference/historical)

## Pricing

<table><thead><tr><th>Tier</th><th width="191">Rate Limits</th><th>1 Day</th><th>1 Week</th><th>1 Month</th></tr></thead><tbody><tr><td>Free</td><td>5 r/s<br>1 sendTransaction r/s</td><td>N/A</td><td>N/A</td><td>N/A</td></tr><tr><td>Lite</td><td>40 r/s<br>10 sendTransaction r/s<br>2 GPA r/s</td><td>N/A</td><td>N/A</td><td>$40</td></tr><tr><td>Basic</td><td>100 r/s<br>5 GPA r/s</td><td>$15</td><td>$25</td><td>$75</td></tr><tr><td>Ultra</td><td>250 r/s<br>10 GPA r/s</td><td>$20</td><td>$50</td><td>$150</td></tr><tr><td>Elite</td><td>500 r/s<br>15 GPA r/s</td><td>$25</td><td>$125</td><td>$300</td></tr><tr><td>Epic</td><td>1000 r/s<br>25 GPA r/s</td><td>N/A</td><td>N/A</td><td>$500</td></tr></tbody></table>


# Staked RPC Services

Information regarding our Staked RPC Services.

### Background

Stake-weighted QoS (SWQoS) is a feature of Solana that was first released during March 2024. To put it simply, SWQoS allows users to send transactions on Solana and have them get confirmed faster than compared to an RPC not using this feature. This is especially evident in times of bursts of high traffic on the Solana network.

When an RPC attempts to forward a transaction to the leader validator at any given moment, it must compete with other RPC nodes in order to establish a QUIC connection to the leader. A validator leader can only handle a finite amount of QUIC connections at any given time. By default, 80% of the available QUIC connections are reserved for staked nodes. The other 20% is left over for un-staked nodes. Since Solana RPC nodes are inherently not staked (and shouldn't be) you are required to setup a SWQoS connection with a staked validator in order to get around this.

An RPC node with a configured SWQoS connection will forward all transactions sent to it through the staked validator it has the SWQoS connection setup through. The validator then forwards the transaction to the current Solana leader validator in order to get processed and added to the blockchain.

The reason transactions are slow to land many times is because the RPC cannot make a connection to the leader validator at the current moment. This is because the network is busy and it can't handle any more connections. SWQoS gives you a special priority connection to leaders that gets to circumvent all the other network connection which ensures your transaction will get seen by the leader.

SWQoS doesn't put you in the front of the line for priority. It just ensures that your transaction will make it to the leader validator and get a chance in the auction. If you have low fees it will likely still be slow to land or not land at all

### Overview

* Access to all [Solana RPC HTTP and WebSocket methods](https://solana.com/docs/rpc) that are current and stable
* Access to the Jito-Solana `simulateBundle` RPC method
* For Historical queries please reference [our api doc](/api-reference/historical)
* 0.1 ms latency from our RPC nodes to our primary staked validator partner
* Over 500,000 SOL in stake weighted peering
* Transactions sent over multiple channels to decrease landing time

## Pricing

<table><thead><tr><th>Tier</th><th width="214">Rate Limit (sendTransaction)</th><th width="225">Rate Limit (All other Methods)</th><th>1 Month</th></tr></thead><tbody><tr><td>Basic</td><td>25 r/s</td><td>150 r/s<br>5 GPA r/s</td><td>$300</td></tr><tr><td>Ultra</td><td>50 r/s</td><td>250 r/s<br>10 GPA r/s</td><td>$500</td></tr><tr><td>Elite</td><td>100 r/s</td><td>500 r/s<br>15 GPA r/s</td><td>$1000</td></tr></tbody></table>

## Benchmarks

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2F4Oj2bqG14qa6BiScOWgk%2Fimage.png?alt=media&amp;token=49b2ae81-0a2f-4e65-9841-caef99023661" alt=""><figcaption><p>Staked Send Transaction RPC Service memobench benchmark</p></figcaption></figure>


# Geyser gRPC Streaming

Information regarding our Geyser GRPC streaming service.

## Overview

We use [Yellowstone Dragon's Mouth gRPC](https://github.com/rpcpool/yellowstone-grpc) geyser plugin for our GRPC service. This has proved to be the fastest and most reliable Geyser plugin that we have tested. It is regularly updated and has caused no major issues thus far. Thank you Triton for making this open source and continuing to maintain it! The gRPC proto can be found [here](https://github.com/rpcpool/yellowstone-grpc/tree/master/yellowstone-grpc-proto). Examples can be found for how to use the GRPC service [here](https://github.com/Solana-Vibe-Station/grpc-connection-examples).

### Tiers

gRPC tiers are differentiated by how many concurrent gRPC streams you can have active at any given time. Each gRPC connection allows you to "subscribe" to events of a specific Solana program with filters. You can have multiple subscriptions on a single connection. It is recommended to split high bandwidth requesting subscriptions across multiple connections for better spreading out the load.

## Pricing

| Tier  | Connections | 1 Day | 1 Week | 1 Month |
| ----- | ----------- | ----- | ------ | ------- |
| Basic | 5           | $15   | $40    | $150    |
| Ultra | 10          | N/A   | N/A    | $200    |
| Elite | 15          | N/A   | N/A    | $250    |

{% hint style="info" %}
We recommend pairing gRPC services with a VPS from our cloud services. Latency and throughput plays a huge role in how fast gRPC can stream updates without lag. See [here](https://docs.triton.one/project-yellowstone/dragons-mouth-grpc-subscriptions#operator-recommandation) for a more detailed explanation.
{% endhint %}

{% embed url="<https://docs.triton.one/project-yellowstone/dragons-mouth-grpc-subscriptions>" %}


# Lightspeed Transactions

Solana Vibe Station has partnered with a large pool of validators to bring our RPC users an even faster option for submitting transactions via our Lightspeed network. This is a **tip based** service to land transactions as fast as possible. Larger tips translates to faster transaction processing times.

**The minimum tip required is .001 SOL.** More information on tip specifics and other details of the service can be found [here](/api-reference/lightspeed).

You can utilize this service **on any paid RPC tier** (either staked or un-staked) by appending `/lightspeed` to your existing SWQoS endpoint and including a system transfer instruction to the Lightspeed tipping address that is listed below.

**Real-time metrics** are posted [here](https://discord.com/channels/1241508519190986752/1316576906962796574)

### Tip Addresses

```
svsMoWJBwLcs8JgfN8VaF111tAc199KpYeTKRwxRtip
```

### How to use:

* Append `/lightspeed` to your **SVS** [**url**](/getting-started/connection-information) **as a sendTransaction only URL**
* Include transfer instruction to tip address above with the minimum tip of .001 SOL
* Make sure to set "skipPreflight: true" in your sendTransaction request parameters
* The getHealth rpc call can be used to keep alive your connection to the lightning endpoint
* Implementation example can be found on our [Github](https://github.com/Solana-Vibe-Station/lightspeed-examples) or in our [API docs](/api-reference/lightspeed)<br>

{% hint style="info" %}
Example URL

http(s)://\<TIER>.swqos.solanavibestation.com/lightspeed?api\_key=\<API-KEY-GOES-HERE>
{% endhint %}


# Raw Shred Forwarding

## Overview

Our Shred Forwarding service will relay shreds with an ultra-low delay to users who want to direct access to Solana raw shreds. The shreds relayed consist of shreds received from our cluster of shared RPC nodes, validator peers and some Jito block-engine locations.

**Amsterdam:**

For users that want Shred Forwarding from our Amsterdam, Netherlands infrastructure, that service is available for purchase on our Discord server on the #💳┃purchase-services channel.

**Atlanta:**

For users that want Shred Forwarding from our Atlanta, GA infrastructure, that service is only available to customers that have a VPS purchased through our [Cloud Platform](/services/cloud-services/vps-hosting).

## Use-Cases

Advanced traders/developers may want to process and decode shreds client-side if they think it can give them an advantage rather than using something like Yellowstone gRPC. Additionally, [Jito's ShredStream](https://github.com/jito-labs/shredstream-proxy) project incorporates their own gRPC server that can be used by users receiving shred forwarding services.[<sub>\[1\]</sub>](https://github.com/jito-labs/shredstream-proxy) There is some evidence out there that suggests that this can provide an improvement of 32ms on average for receiving streaming updates.[<sub>\[2\]</sub>](https://github.com/dysnix/solana-test/tree/main/geyser-vs-shredstream#geyser-vs-shredstream-txs-benchmark)

## Purchasing

**Amsterdam:**

Options: $25 per day | $75 per week | $250 per month

Visit our [Discord server](https://discord.gg/Gs2bPZBfHA) and head to the #💳┃purchase-services channel.

**Atlanta:**

$300 per month

To be able to purchase Raw Shred Forwarding, you will need to either have a VPS with us already or will need to buy a VPS from us. Raw Shred Forwarding can be purchased as a add-on when buying a VPS or added after the fact by navigating to the "Billing" tab on your VPS service.

<div data-full-width="false"><figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2Fvh6gHEg7zNk6R2tIyQjQ%2Fimage.png?alt=media&amp;token=1f5bf2d0-3b1b-48a8-b7d7-e54b91bcc46c" alt=""><figcaption><p>Account addon menu location for active VPS services.</p></figcaption></figure></div>

Once you complete payment, shreds will automatically start forwarding shreds to your VPS on port 20000/UDP. Make sure to make an inbound allow rule in your firewall menu to start receiving shreds.

{% hint style="info" %}
It is currently not possible for customers to autonomously cancel Shred Forwarding services. Therefore if you wish to do so, please open a ticket through our cloud platform. All Shred Forwarding cancellations will be pro-rated as credit to your account.
{% endhint %}

## References

\[1] <https://github.com/jito-labs/shredstream-proxy>\
\[2] <https://github.com/dysnix/solana-test/tree/main/geyser-vs-shredstream#geyser-vs-shredstream-txs-benchmark>


# Cloud Services


# VPS Hosting

Overview of Solana Vibe Station's cloud services web platform.

{% embed url="<https://cloud.solanavibestation.com>" %}

The SVS cloud platform is feature rich web platform made for customers to easily purchase Virtual Private Servers (VPS) that are optimized and designed from the ground-up to give users the absolute best experience possible when interacting with our RPC services.

With the exception of some third-party integrations for accepting payments, every other aspect of this platform is self-hosted on our own hardware and purposely designed for our customers use cases.

We have spent multiple months architecting and engineering this solution from the ground-up with the following goals in mind:

* Speed
* Security
* User features
* Scalability

### Speed

Our goal was to offer the absolute lowest latency connection to Solana RPC nodes anyone could possibly achieve; being only limited by Moore's Law and physics.

All of our cloud services are hosted on our own hardware and strategically colocated in the same data center as all of our other RPC infrastructure. Additionally, we have dedicated physical cross-connections between cabinets hosting our cloud infrastructure services and our Solana RPC services. Combined with a strategic network architecture and high performance dedicated networking equipment, this translates into ultra-fast low latency interactions with our Solana services.

### Security

We understand security more than most and we think you will notice that after reading through the [Getting Started](/services/cloud-services/vps-hosting/getting-started) guide. It would be insecure of us to go into all the details here (pun intended) but we can assure you that all provisioned cloud services come locked-down by default. Additionally, all cloud services provisioned are completely isolated from one another using VLAN separation (OSI layer 2 isolation). This includes multiple services purchased by the same user account. SVS admins practice what we preach and utilize multi-factor authentication and IP Address Allow Lists in order to interact with our services from an administrative perspective.

### Customer Features

By far the biggest improvement you will notice if you are an existing user on your older legacy VPS service offering, is the dramatic improvement in user features. Customers have the ability to mange almost every aspect of their purchases without having to wait on SVS admins to perform manual tasks. This includes flexible OS options, upgrading resources in real-time, automatic renewals, inviting collaborators, payment method options, automatic backups, and so much more. We recommend reading the [Managing Your Service](/services/cloud-services/vps-hosting/managing-your-service) section to get a brief overview of some of the new features customer's will have access to.

### Scalability

A major issue that we have been facing with our old VPS services was scaling. It was not easy to keep scaling our availability for reasons such as the manual work that went into provisioning these (which required customizations sometimes) and physical space in our existing colocation cabinet. With this new setup, we will be able to very easily scale with our demand. This is largely due to the amount of time and planning that went into launching this, as we wanted to make sure we got it right from the start!

Be on the lookout as we add new purchase options!


# Getting Started

We recommend you go through this section when creating an account to familiarize yourself with all of the platform's general settings.


# Creating An Account

Navigate to our our cloud portal using the below link.

{% embed url="<https://cloud.solanavibestation.com>" %}

At the top right of the window, there will be a "Login/Register" button that you can click.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FgtH4rolew7nHXapjmu7g%2Fimage.png?alt=media&amp;token=aefb95e6-3190-47fc-b472-6a283c803765" alt=""><figcaption></figcaption></figure>

This will reveal an option to create an account as seen below. Select the "Create Account" option.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FuPzTcuLEfYPg3SURD3hB%2Fimage.png?alt=media&amp;token=ce46ce7b-02e4-47ae-9ba9-7b59c5c49e47" alt=""><figcaption></figcaption></figure>

This should direct you to a page that looks like the following image. Please be sure to fill this information out accurately, otherwise you could potentially run into issues with payment if using a fiat payment option. You can always modify this information later though!

{% hint style="warning" %}
If you don't get directed to the below screen but instead to the order options page, then this is likely due us requiring new users to make a purchase in order to complete registration. If this is the case, refer to the below sections here for information about ordering options.
{% endhint %}

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2F7SjgIUtZYIuJ4rntpbXO%2Fimage.png?alt=media&amp;token=d0374ae9-d2d9-473f-82a0-0e52d25a9911" alt=""><figcaption></figcaption></figure>

After submitting this information on this page, your acount will be created and you should be redirected to an authenticated session.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2F8qFgJpENTzQ6x0CUcm0w%2Fimage.png?alt=media&amp;token=87387492-ac42-4a88-aaec-705e4accee45" alt=""><figcaption></figcaption></figure>


# Setup Your Profile

## Account Settings

In this section you can adjust general profile settings such as default payment methods, time zone, and email notifications.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FUwJiUVAukZQdviwjJgAX%2Fimage.png?alt=media&amp;token=823d191a-15ad-42e7-8343-6260085e4298" alt=""><figcaption></figcaption></figure>

It is recommended to go ahead and set your "Default payment gateway" here as well if you know whether you will be adding a credit card or using crypto to pay. For more information on payment method options, see the [Choosing a Payment Method](/services/cloud-services/vps-hosting/getting-started/choosing-a-payment-method#payment-gateways)

{% hint style="info" %}
It is recommended to keep the "Nameservers" option set to default for now. We currently don't have the ability for users to purchase domains through our cloud service so it shouldn't make a difference. However we do have custom DNS servers used for minimal routing to our RPC services. It is possible that using your own custom name servers would cause less optimal routing to our RPC networks.
{% endhint %}

## Changing Your Account Details

As mentioned before, you have the ability to adjust any of your profile settings set during the registration process. you can do this by clicking any of the two buttons depicted in the picture below.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FR6cor2swx0ALXckCtDCh%2Fimage.png?alt=media&amp;token=16674c39-5624-4298-8023-db744e87375d" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FAj47umJjnFj4dETM5YMZ%2Fimage.png?alt=media&amp;token=bf97ad87-8e1a-49ac-bba1-050ca47f795c" alt=""><figcaption></figcaption></figure>

## Changing Account Password

You can either change your password by editing your account details after authenticating or via the login screen be requesting a password reset email to be sent to the email used to register the account.

### **Method 1**

* Requires authenticated access to your account and knowledge of existing password for account.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FZfTpsGxeECS9ZxzuYjQg%2Fimage.png?alt=media&amp;token=e0f5c83f-ec39-41e5-81a2-493c0332b447" alt=""><figcaption><p>Changing account password using old password.</p></figcaption></figure>

### **Method 2**

* Request a password reset link sent to the email on file for your account.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FGJlpGqXmyGhB0MZq2hgo%2Fimage.png?alt=media&amp;token=19bc560e-b5d1-4fc9-a01b-5e212e48cef3" alt=""><figcaption><p>"Forgot your Password" option on the login menu.</p></figcaption></figure>

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FkXgB3pLFY6sn6Ed1lEr2%2Fimage.png?alt=media&amp;token=5b25b2b3-c75d-4e94-a8fe-2c02eb3dc8ce" alt=""><figcaption><p>Password reset link request menu.</p></figcaption></figure>

{% hint style="warning" %}
There is nothing that we will do for you if you lose access to both your email and SVS cloud account. So please do not ask if we can "reset it" for you.
{% endhint %}


# Securing your Account

## Multi-Factor Authentication

We have added the ability for users to setup Multi-Factor Authentication (MFA) to their account. I recommend using this instead of the "Allowed IP Access" option to secure your account as it is more convenient to use in the event you frequently access the platform from different locations.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FyH2ZoZKw3rN3yCGicOK5%2Fimage.png?alt=media&amp;token=eaad7bee-8dd7-456e-a299-c94e826a2880" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FC0e9Wbgr3PZ8GLWC44v2%2Fimage.png?alt=media&amp;token=a0c52d5c-7035-47ed-a05d-db4ec9aecf70" alt=""><figcaption></figcaption></figure>

You can use any Time-based One-Time Password (TOTP) application as it does not need to specifically be Google Authenticator. Other alternatives include: BitWarden, Authenticator, Authy, and LastPass.

Once MFA is enabled it will be required to be entered upon logging in on any new devices. However there is an option to remember the device for up to 2 weeks before requiring it again.

## Allowed IP Access

You can adjust your account security settings using the "Security" page which is depicted in the below image.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FFyiZHVQCwopr9IAzfh48%2Fimage.png?alt=media&amp;token=9a94e70c-5396-49c0-9552-6116eff749f6" alt=""><figcaption></figcaption></figure>

For maximum security on your account we recommend setting the "Allowed IP Access" to trusted IP addresses that you frequently access our portal from. Examples include your home or work office. By enabling this option, it will prevent anyone regardless of knowledge of your credentials from being able to authenticate into your account if they are accessing it from an IP address not predefined here.

{% hint style="danger" %}
If you lose access to the allowed IP supplied in this field you will not be able to login to your account. Therefore it is recommended to set at least 2 different IP addresses that you frequent in case it changes. In the event that you do lose access to these IPs and can't access your account, open a support ticket in our Discord and we will initiate a verification process using the email registered with your account in order to reset your "Allowed IPs".
{% endhint %}

## SSH Keys

Users have the ability to add their own SSH public key to their profile to attach to purchased cloud service. If an SSH key is added in this menu, and VPS purchased will have a quick select option to have it added to your provisioned VPS. This is mostly just a convenience thing for accessing your VPS (if SSH is supported on your selected OS) after it is provisioned.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FAHHIkQ6XwGKXZXjxDoWT%2Fimage.png?alt=media&amp;token=5b710fc5-7b4d-4330-a96a-eb2f45a9378e" alt=""><figcaption></figcaption></figure>


# Inviting Collaborators

You have the ability to add authorized users to manage certain aspects of your cloud services purchased from us. This is handled under the "Manage Contacts" page which can be seen in the below image.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FlI81Dlr6gocMJSpG0eOK%2Fimage.png?alt=media&amp;token=27455a02-2397-475a-a240-6c434d73d174" alt=""><figcaption></figcaption></figure>

There are two scenarios on how to go about inviting someone to collaborate:

1. Inviting an existing user account
2. Inviting a new user

If the user being added already has an existing SVS cloud account then you should just invite them using the "Invite User" button.

If they don't have an account and plan to only work through your account/organization then you can create the account for them by clicking the "Add new contact" button.

Either option allows the user making the invite to fine-tune their permissions so they only have access to what they need. An example of this can be seen in the below image.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FaIyrDRdWNmi0vpt4dVxL%2Fimage.png?alt=media&amp;token=44507a5e-6f62-4de8-acf7-9e6fb23ab8b0" alt=""><figcaption></figcaption></figure>


# Choosing a Payment Method

Before you are able to complete a purchase, you will need to add a payment method to your account. This can be completed by navigating to the "Billing" section in your authenticated account portal.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2F4nMyWcxVZGm6kJcbO1l7%2Fimage.png?alt=media&amp;token=fd4e053a-ec06-4138-8923-fb313d6b3635" alt=""><figcaption></figcaption></figure>

## Payment Gateways

We currently support two payment methods:

* Credit/Debit card (Stripe)
* Crypto (Nowpayments.io)

{% hint style="warning" %}
If using exclusively crypto for payments, you will need to ensure that you manually add funds to your account in order to be charged for automatic service renewals. It is not required to add funds before purchasing a new service.
{% endhint %}

### Option 1: Card Payments

Select the "Credit Cards" option to input your card information.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FeaXoJGYUh3z89Ezq4InH%2Fimage.png?alt=media&amp;token=87a71182-01cc-4fed-9a0a-fc3dfa26ace7" alt=""><figcaption></figcaption></figure>

This will prompt your for your card details. We use the Stripe 3Ds payment gateway which allows for automatic charges on your card when it comes time to renew your subscription. This is important as we want to be clear that we do not store or handle any of your card information. Your card information is securely sent to Stripe's servers and does not touch any part of our infrastructure.

You can remove any of your payment methods at your convenience on this same page. (unlike some other big RPC service providers that force you to open a ticket in their Discord server to do so...)

### Option 2: Crypto Payments

If you do not wish to add a card and would like to use crypto for payment instead then you should be sure to set your "Default payment gateway" in your "Settings" of your account details. Refer to the [Setup Your Profile](/services/cloud-services/vps-hosting/getting-started/setup-your-profile#account-settings) for instructions.

When purchasing a service you will be offered the option to choose crypto as your payment method.

#### Adding Funds

We do not currently support automatic crypto payments. In order for your account to be automatically charged for service renewals, you will need to make sure your account already has funds added. You can do this in the "Billing" page.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FIYco9n31Q2envf8szxvB%2Fimage.png?alt=media&amp;token=cb84cba0-4b7f-4f08-b56b-b25348f07c91" alt=""><figcaption></figcaption></figure>

Be sure to select the Crypto payment gateway. Once this payment is successful then you should see it reflected in your account balancer in the top right of the window.


# Purchasing a Service

Assuming you followed the [Getting Started](/services/cloud-services/vps-hosting/getting-started) guide, purchasing is super straightforward. Select the "Order" dropdown button at the top of the window and then the "Cloud Services" option.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2F2URhWzGBJJv02tS5h8tl%2Fimage.png?alt=media&amp;token=da0174b4-b9f5-4c83-93e2-60ed6e5d4714" alt=""><figcaption></figcaption></figure>

Then select which type of service you are interested in purchasing.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FcvUAIK52GNR6rbevZg1U%2Fimage.png?alt=media&amp;token=8030e43d-0c58-4075-b369-ea75fb71132f" alt=""><figcaption></figcaption></figure>

You will be presented with a predefined resource options for your VPS. Select the one that best fits your needs.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2Fh9i6Jz62ZDqFKNaffj27%2Fimage.png?alt=media&amp;token=a0690edc-e3e4-40da-bbef-8e26e3feb336" alt=""><figcaption></figcaption></figure>

You will be required to select a hostname for your VPS. This can be whatever you want it to be as long as it fulfills the DNS naming schema (i.e. no underscores or special characters). It is mostly used as an identifier and setting the hostname on the VPS machine itself. It does not get added to any DNS server we run or global DNS server.

In the next section, select the Operating System you would like to use.

{% hint style="info" %}
Windows operating systems are available. If there are any other Linux distributions you would like to see, please open a support ticket in the Discord server and we can get it added.
{% endhint %}

Lastly, add your SSH key if you plan on using a Linux server OS to make accessing more seamless and secure.

{% hint style="warning" %}
We recommend disabling password SSH authentication on the host for extra security reassurance.
{% endhint %}

## Additional Options

You will have the ability to upgrade both the Storage and Bandwidth after purchasing if you find you are going to exceed it. Storage will be automatically resized for you after upgrading on the next reboot. These usage values can be monitored after the provisioning process is completed.

Additionally, if you decide you need more resources overall, you can upgrade the entire package as well and charged a pro-rated bill.


# Managing Your Service

Once you have completed payment and purchased your VPS, the provisioning process begins and usually takes a few minutes to finish. During that time you should see an option to view your purchased service in the sidebar. You can also find it under the "Dashboard" page.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FrT3P23W2WLVXUXUc1A54%2Fimage.png?alt=media&amp;token=1f22a61c-eacd-4475-82e4-ab84eb966078" alt=""><figcaption></figcaption></figure>

Navigating to any one of these pages will allow you to manage your specific purchased service.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2F8CKO1Z1kLcAJbdubbFAL%2Fimage.png?alt=media&amp;token=5d814734-622c-4103-8abe-b51c23e289bd" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
The IP Address listed in the above view is your internal IP address. Please do not attempt to connect to it using this IP address as it will not work. It is purely used as an identifier and I will circle back around to figure out how to display the WAN address instead.
{% endhint %}


# Overview

Selecting a specific active service will bring you to the "Service Overview" page. Here you will be able to quickly view important information specific to your service as well as interact with it.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FVINhZZ8TJ2Ig3uyMFZVG%2Fimage.png?alt=media&amp;token=9b4574c9-1d93-4ca5-b394-851976cc4345" alt=""><figcaption></figcaption></figure>

1. Console into your VPS using a proxied VNC connection
2. Restart your VPS
3. Power off your VPS
4. Reset your VPS (Equivalent to unplugging and plugging back in the power cord on your computer)
5. Rebuilds your VPS from scratch giving you a fresh environment.
6. Upgrade menu
7. Cancel service (You will continue to have access until the subscription ends)
8. Regenerate the "vibes" user password.
9. Show current "vibes" password.
10. Copy current "vibes" password to clipboard.
11. WAN IP address (use this to interact with it remotely)
12. Reset SSH keys (re-adds SSH key in the event you removed it)


# Firewall

In this section you can easily manage your firewall rules from the cloud platform.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FyvhcnfDdK230cOvZdNeY%2Fimage.png?alt=media&amp;token=e2adc5ed-75b4-4a03-9a15-25469c85a35b" alt=""><figcaption></figcaption></figure>

By default, we do not add any rules to newly provisioned VPSs. However the firewall does come enabled out of the box. This is important to understand as you will not be able to access the VPS remotely before altering the firewall rules. We provision these machines locked-down from the start with the default rules blocking everything inbound and allowing everything outbound. Blacklisted ports are listed under [Restricted Ports](/services/cloud-services/vps-hosting/restricted-ports).

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FGgDExwQQNa4VcPn0jW2U%2Fimage.png?alt=media&amp;token=b92910ff-16cc-44f3-9f3f-54b0944986f3" alt=""><figcaption><p>Default firewall configuration for newly provisioned VPS service. This allows everything out and drops everything coming in.</p></figcaption></figure>

If for example you would like to enable remote SSH access (which you should), you would have to add a rule allowing you to do so.

{% hint style="warning" %}
Users have the ability to disable the firewall or adjust the inbound firewall policy to quickly obtain remote access, however we strongly recommend you practice good security hygiene and only allow in what you need.
{% endhint %}

## Configuring Firewall Rules

You can customize your rules by selecting the "Add new rule" button.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2Fz0TRlYdLCdilQSbNhggT%2Fimage.png?alt=media&amp;token=5dfa383f-4ce0-4f71-aa77-4a65cf260b5e" alt=""><figcaption></figcaption></figure>

We already have some preloaded firewall rule macros. If you don't see the macro you need, then you can manually set the rule yourself.

### Examples

* Scenario 1: Use a macro to allow SSH connections from my home IP address (i.e. 123.123.123.123).
* Scenario 2: Make a custom firewall rule to allow web traffic on port 3000.
* Scenario 3: Whitelist a single IP to any port on the firewall

#### Scenario 1

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2F6ErdkJOFkud2SnsX2RTJ%2Fimage.png?alt=media&amp;token=999d522f-32a6-4b9d-a6a3-5bba7b06a80d" alt=""><figcaption><p>This configuration will only allow users from 123.123.123.123 to access the SSH service on port 22.</p></figcaption></figure>

#### Scenario 2

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FJoslesuWk5Thvv6ork0f%2Fimage.png?alt=media&amp;token=d81260aa-7eef-4345-b939-4e14380806de" alt=""><figcaption><p>This configuration allows any IP to access port 3000 over TCP connections on your machine.</p></figcaption></figure>

#### Scenario 3

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FRi7RSoJY9FzTRWn9s8Fe%2Fimage.png?alt=media&amp;token=c79224cc-f7ec-491c-a8ba-2849d215da97" alt=""><figcaption><p>This configuration allows IP 123.123.123.123 to access any port on your machine.</p></figcaption></figure>

In almost every scenario you encounter, you will likely not ever need to supply a source port. So leave that blank unless you know exactly what you are doing.

{% hint style="info" %}
There are a lot of protocol options in the dropdown. You should only ever be using the first three: TCP, UDP, or ICMP. If you need to open up a the firewall over UDP and TCP then you will have to make two separate rules for each protocol.
{% endhint %}


# Storage

## Disks

Under the "Disks" tab you can see all your attached storage devices associated with your VPS. Currently it is just one, but we plan to offer the ability to add higher performance network disks as an optional add-on if you need more flexible storage options.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2F7MFhhdnbb96NrBgJDWTQ%2Fimage.png?alt=media&amp;token=c371bbd2-281b-4c26-95cc-26cac28767d8" alt=""><figcaption></figcaption></figure>

## Backups

Each VPS subscription allows for the ability to manually and automatically perform full backups of your environment. This is included as part of the subscription is not an additional charge. By default every VPS subscription is allowed to have up to 3 full backups at any point.

To create a backup, navigate to the "Backups" tab under the "Storage" section and select the "Create Backup" button.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FCQ2L3iH6RArIzpCLqGJp%2Fimage.png?alt=media&amp;token=a853d148-09e8-4979-84d0-d57ad3f84b2e" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
Performing a backup can be performed while the VPS is running and WILL NOT cause any kind of interruption your service.
{% endhint %}

### Automatic Backups

By default, new services will take a backup of your VPS environment every 24 hours. This can be adjusted in the "Backup Schedule" tab in the "Storage Section". You can either disable it, delete it, or keep it how it is. Ig you would like to add a different backup schedule then you would need to delete the existing one first.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2Fa7mTcdZxdjc85AyYsvsf%2Fimage.png?alt=media&amp;token=946c1014-d958-4484-8751-999b99c013d9" alt=""><figcaption></figcaption></figure>

### Restoring Backups

If you decide you would like to restore your environment using a backup, then you can do that by selecting the backup you would like to restore to and clicking the settings drop down button on the specific backup you would like to revert to.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2Fnlpxfxl75iHsnQ77EhC2%2Fimage.png?alt=media&amp;token=357ebf58-0826-4015-ba57-f1fe88b52eb4" alt=""><figcaption></figcaption></figure>


# Logs

The logs section allows you to see a high-level history of all actions taken against your service.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FoJSt16sFJ6WXnbni0tiT%2Fimage.png?alt=media&amp;token=449d2bbc-ecc7-4587-bb24-a9534fcc6436" alt=""><figcaption></figcaption></figure>


# Usage

You can see a history of resource and network usage using this section.

{% hint style="info" %}
You can adjust the time frame of the usage graphs in the top right of the screen. This will allow you to change it from as long as a year back to as short as the hour.
{% endhint %}

## Resources

The resources usage page will show you a history of CPU, Memory, and Disk IO for your specific VPS service.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2F8sC1QvJlettAm4mFVPzy%2Fimage.png?alt=media&amp;token=d58b3331-b312-41a0-a020-c2af32daa1cb" alt=""><figcaption></figcaption></figure>

## Network Traffic

The network usage page will show you how much network traffic you are using on a time scale.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2F8RyUmN78azH9SeuD6g9s%2Fimage.png?alt=media&amp;token=49a64b16-10ba-48b6-bbdb-85c055826a15" alt=""><figcaption></figcaption></figure>


# Billing

The billing page allows you to quickly see general information related to your billing of your purchased service. This includes the service start date, expiration date, next billing date, and how much bandwidth you have used for your billing cycle.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FhEZNZxZyRs0qWTRa5kCE%2Fimage.png?alt=media&amp;token=e1fa099e-38f4-41a6-8ae1-e7c8133b8868" alt=""><figcaption></figcaption></figure>

This is also where you would go to cancel your service if you do not want it to automatically be renewed for an additional month.


# Upgrades

In the event you would like to upgrade any resources on your VPS service after you have already purchased, you can do that in the Upgrade menu. This can be navigated to from the "Overview" page on your specifc service.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FoalDWM4wFzvmIs7gAqxZ%2Fimage.png?alt=media&amp;token=3fa91e83-05c8-41e3-bc19-e331a96e2b50" alt=""><figcaption><p>Navigating to the service upgrade menu.</p></figcaption></figure>

Once on the upgrade menu, you will be presented with all of the possible upgrade options that are available for your service.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2F5KkXPqpqQ1ZfsYcRmqvD%2Fimage.png?alt=media&amp;token=4d55c98b-ea27-47c4-948d-129e8853a4e0" alt=""><figcaption><p>Disk size, bandwidth limit, and package upgrade options.</p></figcaption></figure>

{% hint style="warning" %}
We do not allow the possibility to downgrade any options. This is mostly to prevent unwanted behavior such as loss of data in the case of downsizing your disk since upgrades are performed automatically.
{% endhint %}


# Support Tickets

We have a support ticketing system on the cloud platform that customers can use in addition to our Discord server.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FOYZg2Qv3WY1waeYsCMGB%2Fimage.png?alt=media&amp;token=7afca20d-4a7f-4570-9750-21c86f124078" alt=""><figcaption></figcaption></figure>

To open a new support ticket, navigate to the "Support Tickets" section in the left menu and select the "Create new" button. You will be required to supply a subject and description of your issue. Additionally, you have the ability to attach some file types to help us understand the issue you are experiencing.

<figure><img src="https://2721585204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWne85fXOcTGAFKFAOcBR%2Fuploads%2FVIRSUTvruXc6U10atpPS%2Fimage.png?alt=media&amp;token=be01b679-4f54-42fc-8322-4f1f58f0333e" alt=""><figcaption></figcaption></figure>


# Restricted Ports

List of blacklisted ports/services on our cloud services network.

We reserve the right to add/remove ports to this list without warning as we come across new knowledge.

<table><thead><tr><th>Port</th><th>Direction</th><th>Service</th><th data-hidden>Description</th></tr></thead><tbody><tr><td>23</td><td>Both</td><td>Telnet</td><td>L</td></tr><tr><td>25</td><td>Out</td><td>SMTP</td><td></td></tr><tr><td>135, 137-139, 445</td><td>Both</td><td>MS SMB/Net-BIOS</td><td></td></tr><tr><td>19, 69, 123, 161-162, 1900, 11211</td><td>In</td><td>Commonly abused services for DDoS attacks</td><td></td></tr></tbody></table>


# Bare Metal


# Dedicated Services


# RPC Nodes


# Hyperion


# Transaction Forwarders


# Overview

## Solana Vibe Station Developer Documentation

Welcome to the Solana Vibe Station (SVS) developer documentation. This section is your reference for building on top of our Solana infrastructure — from standard RPC calls all the way through to low-latency transaction landing, gRPC streaming, and historical data.

Everything you need to integrate is documented here. If you're new, start with [Getting Started](https://github.com/Solana-Vibe-Station/gitbooks-overview/tree/main/getting-started/connection-information/README.md), then jump to the section that matches what you're building.

***

### [Getting Started](https://github.com/Solana-Vibe-Station/gitbooks-overview/tree/main/getting-started/connection-information/README.md)

Before making your first request, review the basics:

* **Connection Information** — Endpoint URLs for every tier, across RPC, SWQoS, and gRPC.
* **Rate Limits & Connection Limits** — Per-tier request limits, burst behavior, and headers you should be reading on every response.
* **Endpoints & DNS Load Balancing** — Geographic routing, automatic failover, and location-pinned endpoints.

***

### [Solana RPC](/api-reference/solana-rpc)

The foundation of the platform. Standard Solana JSON-RPC, served from our Atlanta and Amsterdam regions.

* [**HTTP Methods** ](/api-reference/solana-rpc/http-methods)— Full set of supported HTTP RPC methods for queries, account state, transaction submission, and chain metadata.
* [**Websocket Methods**](/api-reference/solana-rpc/websocket-methods) — Real-time subscriptions for accounts, programs, slots, signatures, and logs over WSS.

### [Jito](/api-reference/jito)

Access the Jito block engine through SVS endpoints for bundle submission, simulation, and tip discovery.

* [**Jito Bundles** ](/api-reference/jito)— Submit and simulate bundles, query tip accounts and floor amounts, and interact with the rest of the Jito block engine surface area.

### [Lightspeed](/api-reference/lightspeed)

Our optimized `sendTransaction` propagation service for applications that need the highest possible landing rates and lowest confirmation latency.

* [**Lightspeed**](/api-reference/lightspeed) — Tiered tip routing across staked validators and direct leader connections, plus the `/lightspeed` endpoint reference.

### [Streaming](/api-reference/streaming)

The lowest-latency way to consume on-chain data. Subscribe to accounts, transactions, slots, blocks, and entries with sub-second deltas.

* [**Yellowstone gRPC**](/api-reference/streaming/yellowstone-grpc) — Dragon's Mouth gRPC streaming: what it is, why it beats WebSockets, and when to reach for it.
* [**Yardswitch**](/api-reference/streaming/yardswitch) — Sub-millisecond multiplexed streaming with a 24-hour replay window.

### [Historical Data](/api-reference/historical)

Archival access to the full Solana chain history when our standard RPC retention isn't enough.

* **Overview** — Supported archival methods, including `getBlock`, `getBlocks`, `getBlocksWithLimit`, `getBlockTime`, `getFirstAvailableBlock`, `getSlot`, `getTransaction`, `getSignaturesForAddress`, and `getSignatureStatuses`. Use these for backfills, analytics, and reorg-aware indexing.

### [Rewind](/api-reference/rewind)

Point-in-time account state reconstruction. Query what an account looked like at any historical slot, diff two slots, or replay a transaction against historical state.

* **Overview** — `getAccountInfo`, `getMultipleAccounts`, `getAccountChanges`, `getAccountDiff`, `getRewindCoverage`, and `simulateHistoricalTransaction`.

***

### Need Help?

If you hit something the docs don't cover, reach out via your portal account or on Discord by submitting a support ticket.


# Solana RPC

Standard Solana JSON-RPC over HTTP and WebSocket, served from Atlanta and Amsterdam.

The foundation of the platform. SVS serves the standard Solana JSON-RPC interface, so any existing Solana client library works without modification — point it at an SVS endpoint and go.

Requests are geo-routed to the nearest healthy location by default. See [Endpoints & DNS Load Balancing](https://github.com/Solana-Vibe-Station/gitbooks-overview/tree/main/getting-started/endpoints-and-dns-load-balancing/README.md) for location-pinned hostnames and failover behaviour, and [Connection Information](https://github.com/Solana-Vibe-Station/gitbooks-overview/tree/main/getting-started/connection-information/README.md) for the URL of every tier.

### [HTTP Methods](/api-reference/solana-rpc/http-methods)

Request/response JSON-RPC over HTTPS. Account and token queries, transaction submission and simulation, block and epoch metadata, and chain health.

### [Websocket Methods](/api-reference/solana-rpc/websocket-methods)

Long-lived subscriptions over WSS. Push updates for accounts, programs, slots, signatures, logs, blocks, and votes — each with a matching unsubscribe method.

***

Looking for something beyond standard RPC?

* [**Lightspeed**](/api-reference/lightspeed) — tip-based low-latency transaction landing.
* [**Jito Bundles**](/api-reference/jito) — atomic bundle submission with MEV protection.
* [**Historical**](/api-reference/historical) — archival queries beyond standard retention.
* [**Rewind**](/api-reference/rewind) — point-in-time account state reconstruction.


# HTTP Methods

This is still a work in progress. For a complete list of supported Solana RPC methods, please visit the official Solana API documentation page.<br>

{% embed url="<https://solana.com/docs/rpc>" %}


# getAccountInfo

## getAccountInfo — Account info for a single pubkey

> Returns all information associated with the account of provided Pubkey\
> \*\*Parameters\*\*\
> \
> 0\. \`pubkey\` (required) — Base-58 encoded public key.\
> 1\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getAccountInfo","version":"1.0.0"},"tags":[{"name":"Account","description":"Solana RPC account method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"Encoding":{"type":"string","enum":["json","jsonParsed","base58","base64","base64+zstd"],"description":"Encoding for transaction or account data."},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"Context":{"type":"object","description":"RPC context block returned alongside most account-level results.","required":["slot"],"properties":{"slot":{"type":"integer","format":"int64"},"apiVersion":{"type":"string"}}},"AccountInfo":{"type":"object","description":"On-chain account state.","nullable":true,"required":["lamports","owner","executable","rentEpoch","data"],"properties":{"lamports":{"type":"integer","format":"int64","description":"Balance in lamports."},"owner":{"type":"string","description":"Base-58 program id that owns the account."},"executable":{"type":"boolean"},"rentEpoch":{"type":"integer","format":"int64"},"space":{"type":"integer","description":"Data length in bytes."},"data":{"description":"Account data; encoding depends on request encoding.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"object","additionalProperties":true}]}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getAccountInfo","summary":"getAccountInfo — Account info for a single pubkey","tags":["Account"],"description":"Returns all information associated with the account of provided Pubkey\n**Parameters**\n\n0. `pubkey` (required) — Base-58 encoded public key.\n1. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getAccountInfo"],"description":"Must be `getAccountInfo`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":2,"items":{"anyOf":[{"title":"pubkey","type":"string","description":"Base-58 encoded public key."},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."},"encoding":{"$ref":"#/components/schemas/Encoding"},"dataSlice":{"type":"object","description":"Optional byte range of the account data to return. Use this to fetch only a slice of large accounts and save bandwidth.","properties":{"offset":{"type":"integer","format":"int64","description":"Number of bytes from the start of account data at which the slice begins."},"length":{"type":"integer","format":"int64","description":"Number of bytes to include in the slice, starting from `offset`."}}}}}]}}}}}}},"responses":{"200":{"description":"Successful `getAccountInfo` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","required":["context","value"],"properties":{"context":{"$ref":"#/components/schemas/Context"},"value":{"$ref":"#/components/schemas/AccountInfo"}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getBalance

## getBalance — Lamport balance for a pubkey

> Returns the lamport balance of the account of provided Pubkey. The balance is returned in lamports, where 1 SOL = 1,000,000,000 lamports.\
> \*\*Parameters\*\*\
> \
> 0\. \`pubkey\` (required) — Base-58 encoded public key.\
> 1\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getBalance","version":"1.0.0"},"tags":[{"name":"Account","description":"Solana RPC account method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"Context":{"type":"object","description":"RPC context block returned alongside most account-level results.","required":["slot"],"properties":{"slot":{"type":"integer","format":"int64"},"apiVersion":{"type":"string"}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getBalance","summary":"getBalance — Lamport balance for a pubkey","tags":["Account"],"description":"Returns the lamport balance of the account of provided Pubkey. The balance is returned in lamports, where 1 SOL = 1,000,000,000 lamports.\n**Parameters**\n\n0. `pubkey` (required) — Base-58 encoded public key.\n1. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getBalance"],"description":"Must be `getBalance`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":2,"items":{"anyOf":[{"title":"pubkey","type":"string","description":"Base-58 encoded public key."},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."}}}]}}}}}}},"responses":{"200":{"description":"Successful `getBalance` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","required":["context","value"],"properties":{"context":{"$ref":"#/components/schemas/Context"},"value":{"type":"integer","format":"int64","description":"Balance in lamports."}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getBlock

## getBlock — Block by slot

> Returns identity and transaction information about a confirmed block in the ledger. Provides detailed block data including all transactions and their metadata.\
> \*\*Parameters\*\*\
> \
> 0\. \`slot\` (required) — Slot number to fetch.\
> 1\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getBlock","version":"1.0.0"},"tags":[{"name":"Block","description":"Solana RPC block method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"Encoding":{"type":"string","enum":["json","jsonParsed","base58","base64","base64+zstd"],"description":"Encoding for transaction or account data."},"TransactionDetails":{"type":"string","enum":["full","accounts","signatures","none"],"description":"Level of transaction detail to return on block queries."},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getBlock","summary":"getBlock — Block by slot","tags":["Block"],"description":"Returns identity and transaction information about a confirmed block in the ledger. Provides detailed block data including all transactions and their metadata.\n**Parameters**\n\n0. `slot` (required) — Slot number to fetch.\n1. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getBlock"],"description":"Must be `getBlock`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":2,"items":{"anyOf":[{"title":"slot","type":"integer","format":"int64","description":"Slot number."},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."},"encoding":{"$ref":"#/components/schemas/Encoding"},"transactionDetails":{"$ref":"#/components/schemas/TransactionDetails"},"rewards":{"type":"boolean","description":"Include block rewards in the response. Default false."},"maxSupportedTransactionVersion":{"type":"integer","format":"int64","description":"0 includes versioned transactions; omit for legacy-only."}}}]}}}}}}},"responses":{"200":{"description":"Successful `getBlock` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","required":["blockhash","previousBlockhash","parentSlot","transactions","blockHeight"],"properties":{"blockhash":{"type":"string"},"previousBlockhash":{"type":"string"},"parentSlot":{"type":"integer","format":"int64"},"blockHeight":{"type":"integer","format":"int64"},"blockTime":{"type":"integer","format":"int64","nullable":true},"transactions":{"type":"array","items":{"type":"object","additionalProperties":true}},"rewards":{"type":"array","items":{"type":"object","additionalProperties":true}}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getBlockCommitment

## getBlockCommitment — Commitment for a block

> Returns commitment for particular block. This method provides information about the cluster stake that has voted on a specific block at each depth.\
> \*\*Parameters\*\*\
> \
> 0\. \`slot\` (required) — Slot number.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getBlockCommitment","version":"1.0.0"},"tags":[{"name":"Block","description":"Solana RPC block method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getBlockCommitment","summary":"getBlockCommitment — Commitment for a block","tags":["Block"],"description":"Returns commitment for particular block. This method provides information about the cluster stake that has voted on a specific block at each depth.\n**Parameters**\n\n0. `slot` (required) — Slot number.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getBlockCommitment"],"description":"Must be `getBlockCommitment`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":1,"items":{"anyOf":[{"title":"slot","type":"integer","format":"int64"}]}}}}}}},"responses":{"200":{"description":"Successful `getBlockCommitment` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","properties":{"commitment":{"type":"array","items":{"type":"integer","format":"int64"},"nullable":true},"totalStake":{"type":"integer","format":"int64"}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getBlockHeight

## getBlockHeight — Current block height

> Returns the current block height of the node. Block height is the number of blocks that have been produced since the genesis block. This is different from slot numbers, as blocks represent confirmed batches of transactions.\
> \*\*Parameters\*\*\
> \
> 0\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getBlockHeight","version":"1.0.0"},"tags":[{"name":"Block","description":"Solana RPC block method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getBlockHeight","summary":"getBlockHeight — Current block height","tags":["Block"],"description":"Returns the current block height of the node. Block height is the number of blocks that have been produced since the genesis block. This is different from slot numbers, as blocks represent confirmed batches of transactions.\n**Parameters**\n\n0. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getBlockHeight"],"description":"Must be `getBlockHeight`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":0,"maxItems":1,"items":{"anyOf":[{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."}}}]}}}}}}},"responses":{"200":{"description":"Successful `getBlockHeight` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"integer","format":"int64","description":"Current block height."}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getBlockProduction

## getBlockProduction — Recent block production

> Returns recent block production information from the current or previous epoch\
> \*\*Parameters\*\*\
> \
> 0\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getBlockProduction","version":"1.0.0"},"tags":[{"name":"Block","description":"Solana RPC block method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"Context":{"type":"object","description":"RPC context block returned alongside most account-level results.","required":["slot"],"properties":{"slot":{"type":"integer","format":"int64"},"apiVersion":{"type":"string"}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getBlockProduction","summary":"getBlockProduction — Recent block production","tags":["Block"],"description":"Returns recent block production information from the current or previous epoch\n**Parameters**\n\n0. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getBlockProduction"],"description":"Must be `getBlockProduction`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":0,"maxItems":1,"items":{"anyOf":[{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."},"identity":{"type":"string","description":"Filter to a single validator identity (base-58 pubkey). Omit to include all validators."},"range":{"type":"object","description":"Slot range to summarize block production over. Defaults to the current epoch when omitted.","properties":{"firstSlot":{"type":"integer","format":"int64","description":"First slot in the range, inclusive."},"lastSlot":{"type":"integer","format":"int64","description":"Last slot in the range, inclusive."}}}}}]}}}}}}},"responses":{"200":{"description":"Successful `getBlockProduction` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","required":["context","value"],"properties":{"context":{"$ref":"#/components/schemas/Context"},"value":{"type":"object","properties":{"byIdentity":{"type":"object","description":"Identity → [leaderSlots, blocksProduced].","additionalProperties":{"type":"array","items":{"type":"integer","format":"int64"}}},"range":{"type":"object","properties":{"firstSlot":{"type":"integer","format":"int64"},"lastSlot":{"type":"integer","format":"int64"}}}}}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getBlocks

## getBlocks — Confirmed blocks in a range

> Returns a list of confirmed blocks between two slots\
> \*\*Parameters\*\*\
> \
> 0\. \`startSlot\` (required) — Start slot (inclusive).\
> 1\. \`endSlot\` (optional) — End slot (inclusive).\
> 2\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getBlocks","version":"1.0.0"},"tags":[{"name":"Block","description":"Solana RPC block method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getBlocks","summary":"getBlocks — Confirmed blocks in a range","tags":["Block"],"description":"Returns a list of confirmed blocks between two slots\n**Parameters**\n\n0. `startSlot` (required) — Start slot (inclusive).\n1. `endSlot` (optional) — End slot (inclusive).\n2. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getBlocks"],"description":"Must be `getBlocks`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":3,"items":{"anyOf":[{"title":"startSlot","type":"integer","format":"int64"},{"title":"endSlot (optional)","type":"integer","format":"int64"},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."}}}]}}}}}}},"responses":{"200":{"description":"Successful `getBlocks` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"array","items":{"type":"integer","format":"int64"},"description":"Confirmed slots."}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getBlockTime

## getBlockTime — Estimated production time of a block

> Returns the estimated production time of a block. Each validator reports their UTC time to the ledger on a regular interval by intermittently adding a timestamp to a Vote for a particular block. A requested block's time is calculated from the stake-weighted mean of the Vote timestamps in a set of recent blocks recorded on the ledger.\
> \*\*Parameters\*\*\
> \
> 0\. \`slot\` (required) — Slot number.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getBlockTime","version":"1.0.0"},"tags":[{"name":"Block","description":"Solana RPC block method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getBlockTime","summary":"getBlockTime — Estimated production time of a block","tags":["Block"],"description":"Returns the estimated production time of a block. Each validator reports their UTC time to the ledger on a regular interval by intermittently adding a timestamp to a Vote for a particular block. A requested block's time is calculated from the stake-weighted mean of the Vote timestamps in a set of recent blocks recorded on the ledger.\n**Parameters**\n\n0. `slot` (required) — Slot number.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getBlockTime"],"description":"Must be `getBlockTime`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":1,"items":{"anyOf":[{"title":"slot","type":"integer","format":"int64"}]}}}}}}},"responses":{"200":{"description":"Successful `getBlockTime` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"integer","format":"int64","description":"Unix timestamp seconds, or null if unavailable.","nullable":true}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getBlocksWithLimit

## getBlocksWithLimit — Confirmed blocks starting at slot

> Returns a list of confirmed blocks starting at the given slot. This method provides an efficient way to retrieve a range of sequential block slots, which is useful for block explorers, analytics tools, and applications that need to process historical blockchain data in batches. Important : The limit must be no more than 500,000 blocks higher than the start\_slot.\
> \*\*Parameters\*\*\
> \
> 0\. \`startSlot\` (required) — Start slot.\
> 1\. \`limit\` (required) — Maximum number of blocks (max 500,000).\
> 2\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getBlocksWithLimit","version":"1.0.0"},"tags":[{"name":"Block","description":"Solana RPC block method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getBlocksWithLimit","summary":"getBlocksWithLimit — Confirmed blocks starting at slot","tags":["Block"],"description":"Returns a list of confirmed blocks starting at the given slot. This method provides an efficient way to retrieve a range of sequential block slots, which is useful for block explorers, analytics tools, and applications that need to process historical blockchain data in batches. Important : The limit must be no more than 500,000 blocks higher than the start_slot.\n**Parameters**\n\n0. `startSlot` (required) — Start slot.\n1. `limit` (required) — Maximum number of blocks (max 500,000).\n2. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getBlocksWithLimit"],"description":"Must be `getBlocksWithLimit`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":2,"maxItems":3,"items":{"anyOf":[{"title":"startSlot","type":"integer","format":"int64"},{"title":"limit","type":"integer","format":"int64","maximum":500000},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."}}}]}}}}}}},"responses":{"200":{"description":"Successful `getBlocksWithLimit` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"array","items":{"type":"integer","format":"int64"}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getClusterNodes

## getClusterNodes — All cluster nodes

> Returns information about all the nodes participating in the cluster. This includes details about each node's network addresses, version, and configuration parameters.

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getClusterNodes","version":"1.0.0"},"tags":[{"name":"Cluster","description":"Solana RPC cluster method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getClusterNodes","summary":"getClusterNodes — All cluster nodes","tags":["Cluster"],"description":"Returns information about all the nodes participating in the cluster. This includes details about each node's network addresses, version, and configuration parameters.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getClusterNodes"],"description":"Must be `getClusterNodes`."},"params":{"type":"array","description":"No parameters.","maxItems":0}}}}}},"responses":{"200":{"description":"Successful `getClusterNodes` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"array","items":{"type":"object","properties":{"pubkey":{"type":"string"},"gossip":{"type":"string","nullable":true},"tpu":{"type":"string","nullable":true},"rpc":{"type":"string","nullable":true},"version":{"type":"string","nullable":true},"featureSet":{"type":"integer","format":"int64","nullable":true},"shredVersion":{"type":"integer","format":"int64","nullable":true}}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getEpochInfo

## getEpochInfo — Current epoch info

> Returns information about the current epoch including the current slot, block height, epoch number, slot index within the epoch, total slots in the epoch, and transaction count.\
> \*\*Parameters\*\*\
> \
> 0\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getEpochInfo","version":"1.0.0"},"tags":[{"name":"Cluster","description":"Solana RPC cluster method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getEpochInfo","summary":"getEpochInfo — Current epoch info","tags":["Cluster"],"description":"Returns information about the current epoch including the current slot, block height, epoch number, slot index within the epoch, total slots in the epoch, and transaction count.\n**Parameters**\n\n0. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getEpochInfo"],"description":"Must be `getEpochInfo`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":0,"maxItems":1,"items":{"anyOf":[{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."}}}]}}}}}}},"responses":{"200":{"description":"Successful `getEpochInfo` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","properties":{"absoluteSlot":{"type":"integer","format":"int64"},"blockHeight":{"type":"integer","format":"int64"},"epoch":{"type":"integer","format":"int64"},"slotIndex":{"type":"integer","format":"int64"},"slotsInEpoch":{"type":"integer","format":"int64"},"transactionCount":{"type":"integer","format":"int64","nullable":true}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getEpochSchedule

## getEpochSchedule — Epoch schedule

> Returns the genesis epoch schedule that this cluster is using.

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getEpochSchedule","version":"1.0.0"},"tags":[{"name":"Cluster","description":"Solana RPC cluster method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getEpochSchedule","summary":"getEpochSchedule — Epoch schedule","tags":["Cluster"],"description":"Returns the genesis epoch schedule that this cluster is using.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getEpochSchedule"],"description":"Must be `getEpochSchedule`."},"params":{"type":"array","description":"No parameters.","maxItems":0}}}}}},"responses":{"200":{"description":"Successful `getEpochSchedule` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","properties":{"slotsPerEpoch":{"type":"integer","format":"int64"},"leaderScheduleSlotOffset":{"type":"integer","format":"int64"},"warmup":{"type":"boolean"},"firstNormalEpoch":{"type":"integer","format":"int64"},"firstNormalSlot":{"type":"integer","format":"int64"}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getFeeForMessage

## getFeeForMessage — Estimate fee for a message

> Get the fee the network will charge for a particular Message. Version Restriction : This method is only available in solana-core v1.9 or newer. Please use getFees for solana-core v1.8 and below.\
> \*\*Parameters\*\*\
> \
> 0\. \`message\` (required) — Base-64 encoded compiled transaction message (the \`Message\`, not a full transaction). Used by \`getFeeForMessage\`.\
> 1\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getFeeForMessage","version":"1.0.0"},"tags":[{"name":"Fees","description":"Solana RPC fees method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"Context":{"type":"object","description":"RPC context block returned alongside most account-level results.","required":["slot"],"properties":{"slot":{"type":"integer","format":"int64"},"apiVersion":{"type":"string"}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getFeeForMessage","summary":"getFeeForMessage — Estimate fee for a message","tags":["Fees"],"description":"Get the fee the network will charge for a particular Message. Version Restriction : This method is only available in solana-core v1.9 or newer. Please use getFees for solana-core v1.8 and below.\n**Parameters**\n\n0. `message` (required) — Base-64 encoded compiled transaction message (the `Message`, not a full transaction). Used by `getFeeForMessage`.\n1. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getFeeForMessage"],"description":"Must be `getFeeForMessage`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":2,"items":{"anyOf":[{"title":"message","type":"string","description":"Base-64 encoded compiled message."},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."}}}]}}}}}}},"responses":{"200":{"description":"Successful `getFeeForMessage` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","required":["context","value"],"properties":{"context":{"$ref":"#/components/schemas/Context"},"value":{"type":"integer","format":"int64","description":"Fee in lamports, or null if message could not be decoded.","nullable":true}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getFirstAvailableBlock

## getFirstAvailableBlock — Lowest available block in the ledger

> Returns the slot of the lowest confirmed block that has not been purged from the ledger. This is useful for determining the earliest available block data in the ledger history.

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getFirstAvailableBlock","version":"1.0.0"},"tags":[{"name":"Block","description":"Solana RPC block method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getFirstAvailableBlock","summary":"getFirstAvailableBlock — Lowest available block in the ledger","tags":["Block"],"description":"Returns the slot of the lowest confirmed block that has not been purged from the ledger. This is useful for determining the earliest available block data in the ledger history.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getFirstAvailableBlock"],"description":"Must be `getFirstAvailableBlock`."},"params":{"type":"array","description":"No parameters.","maxItems":0}}}}}},"responses":{"200":{"description":"Successful `getFirstAvailableBlock` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"integer","format":"int64","description":"Lowest slot the node has data for in its ledger."}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getGenesisHash

## getGenesisHash — Genesis hash

> Returns the genesis hash of the Solana network. The genesis hash is a unique identifier for the blockchain network that represents the initial state of the ledger.

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getGenesisHash","version":"1.0.0"},"tags":[{"name":"Cluster","description":"Solana RPC cluster method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getGenesisHash","summary":"getGenesisHash — Genesis hash","tags":["Cluster"],"description":"Returns the genesis hash of the Solana network. The genesis hash is a unique identifier for the blockchain network that represents the initial state of the ledger.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getGenesisHash"],"description":"Must be `getGenesisHash`."},"params":{"type":"array","description":"No parameters.","maxItems":0}}}}}},"responses":{"200":{"description":"Successful `getGenesisHash` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"string","description":"Base-58 genesis hash."}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getHealth

## getHealth — Node health

> Returns the current health of the node. A healthy node is one that is within 25 slots of the latest cluster confirmed slot. This method is useful for monitoring node synchronization status and determining if the node is keeping up with the network.

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getHealth","version":"1.0.0"},"tags":[{"name":"Cluster","description":"Solana RPC cluster method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getHealth","summary":"getHealth — Node health","tags":["Cluster"],"description":"Returns the current health of the node. A healthy node is one that is within 25 slots of the latest cluster confirmed slot. This method is useful for monitoring node synchronization status and determining if the node is keeping up with the network.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getHealth"],"description":"Must be `getHealth`."},"params":{"type":"array","description":"No parameters.","maxItems":0}}}}}},"responses":{"200":{"description":"Successful `getHealth` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"string","description":"Node health status.","enum":["ok"]}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getHighestSnapshotSlot

## getHighestSnapshotSlot — Highest slots covered by snapshots

> Returns the highest slot information that the node has snapshots for. This will find the highest full snapshot slot, and the highest incremental snapshot slot based on the full snapshot slot, if there is one. Version Restriction : This method is only available in solana-core v1.9 or newer. Please use getSnapshotSlot for solana-core v1.8 and below.

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getHighestSnapshotSlot","version":"1.0.0"},"tags":[{"name":"Block","description":"Solana RPC block method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getHighestSnapshotSlot","summary":"getHighestSnapshotSlot — Highest slots covered by snapshots","tags":["Block"],"description":"Returns the highest slot information that the node has snapshots for. This will find the highest full snapshot slot, and the highest incremental snapshot slot based on the full snapshot slot, if there is one. Version Restriction : This method is only available in solana-core v1.9 or newer. Please use getSnapshotSlot for solana-core v1.8 and below.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getHighestSnapshotSlot"],"description":"Must be `getHighestSnapshotSlot`."},"params":{"type":"array","description":"No parameters.","maxItems":0}}}}}},"responses":{"200":{"description":"Successful `getHighestSnapshotSlot` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","properties":{"full":{"type":"integer","format":"int64","description":"Highest full snapshot slot the node has."},"incremental":{"type":"integer","format":"int64","description":"Highest incremental snapshot slot derived from the full snapshot, if any.","nullable":true}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getIdentity

## getIdentity — Node identity

> Returns the identity pubkey for the current node. The identity pubkey uniquely identifies the validator node in the Solana network.

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getIdentity","version":"1.0.0"},"tags":[{"name":"Cluster","description":"Solana RPC cluster method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getIdentity","summary":"getIdentity — Node identity","tags":["Cluster"],"description":"Returns the identity pubkey for the current node. The identity pubkey uniquely identifies the validator node in the Solana network.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getIdentity"],"description":"Must be `getIdentity`."},"params":{"type":"array","description":"No parameters.","maxItems":0}}}}}},"responses":{"200":{"description":"Successful `getIdentity` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","properties":{"identity":{"type":"string"}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getInflationGovernor

## getInflationGovernor — Inflation governor

> Returns the current inflation governor, which contains the parameters that control Solana's inflation schedule including initial rates, taper rates, terminal rates, and foundation allocation.\
> \*\*Parameters\*\*\
> \
> 0\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getInflationGovernor","version":"1.0.0"},"tags":[{"name":"Inflation","description":"Solana RPC inflation method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getInflationGovernor","summary":"getInflationGovernor — Inflation governor","tags":["Inflation"],"description":"Returns the current inflation governor, which contains the parameters that control Solana's inflation schedule including initial rates, taper rates, terminal rates, and foundation allocation.\n**Parameters**\n\n0. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getInflationGovernor"],"description":"Must be `getInflationGovernor`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":0,"maxItems":1,"items":{"anyOf":[{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."}}}]}}}}}}},"responses":{"200":{"description":"Successful `getInflationGovernor` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","properties":{"initial":{"type":"number"},"terminal":{"type":"number"},"taper":{"type":"number"},"foundation":{"type":"number"},"foundationTerm":{"type":"number"}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getInflationRate

## getInflationRate — Inflation rate

> Returns the specific inflation values for the current epoch, including total inflation and the breakdown between validator rewards and foundation allocation.

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getInflationRate","version":"1.0.0"},"tags":[{"name":"Inflation","description":"Solana RPC inflation method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getInflationRate","summary":"getInflationRate — Inflation rate","tags":["Inflation"],"description":"Returns the specific inflation values for the current epoch, including total inflation and the breakdown between validator rewards and foundation allocation.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getInflationRate"],"description":"Must be `getInflationRate`."},"params":{"type":"array","description":"No parameters.","maxItems":0}}}}}},"responses":{"200":{"description":"Successful `getInflationRate` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","properties":{"total":{"type":"number"},"validator":{"type":"number"},"foundation":{"type":"number"},"epoch":{"type":"integer","format":"int64"}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getInflationReward

## getInflationReward — Inflation rewards

> Returns the inflation/staking reward for a list of addresses for an epoch.\
> \*\*Parameters\*\*\
> \
> 0\. \`addresses\` (required) — Array of base-58 pubkeys.\
> 1\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getInflationReward","version":"1.0.0"},"tags":[{"name":"Inflation","description":"Solana RPC inflation method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getInflationReward","summary":"getInflationReward — Inflation rewards","tags":["Inflation"],"description":"Returns the inflation/staking reward for a list of addresses for an epoch.\n**Parameters**\n\n0. `addresses` (required) — Array of base-58 pubkeys.\n1. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getInflationReward"],"description":"Must be `getInflationReward`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":2,"items":{"anyOf":[{"title":"addresses","type":"array","items":{"type":"string","description":"Pubkey of the staked account or vote account, base-58."},"description":"Pubkeys to fetch inflation rewards for. Each pubkey returns one entry in the result array, in order."},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."},"epoch":{"type":"integer","format":"int64","description":"Specific epoch to query. Omit to use the latest finalized epoch."}}}]}}}}}}},"responses":{"200":{"description":"Successful `getInflationReward` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"array","items":{"type":"object","description":"Reward object, or null if no reward for that address.","properties":{"epoch":{"type":"integer","format":"int64"},"effectiveSlot":{"type":"integer","format":"int64"},"amount":{"type":"integer","format":"int64"},"postBalance":{"type":"integer","format":"int64"},"commission":{"type":"integer","format":"int64","nullable":true}},"nullable":true}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getLargestAccounts

## getLargestAccounts — Largest SOL accounts

> Returns the 20 largest accounts by lamport balance. Results may be cached up to two hours.\
> \*\*Parameters\*\*\
> \
> 0\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getLargestAccounts","version":"1.0.0"},"tags":[{"name":"Supply","description":"Solana RPC supply method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"Context":{"type":"object","description":"RPC context block returned alongside most account-level results.","required":["slot"],"properties":{"slot":{"type":"integer","format":"int64"},"apiVersion":{"type":"string"}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getLargestAccounts","summary":"getLargestAccounts — Largest SOL accounts","tags":["Supply"],"description":"Returns the 20 largest accounts by lamport balance. Results may be cached up to two hours.\n**Parameters**\n\n0. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getLargestAccounts"],"description":"Must be `getLargestAccounts`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":0,"maxItems":1,"items":{"anyOf":[{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."},"filter":{"type":"string","description":"Restrict the response to circulating or non-circulating accounts.","enum":["circulating","nonCirculating"]}}}]}}}}}}},"responses":{"200":{"description":"Successful `getLargestAccounts` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","required":["context","value"],"properties":{"context":{"$ref":"#/components/schemas/Context"},"value":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"lamports":{"type":"integer","format":"int64"}}}}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getLatestBlockhash

## getLatestBlockhash — Latest blockhash

> Returns the latest blockhash. This is essential for creating transactions as the blockhash is required for transaction validity.\
> \*\*Parameters\*\*\
> \
> 0\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getLatestBlockhash","version":"1.0.0"},"tags":[{"name":"Fees","description":"Solana RPC fees method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"Context":{"type":"object","description":"RPC context block returned alongside most account-level results.","required":["slot"],"properties":{"slot":{"type":"integer","format":"int64"},"apiVersion":{"type":"string"}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getLatestBlockhash","summary":"getLatestBlockhash — Latest blockhash","tags":["Fees"],"description":"Returns the latest blockhash. This is essential for creating transactions as the blockhash is required for transaction validity.\n**Parameters**\n\n0. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getLatestBlockhash"],"description":"Must be `getLatestBlockhash`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":0,"maxItems":1,"items":{"anyOf":[{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."}}}]}}}}}}},"responses":{"200":{"description":"Successful `getLatestBlockhash` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","required":["context","value"],"properties":{"context":{"$ref":"#/components/schemas/Context"},"value":{"type":"object","properties":{"blockhash":{"type":"string"},"lastValidBlockHeight":{"type":"integer","format":"int64"}}}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getLeaderSchedule

## getLeaderSchedule — Leader schedule for an epoch

> Returns the leader schedule for an epoch, showing which validator is assigned to each slot.\
> \*\*Parameters\*\*\
> \
> 0\. \`slot\` (optional) — Slot to compute the epoch from (optional).\
> 1\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getLeaderSchedule","version":"1.0.0"},"tags":[{"name":"Slots","description":"Solana RPC slots method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getLeaderSchedule","summary":"getLeaderSchedule — Leader schedule for an epoch","tags":["Slots"],"description":"Returns the leader schedule for an epoch, showing which validator is assigned to each slot.\n**Parameters**\n\n0. `slot` (optional) — Slot to compute the epoch from (optional).\n1. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getLeaderSchedule"],"description":"Must be `getLeaderSchedule`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":0,"maxItems":2,"items":{"anyOf":[{"title":"slot (optional)","type":"integer","format":"int64","nullable":true},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."},"identity":{"type":"string","description":"Filter to a single validator identity (base-58 pubkey)."}}}]}}}}}}},"responses":{"200":{"description":"Successful `getLeaderSchedule` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","nullable":true,"additionalProperties":{"type":"array","items":{"type":"integer","format":"int64"}},"description":"Map of leader pubkey to ordered list of slot indices."}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getMaxRetransmitSlot

## getMaxRetransmitSlot — Highest slot retransmitted

> Returns the highest slot number for which the validator has retransmitted shreds from its retransmit stage.

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getMaxRetransmitSlot","version":"1.0.0"},"tags":[{"name":"Slots","description":"Solana RPC slots method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getMaxRetransmitSlot","summary":"getMaxRetransmitSlot — Highest slot retransmitted","tags":["Slots"],"description":"Returns the highest slot number for which the validator has retransmitted shreds from its retransmit stage.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getMaxRetransmitSlot"],"description":"Must be `getMaxRetransmitSlot`."},"params":{"type":"array","description":"No parameters.","maxItems":0}}}}}},"responses":{"200":{"description":"Successful `getMaxRetransmitSlot` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"integer","format":"int64","description":"Highest slot the retransmit stage has reached."}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getMaxShredInsertSlot

## getMaxShredInsertSlot — Highest slot with shred insertion

> Returns the highest slot number for which shreds have been received and inserted into the validator's blockstore.

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getMaxShredInsertSlot","version":"1.0.0"},"tags":[{"name":"Slots","description":"Solana RPC slots method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getMaxShredInsertSlot","summary":"getMaxShredInsertSlot — Highest slot with shred insertion","tags":["Slots"],"description":"Returns the highest slot number for which shreds have been received and inserted into the validator's blockstore.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getMaxShredInsertSlot"],"description":"Must be `getMaxShredInsertSlot`."},"params":{"type":"array","description":"No parameters.","maxItems":0}}}}}},"responses":{"200":{"description":"Successful `getMaxShredInsertSlot` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"integer","format":"int64","description":"Highest slot for which the node has inserted shreds."}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getMinimumBalanceForRentExemption

## getMinimumBalanceForRentExemption — Min balance for rent exemption

> Returns the minimum balance required to make an account rent exempt on the Solana blockchain. Rent is a mechanism on Solana that ensures efficient usage of blockchain resources by requiring accounts to maintain a minimum balance proportional to the amount of data they store. Accounts that maintain this minimum balance are "rent exempt" and will never have their balance reduced by the network.\
> \*\*Parameters\*\*\
> \
> 0\. \`dataLength\` (required) — Account data length in bytes.\
> 1\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getMinimumBalanceForRentExemption","version":"1.0.0"},"tags":[{"name":"Fees","description":"Solana RPC fees method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getMinimumBalanceForRentExemption","summary":"getMinimumBalanceForRentExemption — Min balance for rent exemption","tags":["Fees"],"description":"Returns the minimum balance required to make an account rent exempt on the Solana blockchain. Rent is a mechanism on Solana that ensures efficient usage of blockchain resources by requiring accounts to maintain a minimum balance proportional to the amount of data they store. Accounts that maintain this minimum balance are \"rent exempt\" and will never have their balance reduced by the network.\n**Parameters**\n\n0. `dataLength` (required) — Account data length in bytes.\n1. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getMinimumBalanceForRentExemption"],"description":"Must be `getMinimumBalanceForRentExemption`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":2,"items":{"anyOf":[{"title":"dataLength","type":"integer","format":"int64"},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."}}}]}}}}}}},"responses":{"200":{"description":"Successful `getMinimumBalanceForRentExemption` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"integer","format":"int64","description":"Minimum balance in lamports."}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getMultipleAccounts

## getMultipleAccounts — Account info for many pubkeys

> Returns account information for multiple accounts in a single request. This is more efficient than making multiple getAccountInfo calls when you need to fetch data from several accounts at once. You can request up to 100 accounts per call.\
> \*\*Parameters\*\*\
> \
> 0\. \`pubkeys\` (required) — Array of base-58 encoded pubkeys, max 100.\
> 1\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getMultipleAccounts","version":"1.0.0"},"tags":[{"name":"Account","description":"Solana RPC account method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"Encoding":{"type":"string","enum":["json","jsonParsed","base58","base64","base64+zstd"],"description":"Encoding for transaction or account data."},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"Context":{"type":"object","description":"RPC context block returned alongside most account-level results.","required":["slot"],"properties":{"slot":{"type":"integer","format":"int64"},"apiVersion":{"type":"string"}}},"AccountInfo":{"type":"object","description":"On-chain account state.","nullable":true,"required":["lamports","owner","executable","rentEpoch","data"],"properties":{"lamports":{"type":"integer","format":"int64","description":"Balance in lamports."},"owner":{"type":"string","description":"Base-58 program id that owns the account."},"executable":{"type":"boolean"},"rentEpoch":{"type":"integer","format":"int64"},"space":{"type":"integer","description":"Data length in bytes."},"data":{"description":"Account data; encoding depends on request encoding.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"object","additionalProperties":true}]}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getMultipleAccounts","summary":"getMultipleAccounts — Account info for many pubkeys","tags":["Account"],"description":"Returns account information for multiple accounts in a single request. This is more efficient than making multiple getAccountInfo calls when you need to fetch data from several accounts at once. You can request up to 100 accounts per call.\n**Parameters**\n\n0. `pubkeys` (required) — Array of base-58 encoded pubkeys, max 100.\n1. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getMultipleAccounts"],"description":"Must be `getMultipleAccounts`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":2,"items":{"anyOf":[{"title":"pubkeys","type":"array","items":{"type":"string","description":"Account pubkey, base-58."},"description":"Pubkeys to query, max 100 per request. Order is preserved in the response.","maxItems":100,"minItems":1},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."},"encoding":{"$ref":"#/components/schemas/Encoding"},"dataSlice":{"type":"object","description":"Optional byte range of the account data to return. Use this to fetch only a slice of large accounts and save bandwidth.","properties":{"offset":{"type":"integer","format":"int64","description":"Number of bytes from the start of account data at which the slice begins."},"length":{"type":"integer","format":"int64","description":"Number of bytes to include in the slice, starting from `offset`."}}}}}]}}}}}}},"responses":{"200":{"description":"Successful `getMultipleAccounts` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","required":["context","value"],"properties":{"context":{"$ref":"#/components/schemas/Context"},"value":{"type":"array","items":{"$ref":"#/components/schemas/AccountInfo"},"description":"One account per requested pubkey, in order. Null for pubkeys that don't exist."}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getProgramAccounts

{% hint style="warning" %}
SPL and SPL-2022 token GPA requests are served by a dedicated indexed cluster and have additional filter requirements. Requests that do not meet them are blocked — see below.
{% endhint %}

From now on, any SPL or SPL-2022 token GPA requests will be routed away from all the nodes and handled on a dedicated memory indexed server for those program accounts. This will prevent poorly formatted requests from negatively impacting the RPC node's performance. This solution is already been replicated and has redundancy built in as we have two servers running these solutions. Initial findings show an extremely faster response time for these GPA requests as opposed to before when the RPC nodes were fulfilling the requests. For those unfamiliar, this applies to the following token accounts for GPA requests:\
`TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA`\
TokenzQdYV1iJj6g9VzBzzWJPKtnP1Ez5QnhrWcvbxC

The caveat is that anyone performing a GPA request for these accounts need to adhere to the following requirements to prevent your request from getting blocked:\
Must contain a filter in the GPA request,\
Must contain a datasize filter that is one of the known lengths for SPL & SPL-2022 tokens,\
When filtering for token accounts must contain at least one memcmp filter. Only the mint and the owner filters are supported. (offset=0 or offset=32),

These restrictions only apply to the SPL token and SPL-2022 token program accounts.

## getProgramAccounts — All accounts owned by a program

> Returns all accounts owned by a given program. This method is useful for finding all accounts associated with a specific program, such as all token accounts for a particular token mint or all accounts created by a custom program. You can apply filters to narrow down the results. SPL/SPL2022 Token Program Requirements: When querying SPL or SPL2022 token programs, the configuration object must include: filters (array, required): An array of filters to apply to the accounts. Must contain the dataSize filter. Must be one of the known lengths for SPL/SPL2022 program accounts (mint= 82 , token= 165 ) or a larger value when filtering for SPL2022 accounts with extensions. When filtering for multisig accounts, the size must be 355 for accounts of both programs. When filtering for token accounts : Must contain at least one memcmp filter. Only the mint ( offset = 0 , 32 bytes data length) and the owner ( offset = 32 , 32 bytes data length) filters are supported.\
> \*\*Parameters\*\*\
> \
> 0\. \`programId\` (required) — Program pubkey, base-58.\
> 1\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getProgramAccounts","version":"1.0.0"},"tags":[{"name":"Account","description":"Solana RPC account method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"Encoding":{"type":"string","enum":["json","jsonParsed","base58","base64","base64+zstd"],"description":"Encoding for transaction or account data."},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"AccountInfo":{"type":"object","description":"On-chain account state.","nullable":true,"required":["lamports","owner","executable","rentEpoch","data"],"properties":{"lamports":{"type":"integer","format":"int64","description":"Balance in lamports."},"owner":{"type":"string","description":"Base-58 program id that owns the account."},"executable":{"type":"boolean"},"rentEpoch":{"type":"integer","format":"int64"},"space":{"type":"integer","description":"Data length in bytes."},"data":{"description":"Account data; encoding depends on request encoding.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"object","additionalProperties":true}]}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getProgramAccounts","summary":"getProgramAccounts — All accounts owned by a program","tags":["Account"],"description":"Returns all accounts owned by a given program. This method is useful for finding all accounts associated with a specific program, such as all token accounts for a particular token mint or all accounts created by a custom program. You can apply filters to narrow down the results. SPL/SPL2022 Token Program Requirements: When querying SPL or SPL2022 token programs, the configuration object must include: filters (array, required): An array of filters to apply to the accounts. Must contain the dataSize filter. Must be one of the known lengths for SPL/SPL2022 program accounts (mint= 82 , token= 165 ) or a larger value when filtering for SPL2022 accounts with extensions. When filtering for multisig accounts, the size must be 355 for accounts of both programs. When filtering for token accounts : Must contain at least one memcmp filter. Only the mint ( offset = 0 , 32 bytes data length) and the owner ( offset = 32 , 32 bytes data length) filters are supported.\n**Parameters**\n\n0. `programId` (required) — Program pubkey, base-58.\n1. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getProgramAccounts"],"description":"Must be `getProgramAccounts`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":2,"items":{"anyOf":[{"title":"programId","type":"string","description":"Program pubkey, base-58."},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."},"encoding":{"$ref":"#/components/schemas/Encoding"},"dataSlice":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"length":{"type":"integer","format":"int64"}}},"filters":{"type":"array","items":{"type":"object","description":"A filter that matches accounts whose data length equals `dataSize`, or whose data at `memcmp.offset` equals `memcmp.bytes`. Provide one of the two keys per filter.","properties":{"dataSize":{"type":"integer","format":"int64","description":"Exact account data size, in bytes. Match accounts whose data is exactly this many bytes long."},"memcmp":{"type":"object","description":"Match accounts whose data at `offset` equals `bytes` (encoded per `encoding`).","properties":{"offset":{"type":"integer","format":"int64","description":"Byte offset into the account data."},"bytes":{"type":"string","description":"Bytes to match against, base-58 or base-64."},"encoding":{"type":"string","description":"Encoding for the `bytes` field.","enum":["base58","base64"]}}}}},"description":"Optional list of filters. Each filter narrows the result set; the server intersects them. Use `dataSize` to filter by account data length, and `memcmp` to filter by byte-equal at a given offset."},"withContext":{"type":"boolean","description":"If true, wrap the response in a `{context, value}` envelope. Default is false (return the array directly)."}}}]}}}}}}},"responses":{"200":{"description":"Successful `getProgramAccounts` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"array","items":{"type":"object","required":["pubkey","account"],"properties":{"pubkey":{"type":"string"},"account":{"$ref":"#/components/schemas/AccountInfo"}}},"description":"Array of {pubkey, account} pairs."}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getRecentPerformanceSamples

## getRecentPerformanceSamples — Recent performance samples

> Returns a list of recent performance samples in reverse slot order (most recent first). Performance samples are collected every 60 seconds and provide detailed metrics about network activity including transaction counts, slot progression, and timing information. Each sample represents a 60-second window of network activity and includes: Total number of transactions processed Number of non-vote transactions (user-initiated transactions) Number of slots that occurred during the sample period The slot number when the sample was taken\
> \*\*Parameters\*\*\
> \
> 0\. \`limit\` (optional) — Number of samples to return (1–720).<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getRecentPerformanceSamples","version":"1.0.0"},"tags":[{"name":"Misc","description":"Solana RPC misc method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getRecentPerformanceSamples","summary":"getRecentPerformanceSamples — Recent performance samples","tags":["Misc"],"description":"Returns a list of recent performance samples in reverse slot order (most recent first). Performance samples are collected every 60 seconds and provide detailed metrics about network activity including transaction counts, slot progression, and timing information. Each sample represents a 60-second window of network activity and includes: Total number of transactions processed Number of non-vote transactions (user-initiated transactions) Number of slots that occurred during the sample period The slot number when the sample was taken\n**Parameters**\n\n0. `limit` (optional) — Number of samples to return (1–720).\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getRecentPerformanceSamples"],"description":"Must be `getRecentPerformanceSamples`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":0,"maxItems":1,"items":{"anyOf":[{"title":"limit (optional)","type":"integer","format":"int64"}]}}}}}}},"responses":{"200":{"description":"Successful `getRecentPerformanceSamples` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"array","items":{"type":"object","properties":{"slot":{"type":"integer","format":"int64"},"numTransactions":{"type":"integer","format":"int64"},"numSlots":{"type":"integer","format":"int64"},"samplePeriodSecs":{"type":"integer","format":"int64"},"numNonVoteTransactions":{"type":"integer","format":"int64"}}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getRecentPrioritizationFees

## getRecentPrioritizationFees — Recent prioritization fees

> Returns a list of prioritization fees from recent blocks to help estimate appropriate priority fees for transactions. The method returns data from up to 150 recent blocks stored in the node's prioritization-fee cache. When account addresses are provided, the response reflects the fees needed to land a transaction that locks all specified accounts as writable, helping estimate fees for transactions with account contention. This data is essential for applications that need to dynamically adjust priority fees based on current network conditions, ensuring transactions are processed quickly without overpaying. The fees are expressed in microlamports per compute unit, where 1 microlamport = 0.000001 lamports.\
> \*\*Parameters\*\*\
> \
> 0\. \`addresses\` (optional) — Optional list of account pubkeys (max 128). Returned fees are scoped to recent blocks that referenced any of these accounts.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getRecentPrioritizationFees","version":"1.0.0"},"tags":[{"name":"Fees","description":"Solana RPC fees method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getRecentPrioritizationFees","summary":"getRecentPrioritizationFees — Recent prioritization fees","tags":["Fees"],"description":"Returns a list of prioritization fees from recent blocks to help estimate appropriate priority fees for transactions. The method returns data from up to 150 recent blocks stored in the node's prioritization-fee cache. When account addresses are provided, the response reflects the fees needed to land a transaction that locks all specified accounts as writable, helping estimate fees for transactions with account contention. This data is essential for applications that need to dynamically adjust priority fees based on current network conditions, ensuring transactions are processed quickly without overpaying. The fees are expressed in microlamports per compute unit, where 1 microlamport = 0.000001 lamports.\n**Parameters**\n\n0. `addresses` (optional) — Optional list of account pubkeys (max 128). Returned fees are scoped to recent blocks that referenced any of these accounts.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getRecentPrioritizationFees"],"description":"Must be `getRecentPrioritizationFees`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":0,"maxItems":1,"items":{"anyOf":[{"title":"addresses (optional)","type":"array","items":{"type":"string","description":"Account pubkey, base-58."},"description":"Account pubkeys (max 128). Omit or pass an empty array for cluster-wide stats."}]}}}}}}},"responses":{"200":{"description":"Successful `getRecentPrioritizationFees` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"array","items":{"type":"object","properties":{"slot":{"type":"integer","format":"int64"},"prioritizationFee":{"type":"integer","format":"int64"}}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getSignaturesForAddress

## getSignaturesForAddress — Signatures involving an address

> Returns signatures for confirmed transactions that include the given address in their accountKeys list. Returns signatures backwards in time from the provided signature or most recent confirmed block. This method is essential for transaction history, wallet activity feeds, and building transaction explorers.\
> \*\*Parameters\*\*\
> \
> 0\. \`pubkey\` (required) — Base-58 encoded public key.\
> 1\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getSignaturesForAddress","version":"1.0.0"},"tags":[{"name":"Transactions","description":"Solana RPC transactions method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getSignaturesForAddress","summary":"getSignaturesForAddress — Signatures involving an address","tags":["Transactions"],"description":"Returns signatures for confirmed transactions that include the given address in their accountKeys list. Returns signatures backwards in time from the provided signature or most recent confirmed block. This method is essential for transaction history, wallet activity feeds, and building transaction explorers.\n**Parameters**\n\n0. `pubkey` (required) — Base-58 encoded public key.\n1. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getSignaturesForAddress"],"description":"Must be `getSignaturesForAddress`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":2,"items":{"anyOf":[{"title":"pubkey","type":"string","description":"Base-58 encoded public key."},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."},"limit":{"type":"integer","format":"int64","description":"Maximum number of signatures to return. Range 1–1000; default 1000.","minimum":1,"maximum":1000},"before":{"type":"string","description":"Start the search before this signature (exclusive). Use to paginate backwards in history."},"until":{"type":"string","description":"Search until this signature (inclusive). Use to bound the search to a recent window."}}}]}}}}}}},"responses":{"200":{"description":"Successful `getSignaturesForAddress` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"array","items":{"type":"object","properties":{"signature":{"type":"string"},"slot":{"type":"integer","format":"int64"},"err":{"type":"object","nullable":true,"additionalProperties":true},"memo":{"type":"string","nullable":true},"blockTime":{"type":"integer","format":"int64","nullable":true},"confirmationStatus":{"type":"string","enum":["processed","confirmed","finalized"]}}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getSignatureStatuses

## getSignatureStatuses — Signature confirmation statuses

> Returns the statuses of a list of transaction signatures. This method is essential for checking whether transactions have been confirmed, failed, or are still processing. It's commonly used by wallets and dApps to monitor transaction status and provide real-time feedback to users. You can check up to 256 signatures in a single request.\
> \*\*Parameters\*\*\
> \
> 0\. \`signatures\` (required) — Array of base-58 transaction signatures (max 256).\
> 1\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getSignatureStatuses","version":"1.0.0"},"tags":[{"name":"Transactions","description":"Solana RPC transactions method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"Context":{"type":"object","description":"RPC context block returned alongside most account-level results.","required":["slot"],"properties":{"slot":{"type":"integer","format":"int64"},"apiVersion":{"type":"string"}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getSignatureStatuses","summary":"getSignatureStatuses — Signature confirmation statuses","tags":["Transactions"],"description":"Returns the statuses of a list of transaction signatures. This method is essential for checking whether transactions have been confirmed, failed, or are still processing. It's commonly used by wallets and dApps to monitor transaction status and provide real-time feedback to users. You can check up to 256 signatures in a single request.\n**Parameters**\n\n0. `signatures` (required) — Array of base-58 transaction signatures (max 256).\n1. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getSignatureStatuses"],"description":"Must be `getSignatureStatuses`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":2,"items":{"anyOf":[{"title":"signatures","type":"array","items":{"type":"string","description":"Transaction signature, base-58."},"description":"Signatures to look up. Result array preserves order; missing signatures appear as null."},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."},"searchTransactionHistory":{"type":"boolean","description":"If true, look up signatures in the long-term ledger archive in addition to recent slots. Slower but covers older transactions. Default false."}}}]}}}}}}},"responses":{"200":{"description":"Successful `getSignatureStatuses` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","required":["context","value"],"properties":{"context":{"$ref":"#/components/schemas/Context"},"value":{"type":"array","items":{"type":"object","description":"Status object, or null if signature is unknown.","properties":{"slot":{"type":"integer","format":"int64"},"confirmations":{"type":"integer","format":"int64","nullable":true},"err":{"type":"object","nullable":true,"additionalProperties":true},"confirmationStatus":{"type":"string","enum":["processed","confirmed","finalized"]}},"nullable":true}}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getSlot

## getSlot — Current slot

> Returns the slot that has reached the given or default commitment level.\
> \*\*Parameters\*\*\
> \
> 0\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getSlot","version":"1.0.0"},"tags":[{"name":"Slots","description":"Solana RPC slots method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getSlot","summary":"getSlot — Current slot","tags":["Slots"],"description":"Returns the slot that has reached the given or default commitment level.\n**Parameters**\n\n0. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getSlot"],"description":"Must be `getSlot`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":0,"maxItems":1,"items":{"anyOf":[{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."}}}]}}}}}}},"responses":{"200":{"description":"Successful `getSlot` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"integer","format":"int64"}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getSlotLeader

## getSlotLeader — Current slot leader

> Returns the current slot leader.\
> \*\*Parameters\*\*\
> \
> 0\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getSlotLeader","version":"1.0.0"},"tags":[{"name":"Slots","description":"Solana RPC slots method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getSlotLeader","summary":"getSlotLeader — Current slot leader","tags":["Slots"],"description":"Returns the current slot leader.\n**Parameters**\n\n0. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getSlotLeader"],"description":"Must be `getSlotLeader`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":0,"maxItems":1,"items":{"anyOf":[{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."}}}]}}}}}}},"responses":{"200":{"description":"Successful `getSlotLeader` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"string"}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getSlotLeaders

## getSlotLeaders — Slot leaders for a range

> Returns the slot leaders for a given slot range. This method provides the sequence of validators scheduled to produce blocks for consecutive slots, which is essential for understanding the upcoming block production schedule on the Solana network.\
> \*\*Parameters\*\*\
> \
> 0\. \`startSlot\` (required) — First slot.\
> 1\. \`limit\` (required) — Number of leaders to return (1–5000).<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getSlotLeaders","version":"1.0.0"},"tags":[{"name":"Slots","description":"Solana RPC slots method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getSlotLeaders","summary":"getSlotLeaders — Slot leaders for a range","tags":["Slots"],"description":"Returns the slot leaders for a given slot range. This method provides the sequence of validators scheduled to produce blocks for consecutive slots, which is essential for understanding the upcoming block production schedule on the Solana network.\n**Parameters**\n\n0. `startSlot` (required) — First slot.\n1. `limit` (required) — Number of leaders to return (1–5000).\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getSlotLeaders"],"description":"Must be `getSlotLeaders`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":2,"maxItems":2,"items":{"anyOf":[{"title":"startSlot","type":"integer","format":"int64"},{"title":"limit","type":"integer","format":"int64"}]}}}}}}},"responses":{"200":{"description":"Successful `getSlotLeaders` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"array","items":{"type":"string"}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getStakeMinimumDelegation

## getStakeMinimumDelegation — Minimum stake delegation

> Returns the minimum delegation amount required for staking SOL on the Solana network, expressed in lamports.\
> \*\*Parameters\*\*\
> \
> 0\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getStakeMinimumDelegation","version":"1.0.0"},"tags":[{"name":"Stake","description":"Solana RPC stake method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"Context":{"type":"object","description":"RPC context block returned alongside most account-level results.","required":["slot"],"properties":{"slot":{"type":"integer","format":"int64"},"apiVersion":{"type":"string"}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getStakeMinimumDelegation","summary":"getStakeMinimumDelegation — Minimum stake delegation","tags":["Stake"],"description":"Returns the minimum delegation amount required for staking SOL on the Solana network, expressed in lamports.\n**Parameters**\n\n0. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getStakeMinimumDelegation"],"description":"Must be `getStakeMinimumDelegation`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":0,"maxItems":1,"items":{"anyOf":[{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."}}}]}}}}}}},"responses":{"200":{"description":"Successful `getStakeMinimumDelegation` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","required":["context","value"],"properties":{"context":{"$ref":"#/components/schemas/Context"},"value":{"type":"integer","format":"int64","description":"Minimum delegation in lamports."}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getSupply

## getSupply — Total SOL supply

> Returns information about the current supply of SOL on the Solana network.\
> \*\*Parameters\*\*\
> \
> 0\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getSupply","version":"1.0.0"},"tags":[{"name":"Supply","description":"Solana RPC supply method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"Context":{"type":"object","description":"RPC context block returned alongside most account-level results.","required":["slot"],"properties":{"slot":{"type":"integer","format":"int64"},"apiVersion":{"type":"string"}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getSupply","summary":"getSupply — Total SOL supply","tags":["Supply"],"description":"Returns information about the current supply of SOL on the Solana network.\n**Parameters**\n\n0. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getSupply"],"description":"Must be `getSupply`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":0,"maxItems":1,"items":{"anyOf":[{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."},"excludeNonCirculatingAccountsList":{"type":"boolean","description":"If true, omit the (potentially long) `nonCirculatingAccounts` list from the response. Default false."}}}]}}}}}}},"responses":{"200":{"description":"Successful `getSupply` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","required":["context","value"],"properties":{"context":{"$ref":"#/components/schemas/Context"},"value":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"circulating":{"type":"integer","format":"int64"},"nonCirculating":{"type":"integer","format":"int64"},"nonCirculatingAccounts":{"type":"array","items":{"type":"string"}}}}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getTokenAccountBalance

## getTokenAccountBalance — Token account balance

> Returns the token balance of an SPL Token account.\
> \*\*Parameters\*\*\
> \
> 0\. \`pubkey\` (required) — Token account pubkey, base-58.\
> 1\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getTokenAccountBalance","version":"1.0.0"},"tags":[{"name":"Account","description":"Solana RPC account method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"Context":{"type":"object","description":"RPC context block returned alongside most account-level results.","required":["slot"],"properties":{"slot":{"type":"integer","format":"int64"},"apiVersion":{"type":"string"}}},"UiTokenAmount":{"type":"object","required":["amount","decimals","uiAmountString"],"description":"Token amount with both raw and UI representations.","properties":{"amount":{"type":"string","description":"Raw amount, ignoring decimals."},"decimals":{"type":"integer"},"uiAmount":{"type":"number","nullable":true},"uiAmountString":{"type":"string"}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getTokenAccountBalance","summary":"getTokenAccountBalance — Token account balance","tags":["Account"],"description":"Returns the token balance of an SPL Token account.\n**Parameters**\n\n0. `pubkey` (required) — Token account pubkey, base-58.\n1. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getTokenAccountBalance"],"description":"Must be `getTokenAccountBalance`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":2,"items":{"anyOf":[{"title":"pubkey","type":"string","description":"Token account pubkey, base-58."},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."}}}]}}}}}}},"responses":{"200":{"description":"Successful `getTokenAccountBalance` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","required":["context","value"],"properties":{"context":{"$ref":"#/components/schemas/Context"},"value":{"$ref":"#/components/schemas/UiTokenAmount"}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getTokenAccountsByDelegate

{% hint style="info" %}
A previosly disabled method, this RPC method is now indexed via our Hyperion service to allow for ultra low latency responses.
{% endhint %}

## getTokenAccountsByDelegate — Token accounts by delegate

> Returns all SPL Token accounts by approved delegate. This method is essential for finding token accounts where a specific address has been granted delegation permissions to spend tokens on behalf of the owner.\
> \*\*Parameters\*\*\
> \
> 0\. \`delegate\` (required) — Delegate pubkey, base-58.\
> 1\. \`filter\` (required) — Filter by mint or program id (one of).\
> 2\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getTokenAccountsByDelegate","version":"1.0.0"},"tags":[{"name":"Account","description":"Solana RPC account method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"Encoding":{"type":"string","enum":["json","jsonParsed","base58","base64","base64+zstd"],"description":"Encoding for transaction or account data."},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"Context":{"type":"object","description":"RPC context block returned alongside most account-level results.","required":["slot"],"properties":{"slot":{"type":"integer","format":"int64"},"apiVersion":{"type":"string"}}},"AccountInfo":{"type":"object","description":"On-chain account state.","nullable":true,"required":["lamports","owner","executable","rentEpoch","data"],"properties":{"lamports":{"type":"integer","format":"int64","description":"Balance in lamports."},"owner":{"type":"string","description":"Base-58 program id that owns the account."},"executable":{"type":"boolean"},"rentEpoch":{"type":"integer","format":"int64"},"space":{"type":"integer","description":"Data length in bytes."},"data":{"description":"Account data; encoding depends on request encoding.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"object","additionalProperties":true}]}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getTokenAccountsByDelegate","summary":"getTokenAccountsByDelegate — Token accounts by delegate","tags":["Account"],"description":"Returns all SPL Token accounts by approved delegate. This method is essential for finding token accounts where a specific address has been granted delegation permissions to spend tokens on behalf of the owner.\n**Parameters**\n\n0. `delegate` (required) — Delegate pubkey, base-58.\n1. `filter` (required) — Filter by mint or program id (one of).\n2. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getTokenAccountsByDelegate"],"description":"Must be `getTokenAccountsByDelegate`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":2,"maxItems":3,"items":{"anyOf":[{"title":"delegate","type":"string","description":"Delegate pubkey, base-58."},{"title":"filter","type":"object","description":"Filter the result set. Provide exactly one of `mint` or `programId`.","properties":{"mint":{"type":"string","description":"Filter to a specific token mint address (base-58)."},"programId":{"type":"string","description":"Filter to a token program (base-58). Typically the SPL Token or Token-2022 program id."}}},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."},"encoding":{"$ref":"#/components/schemas/Encoding"}}}]}}}}}}},"responses":{"200":{"description":"Successful `getTokenAccountsByDelegate` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","required":["context","value"],"properties":{"context":{"$ref":"#/components/schemas/Context"},"value":{"type":"array","items":{"type":"object","properties":{"pubkey":{"type":"string"},"account":{"$ref":"#/components/schemas/AccountInfo"}}}}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getTokenAccountsByOwner

## getTokenAccountsByOwner — Token accounts by owner

> Returns all SPL Token accounts by token owner.\
> \*\*Parameters\*\*\
> \
> 0\. \`owner\` (required) — Owner pubkey, base-58.\
> 1\. \`filter\` (required) — Filter by mint or program id (one of).\
> 2\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getTokenAccountsByOwner","version":"1.0.0"},"tags":[{"name":"Account","description":"Solana RPC account method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"Encoding":{"type":"string","enum":["json","jsonParsed","base58","base64","base64+zstd"],"description":"Encoding for transaction or account data."},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"Context":{"type":"object","description":"RPC context block returned alongside most account-level results.","required":["slot"],"properties":{"slot":{"type":"integer","format":"int64"},"apiVersion":{"type":"string"}}},"AccountInfo":{"type":"object","description":"On-chain account state.","nullable":true,"required":["lamports","owner","executable","rentEpoch","data"],"properties":{"lamports":{"type":"integer","format":"int64","description":"Balance in lamports."},"owner":{"type":"string","description":"Base-58 program id that owns the account."},"executable":{"type":"boolean"},"rentEpoch":{"type":"integer","format":"int64"},"space":{"type":"integer","description":"Data length in bytes."},"data":{"description":"Account data; encoding depends on request encoding.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"object","additionalProperties":true}]}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getTokenAccountsByOwner","summary":"getTokenAccountsByOwner — Token accounts by owner","tags":["Account"],"description":"Returns all SPL Token accounts by token owner.\n**Parameters**\n\n0. `owner` (required) — Owner pubkey, base-58.\n1. `filter` (required) — Filter by mint or program id (one of).\n2. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getTokenAccountsByOwner"],"description":"Must be `getTokenAccountsByOwner`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":2,"maxItems":3,"items":{"anyOf":[{"title":"owner","type":"string","description":"Owner pubkey, base-58."},{"title":"filter","type":"object","description":"Filter the result set. Provide exactly one of `mint` or `programId`.","properties":{"mint":{"type":"string","description":"Filter to a specific token mint address (base-58)."},"programId":{"type":"string","description":"Filter to a token program (base-58). Typically the SPL Token or Token-2022 program id."}}},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."},"encoding":{"$ref":"#/components/schemas/Encoding"}}}]}}}}}}},"responses":{"200":{"description":"Successful `getTokenAccountsByOwner` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","required":["context","value"],"properties":{"context":{"$ref":"#/components/schemas/Context"},"value":{"type":"array","items":{"type":"object","properties":{"pubkey":{"type":"string"},"account":{"$ref":"#/components/schemas/AccountInfo"}}}}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getTokenLargestAccounts

## getTokenLargestAccounts — Largest accounts of a token (default 20, up to 100)

> Returns the largest accounts of a particular SPL Token type — the Solana-standard 20 by default, or up to 100 via the SVS-specific \`limit\` config field. This method is essential for analyzing token distribution, identifying whale accounts, and understanding token concentration patterns.\
> \*\*Parameters\*\*\
> \
> 0\. \`mint\` (required) — Token mint pubkey, base-58.\
> 1\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getTokenLargestAccounts","version":"1.0.0"},"tags":[{"name":"Account","description":"Solana RPC account method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"Context":{"type":"object","description":"RPC context block returned alongside most account-level results.","required":["slot"],"properties":{"slot":{"type":"integer","format":"int64"},"apiVersion":{"type":"string"}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getTokenLargestAccounts","summary":"getTokenLargestAccounts — Largest accounts of a token (default 20, up to 100)","tags":["Account"],"description":"Returns the largest accounts of a particular SPL Token type — the Solana-standard 20 by default, or up to 100 via the SVS-specific `limit` config field. This method is essential for analyzing token distribution, identifying whale accounts, and understanding token concentration patterns.\n**Parameters**\n\n0. `mint` (required) — Token mint pubkey, base-58.\n1. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getTokenLargestAccounts"],"description":"Must be `getTokenLargestAccounts`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":2,"items":{"anyOf":[{"title":"mint","type":"string","description":"Token mint pubkey, base-58."},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."},"limit":{"type":"integer","format":"int64","description":"SVS extension (not part of the standard Solana RPC API): number of largest accounts to return, 1–100. Omit for the Solana-standard 20 — existing clients are unaffected. The full holder set is already sorted server-side, so a larger limit costs nothing extra. Values over the maximum (or otherwise invalid) are rejected with a `-32602` error naming the cap (e.g. `limit 101 exceeds the maximum of 100`) rather than silently clamped.","minimum":1,"maximum":100}}}]}}}}}}},"responses":{"200":{"description":"Successful `getTokenLargestAccounts` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","required":["context","value"],"properties":{"context":{"$ref":"#/components/schemas/Context"},"value":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"amount":{"type":"string"},"decimals":{"type":"integer","format":"int64"},"uiAmount":{"type":"number","nullable":true},"uiAmountString":{"type":"string"}}}}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getTokenSupply

## getTokenSupply — Total supply of a token

> Returns the total supply of an SPL Token type. This method is essential for understanding token economics, monitoring token distribution, and tracking token supply changes over time.\
> \*\*Parameters\*\*\
> \
> 0\. \`mint\` (required) — Token mint pubkey, base-58.\
> 1\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getTokenSupply","version":"1.0.0"},"tags":[{"name":"Account","description":"Solana RPC account method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"Context":{"type":"object","description":"RPC context block returned alongside most account-level results.","required":["slot"],"properties":{"slot":{"type":"integer","format":"int64"},"apiVersion":{"type":"string"}}},"UiTokenAmount":{"type":"object","required":["amount","decimals","uiAmountString"],"description":"Token amount with both raw and UI representations.","properties":{"amount":{"type":"string","description":"Raw amount, ignoring decimals."},"decimals":{"type":"integer"},"uiAmount":{"type":"number","nullable":true},"uiAmountString":{"type":"string"}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getTokenSupply","summary":"getTokenSupply — Total supply of a token","tags":["Account"],"description":"Returns the total supply of an SPL Token type. This method is essential for understanding token economics, monitoring token distribution, and tracking token supply changes over time.\n**Parameters**\n\n0. `mint` (required) — Token mint pubkey, base-58.\n1. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getTokenSupply"],"description":"Must be `getTokenSupply`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":2,"items":{"anyOf":[{"title":"mint","type":"string","description":"Token mint pubkey, base-58."},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."}}}]}}}}}}},"responses":{"200":{"description":"Successful `getTokenSupply` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","required":["context","value"],"properties":{"context":{"$ref":"#/components/schemas/Context"},"value":{"$ref":"#/components/schemas/UiTokenAmount"}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getTransaction

## getTransaction — Transaction by signature

> Returns transaction details for a confirmed transaction signature. Provides comprehensive information about the transaction including its status, fees, logs, and account changes. This method is essential for transaction explorers, wallets, and dApps that need to analyze transaction execution details. Important : For most modern Solana transactions, you must include maxSupportedTransactionVersion: 0 in the request parameters, otherwise the request will fail with an error if the transaction is a versioned transaction.\
> \*\*Parameters\*\*\
> \
> 0\. \`signature\` (required) — Base-58 transaction signature.\
> 1\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getTransaction","version":"1.0.0"},"tags":[{"name":"Transactions","description":"Solana RPC transactions method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"Encoding":{"type":"string","enum":["json","jsonParsed","base58","base64","base64+zstd"],"description":"Encoding for transaction or account data."},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getTransaction","summary":"getTransaction — Transaction by signature","tags":["Transactions"],"description":"Returns transaction details for a confirmed transaction signature. Provides comprehensive information about the transaction including its status, fees, logs, and account changes. This method is essential for transaction explorers, wallets, and dApps that need to analyze transaction execution details. Important : For most modern Solana transactions, you must include maxSupportedTransactionVersion: 0 in the request parameters, otherwise the request will fail with an error if the transaction is a versioned transaction.\n**Parameters**\n\n0. `signature` (required) — Base-58 transaction signature.\n1. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getTransaction"],"description":"Must be `getTransaction`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":2,"items":{"anyOf":[{"title":"signature","type":"string","description":"Transaction signature, base-58."},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."},"encoding":{"$ref":"#/components/schemas/Encoding"},"maxSupportedTransactionVersion":{"type":"integer","format":"int64","description":"Highest transaction version the client can handle. Set to 0 to receive versioned (v0) transactions; omit to receive only legacy (pre-v0) transactions."}}}]}}}}}}},"responses":{"200":{"description":"Successful `getTransaction` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","properties":{"slot":{"type":"integer","format":"int64"},"blockTime":{"type":"integer","format":"int64","nullable":true},"transaction":{"type":"object","additionalProperties":true},"meta":{"type":"object","additionalProperties":true,"nullable":true},"version":{"oneOf":[{"type":"integer","format":"int64"},{"type":"string"}]}},"nullable":true}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getTransactionCount

## getTransactionCount — Total transaction count

> Returns the current transaction count from the ledger. This method provides a cumulative count of all transactions that have been processed by the Solana network since genesis.\
> \*\*Parameters\*\*\
> \
> 0\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getTransactionCount","version":"1.0.0"},"tags":[{"name":"Transactions","description":"Solana RPC transactions method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getTransactionCount","summary":"getTransactionCount — Total transaction count","tags":["Transactions"],"description":"Returns the current transaction count from the ledger. This method provides a cumulative count of all transactions that have been processed by the Solana network since genesis.\n**Parameters**\n\n0. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getTransactionCount"],"description":"Must be `getTransactionCount`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":0,"maxItems":1,"items":{"anyOf":[{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."}}}]}}}}}}},"responses":{"200":{"description":"Successful `getTransactionCount` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"integer","format":"int64"}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getVersion

## getVersion — Solana version

> Returns the current Solana version information running on the node.

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getVersion","version":"1.0.0"},"tags":[{"name":"Cluster","description":"Solana RPC cluster method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getVersion","summary":"getVersion — Solana version","tags":["Cluster"],"description":"Returns the current Solana version information running on the node.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getVersion"],"description":"Must be `getVersion`."},"params":{"type":"array","description":"No parameters.","maxItems":0}}}}}},"responses":{"200":{"description":"Successful `getVersion` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","properties":{"solana-core":{"type":"string"},"feature-set":{"type":"integer","format":"int32"}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# getVoteAccounts

## getVoteAccounts — Vote accounts

> Returns the account info and associated stake for all the voting accounts in the current bank.\
> \*\*Parameters\*\*\
> \
> 0\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: getVoteAccounts","version":"1.0.0"},"tags":[{"name":"Validators","description":"Solana RPC validators method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"getVoteAccounts","summary":"getVoteAccounts — Vote accounts","tags":["Validators"],"description":"Returns the account info and associated stake for all the voting accounts in the current bank.\n**Parameters**\n\n0. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getVoteAccounts"],"description":"Must be `getVoteAccounts`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":0,"maxItems":1,"items":{"anyOf":[{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."},"votePubkey":{"type":"string","description":"Filter to a single validator vote account, base-58."},"keepUnstakedDelinquents":{"type":"boolean","description":"If true, include delinquent validators with zero active stake."},"delinquentSlotDistance":{"type":"integer","format":"int64","description":"Number of slots behind the cluster a validator must be to be considered delinquent. Default 128."}}}]}}}}}}},"responses":{"200":{"description":"Successful `getVoteAccounts` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","properties":{"current":{"type":"array","items":{"type":"object","additionalProperties":true}},"delinquent":{"type":"array","items":{"type":"object","additionalProperties":true}}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# isBlockhashValid

## isBlockhashValid — Check blockhash validity

> Returns whether a blockhash is still valid or not.\
> \*\*Parameters\*\*\
> \
> 0\. \`blockhash\` (required) — Base-58 blockhash.\
> 1\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: isBlockhashValid","version":"1.0.0"},"tags":[{"name":"Fees","description":"Solana RPC fees method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"Context":{"type":"object","description":"RPC context block returned alongside most account-level results.","required":["slot"],"properties":{"slot":{"type":"integer","format":"int64"},"apiVersion":{"type":"string"}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"isBlockhashValid","summary":"isBlockhashValid — Check blockhash validity","tags":["Fees"],"description":"Returns whether a blockhash is still valid or not.\n**Parameters**\n\n0. `blockhash` (required) — Base-58 blockhash.\n1. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["isBlockhashValid"],"description":"Must be `isBlockhashValid`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":2,"items":{"anyOf":[{"title":"blockhash","type":"string"},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."}}}]}}}}}}},"responses":{"200":{"description":"Successful `isBlockhashValid` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","required":["context","value"],"properties":{"context":{"$ref":"#/components/schemas/Context"},"value":{"type":"boolean","description":"True if blockhash is still valid."}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# minimumLedgerSlot

## minimumLedgerSlot — Lowest slot in ledger

> Returns the lowest slot that the node has information about in its ledger. This method is useful for understanding the historical data availability of a Solana node. The value may increase over time if the node is configured to purge older ledger data to manage storage requirements. This is particularly important for applications that need to query historical data, as attempting to access slots below this minimum will result in data not being available. The method provides a simple way to determine the earliest point in time for which the node can provide blockchain state information.

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: minimumLedgerSlot","version":"1.0.0"},"tags":[{"name":"Misc","description":"Solana RPC misc method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"minimumLedgerSlot","summary":"minimumLedgerSlot — Lowest slot in ledger","tags":["Misc"],"description":"Returns the lowest slot that the node has information about in its ledger. This method is useful for understanding the historical data availability of a Solana node. The value may increase over time if the node is configured to purge older ledger data to manage storage requirements. This is particularly important for applications that need to query historical data, as attempting to access slots below this minimum will result in data not being available. The method provides a simple way to determine the earliest point in time for which the node can provide blockchain state information.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["minimumLedgerSlot"],"description":"Must be `minimumLedgerSlot`."},"params":{"type":"array","description":"No parameters.","maxItems":0}}}}}},"responses":{"200":{"description":"Successful `minimumLedgerSlot` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"integer","format":"int64"}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# requestAirdrop

## requestAirdrop — Airdrop SOL (devnet/testnet only)

> ⚠️ WARNING: This RPC method is disabled on Solana Vibe Station mainnet-beta nodes. This method is not available on our infrastructure. Please use alternative faucets for obtaining devnet/testnet SOL: Solana Faucet QuickNode Multi-chain Faucet Solana CLI: solana airdrop 1 Requests an airdrop of lamports to a specified Pubkey.\
> \*\*Parameters\*\*\
> \
> 0\. \`pubkey\` (required) — Base-58 encoded public key.\
> 1\. \`lamports\` (required) — Lamports to airdrop.\
> 2\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: requestAirdrop","version":"1.0.0"},"tags":[{"name":"Misc","description":"Solana RPC misc method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"requestAirdrop","summary":"requestAirdrop — Airdrop SOL (devnet/testnet only)","tags":["Misc"],"description":"⚠️ WARNING: This RPC method is disabled on Solana Vibe Station mainnet-beta nodes. This method is not available on our infrastructure. Please use alternative faucets for obtaining devnet/testnet SOL: Solana Faucet QuickNode Multi-chain Faucet Solana CLI: solana airdrop 1 Requests an airdrop of lamports to a specified Pubkey.\n**Parameters**\n\n0. `pubkey` (required) — Base-58 encoded public key.\n1. `lamports` (required) — Lamports to airdrop.\n2. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["requestAirdrop"],"description":"Must be `requestAirdrop`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":2,"maxItems":3,"items":{"anyOf":[{"title":"pubkey","type":"string","description":"Base-58 encoded public key."},{"title":"lamports","type":"integer","format":"int64"},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."}}}]}}}}}}},"responses":{"200":{"description":"Successful `requestAirdrop` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"string","description":"Airdrop transaction signature, base-58."}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# sendTransaction

## sendTransaction — Submit a signed transaction

> Submits a signed transaction to the cluster for processing and returns the transaction signature if successful. This is the primary method for executing transactions on the Solana network. The transaction must be fully signed and serialized before submission. The method provides various options for controlling transaction processing behavior, including preflight checks, retry logic, and encoding formats. Transactions that fail preflight checks or network validation will return detailed error information.\
> \*\*Parameters\*\*\
> \
> 0\. \`transaction\` (required) — Fully-signed transaction encoded per the chosen \`encoding\` (base-58 by default, base-64 recommended).\
> 1\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: sendTransaction","version":"1.0.0"},"tags":[{"name":"Transactions","description":"Solana RPC transactions method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"Encoding":{"type":"string","enum":["json","jsonParsed","base58","base64","base64+zstd"],"description":"Encoding for transaction or account data."},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"sendTransaction","summary":"sendTransaction — Submit a signed transaction","tags":["Transactions"],"description":"Submits a signed transaction to the cluster for processing and returns the transaction signature if successful. This is the primary method for executing transactions on the Solana network. The transaction must be fully signed and serialized before submission. The method provides various options for controlling transaction processing behavior, including preflight checks, retry logic, and encoding formats. Transactions that fail preflight checks or network validation will return detailed error information.\n**Parameters**\n\n0. `transaction` (required) — Fully-signed transaction encoded per the chosen `encoding` (base-58 by default, base-64 recommended).\n1. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["sendTransaction"],"description":"Must be `sendTransaction`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":2,"items":{"anyOf":[{"title":"transaction","type":"string","description":"Fully-signed encoded transaction."},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."},"skipPreflight":{"type":"boolean","description":"If true, skip the preflight transaction simulation that verifies signature, blockhash, and account state before submission. Default false.","default":false},"preflightCommitment":{"$ref":"#/components/schemas/Commitment"},"encoding":{"$ref":"#/components/schemas/Encoding"},"maxRetries":{"type":"integer","format":"int64","description":"Maximum number of retries when forwarding to the leader. Default unlimited (until blockhash expires)."}}}]}}}}}}},"responses":{"200":{"description":"Successful `sendTransaction` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"string","description":"Transaction signature, base-58."}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# simulateTransaction

## simulateTransaction — Simulate a transaction

> Simulates sending a transaction to get the effects that would occur if the transaction was committed. The simulation runs against the current state of the blockchain and provides detailed information including logs, account changes, compute units consumed, and any errors that would occur during execution.\
> \*\*Parameters\*\*\
> \
> 0\. \`transaction\` (required) — Encoded transaction (signed or unsigned, depending on \`sigVerify\`).\
> 1\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC: simulateTransaction","version":"1.0.0"},"tags":[{"name":"Transactions","description":"Solana RPC transactions method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://lite.rpc.solanavibestation.com","description":"Lite tier"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"},{"url":"https://basic.swqos.solanavibestation.com","description":"Basic tier with Stake-Weighted QoS"},{"url":"https://ultra.swqos.solanavibestation.com","description":"Ultra tier with Stake-Weighted QoS"},{"url":"https://elite.swqos.solanavibestation.com","description":"Elite tier with Stake-Weighted QoS"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"Encoding":{"type":"string","enum":["json","jsonParsed","base58","base64","base64+zstd"],"description":"Encoding for transaction or account data."},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"Context":{"type":"object","description":"RPC context block returned alongside most account-level results.","required":["slot"],"properties":{"slot":{"type":"integer","format":"int64"},"apiVersion":{"type":"string"}}},"AccountInfo":{"type":"object","description":"On-chain account state.","nullable":true,"required":["lamports","owner","executable","rentEpoch","data"],"properties":{"lamports":{"type":"integer","format":"int64","description":"Balance in lamports."},"owner":{"type":"string","description":"Base-58 program id that owns the account."},"executable":{"type":"boolean"},"rentEpoch":{"type":"integer","format":"int64"},"space":{"type":"integer","description":"Data length in bytes."},"data":{"description":"Account data; encoding depends on request encoding.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"object","additionalProperties":true}]}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"simulateTransaction","summary":"simulateTransaction — Simulate a transaction","tags":["Transactions"],"description":"Simulates sending a transaction to get the effects that would occur if the transaction was committed. The simulation runs against the current state of the blockchain and provides detailed information including logs, account changes, compute units consumed, and any errors that would occur during execution.\n**Parameters**\n\n0. `transaction` (required) — Encoded transaction (signed or unsigned, depending on `sigVerify`).\n1. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["simulateTransaction"],"description":"Must be `simulateTransaction`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":2,"items":{"anyOf":[{"title":"transaction","type":"string","description":"Encoded transaction string."},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."},"sigVerify":{"type":"boolean","description":"If true, verify the transaction signatures during simulation. Cannot be combined with `replaceRecentBlockhash`. Default false.","default":false},"replaceRecentBlockhash":{"type":"boolean","description":"If true, replace the transaction's recent blockhash with the latest known blockhash before simulating. Cannot be combined with `sigVerify`. Default false.","default":false},"encoding":{"$ref":"#/components/schemas/Encoding"},"accounts":{"type":"object","description":"Specifies which accounts to return after simulation. Use to inspect account state changes the transaction would produce.","properties":{"addresses":{"type":"array","items":{"type":"string","description":"Account pubkey, base-58."},"description":"Pubkeys of accounts whose post-simulation state to return."},"encoding":{"$ref":"#/components/schemas/Encoding"}}}}}]}}}}}}},"responses":{"200":{"description":"Successful `simulateTransaction` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","required":["context","value"],"properties":{"context":{"$ref":"#/components/schemas/Context"},"value":{"type":"object","properties":{"err":{"type":"object","nullable":true,"additionalProperties":true},"logs":{"type":"array","items":{"type":"string"}},"accounts":{"type":"array","items":{"$ref":"#/components/schemas/AccountInfo"},"nullable":true},"unitsConsumed":{"type":"integer","format":"int64"},"returnData":{"type":"object","properties":{"programId":{"type":"string"},"data":{"type":"array","items":{"type":"string"}}},"nullable":true}}}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# Websocket Methods


# accountSubscribe

## accountSubscribe — Subscribe to account changes

> Subscribe to an account to receive notifications when the lamports or data for a given account public key changes. Returns a subscription ID that can be used to unsubscribe. This method establishes a persistent WebSocket connection that will send real-time notifications whenever the specified account's state changes on the blockchain.\
> \*\*Parameters\*\*\
> \
> 0\. \`pubkey\` (required) — Base-58 encoded public key.\
> 1\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"WebSocket RPC: accountSubscribe","version":"1.0.0"},"tags":[{"name":"Account Subscriptions","description":"WebSocket RPC account subscriptions method."}],"servers":[{"url":"wss://public.rpc.solanavibestation.com","description":"Public WebSocket endpoint (rate-limited)"},{"url":"wss://lite.rpc.solanavibestation.com","description":"Lite tier WebSocket"},{"url":"wss://basic.rpc.solanavibestation.com","description":"Basic tier WebSocket"},{"url":"wss://ultra.rpc.solanavibestation.com","description":"Ultra tier WebSocket"},{"url":"wss://elite.rpc.solanavibestation.com","description":"Elite tier WebSocket"},{"url":"wss://epic.rpc.solanavibestation.com","description":"Epic tier WebSocket"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"Encoding":{"type":"string","enum":["json","jsonParsed","base58","base64","base64+zstd"],"description":"Encoding for transaction or account data."},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"accountSubscribe","summary":"accountSubscribe — Subscribe to account changes","tags":["Account Subscriptions"],"description":"Subscribe to an account to receive notifications when the lamports or data for a given account public key changes. Returns a subscription ID that can be used to unsubscribe. This method establishes a persistent WebSocket connection that will send real-time notifications whenever the specified account's state changes on the blockchain.\n**Parameters**\n\n0. `pubkey` (required) — Base-58 encoded public key.\n1. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["accountSubscribe"],"description":"Must be `accountSubscribe`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":2,"items":{"anyOf":[{"title":"pubkey","type":"string","description":"Base-58 encoded public key."},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."},"encoding":{"$ref":"#/components/schemas/Encoding"}}}]}}}}}}},"responses":{"200":{"description":"Successful `accountSubscribe` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"integer","format":"int64","description":"Subscription id. Save this value to call the matching unsubscribe method later."}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# accountUnsubscribe

## accountUnsubscribe — Cancel an account subscription

> Unsubscribe from account change notifications. This method cancels an existing account subscription identified by the subscription ID that was returned from a previous accountSubscribe call. Once unsubscribed, you will no longer receive accountNotification messages for the specified subscription.\
> \*\*Parameters\*\*\
> \
> 0\. \`subscriptionId\` (required) — Subscription id returned by accountSubscribe.<br>

```json
{"openapi":"3.0.3","info":{"title":"WebSocket RPC: accountUnsubscribe","version":"1.0.0"},"tags":[{"name":"Account Subscriptions","description":"WebSocket RPC account subscriptions method."}],"servers":[{"url":"wss://public.rpc.solanavibestation.com","description":"Public WebSocket endpoint (rate-limited)"},{"url":"wss://lite.rpc.solanavibestation.com","description":"Lite tier WebSocket"},{"url":"wss://basic.rpc.solanavibestation.com","description":"Basic tier WebSocket"},{"url":"wss://ultra.rpc.solanavibestation.com","description":"Ultra tier WebSocket"},{"url":"wss://elite.rpc.solanavibestation.com","description":"Elite tier WebSocket"},{"url":"wss://epic.rpc.solanavibestation.com","description":"Epic tier WebSocket"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"accountUnsubscribe","summary":"accountUnsubscribe — Cancel an account subscription","tags":["Account Subscriptions"],"description":"Unsubscribe from account change notifications. This method cancels an existing account subscription identified by the subscription ID that was returned from a previous accountSubscribe call. Once unsubscribed, you will no longer receive accountNotification messages for the specified subscription.\n**Parameters**\n\n0. `subscriptionId` (required) — Subscription id returned by accountSubscribe.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["accountUnsubscribe"],"description":"Must be `accountUnsubscribe`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":1,"items":{"anyOf":[{"title":"subscriptionId","type":"integer","format":"int64","description":"Subscription id."}]}}}}}}},"responses":{"200":{"description":"Successful `accountUnsubscribe` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"boolean","description":"True if the unsubscribe succeeded."}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# blockSubscribe

{% hint style="danger" %}
This method is considered unstable and therefore is not supported on our RPC nodes.
{% endhint %}

## blockSubscribe — Subscribe to new blocks (UNSUPPORTED on SVS)

> \*\*Not available on SVS nodes.\*\* This method is considered unstable in Agave/Solana and is therefore not enabled on our RPC infrastructure. Calls will be rejected. Use an alternative subscription method or polling-based pattern for this use case. Subscribe to receive notification anytime a new block is confirmed or finalized.\
> \*\*Parameters\*\*\
> \
> 0\. \`filter\` (required) — Filter for block subscription (\`all\`, or {mentionsAccountOrProgram: \<pubkey>}).\
> 1\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"WebSocket RPC: blockSubscribe","version":"1.0.0"},"tags":[{"name":"Block Subscriptions","description":"WebSocket RPC block subscriptions method."}],"servers":[{"url":"wss://public.rpc.solanavibestation.com","description":"Public WebSocket endpoint (rate-limited)"},{"url":"wss://lite.rpc.solanavibestation.com","description":"Lite tier WebSocket"},{"url":"wss://basic.rpc.solanavibestation.com","description":"Basic tier WebSocket"},{"url":"wss://ultra.rpc.solanavibestation.com","description":"Ultra tier WebSocket"},{"url":"wss://elite.rpc.solanavibestation.com","description":"Elite tier WebSocket"},{"url":"wss://epic.rpc.solanavibestation.com","description":"Epic tier WebSocket"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"Encoding":{"type":"string","enum":["json","jsonParsed","base58","base64","base64+zstd"],"description":"Encoding for transaction or account data."},"TransactionDetails":{"type":"string","enum":["full","accounts","signatures","none"],"description":"Level of transaction detail to return on block queries."},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"blockSubscribe","summary":"blockSubscribe — Subscribe to new blocks (UNSUPPORTED on SVS)","tags":["Block Subscriptions"],"description":"**Not available on SVS nodes.** This method is considered unstable in Agave/Solana and is therefore not enabled on our RPC infrastructure. Calls will be rejected. Use an alternative subscription method or polling-based pattern for this use case. Subscribe to receive notification anytime a new block is confirmed or finalized.\n**Parameters**\n\n0. `filter` (required) — Filter for block subscription (`all`, or {mentionsAccountOrProgram: <pubkey>}).\n1. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["blockSubscribe"],"description":"Must be `blockSubscribe`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":2,"items":{"anyOf":[{"title":"filter","type":"object","description":"Subscription filter.","additionalProperties":true},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."},"encoding":{"$ref":"#/components/schemas/Encoding"},"transactionDetails":{"$ref":"#/components/schemas/TransactionDetails"},"showRewards":{"type":"boolean","description":"Include block-level rewards."},"maxSupportedTransactionVersion":{"type":"integer","format":"int64","description":"Highest transaction version the client can handle."}}}]}}}}}}},"responses":{"200":{"description":"Successful `blockSubscribe` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"integer","format":"int64","description":"Subscription id. Save this value to call the matching unsubscribe method later."}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# blockUnsubscribe

{% hint style="danger" %}
This method is considered unstable and therefore is not supported on our RPC nodes.
{% endhint %}

## blockUnsubscribe — Cancel a block subscription (UNSUPPORTED on SVS)

> \*\*Not available on SVS nodes.\*\* This method is considered unstable in Agave/Solana and is therefore not enabled on our RPC infrastructure. Calls will be rejected. Use an alternative subscription method or polling-based pattern for this use case. Unsubscribe from block notifications.\
> \*\*Parameters\*\*\
> \
> 0\. \`subscriptionId\` (required) — Subscription id returned by blockSubscribe.<br>

```json
{"openapi":"3.0.3","info":{"title":"WebSocket RPC: blockUnsubscribe","version":"1.0.0"},"tags":[{"name":"Block Subscriptions","description":"WebSocket RPC block subscriptions method."}],"servers":[{"url":"wss://public.rpc.solanavibestation.com","description":"Public WebSocket endpoint (rate-limited)"},{"url":"wss://lite.rpc.solanavibestation.com","description":"Lite tier WebSocket"},{"url":"wss://basic.rpc.solanavibestation.com","description":"Basic tier WebSocket"},{"url":"wss://ultra.rpc.solanavibestation.com","description":"Ultra tier WebSocket"},{"url":"wss://elite.rpc.solanavibestation.com","description":"Elite tier WebSocket"},{"url":"wss://epic.rpc.solanavibestation.com","description":"Epic tier WebSocket"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"blockUnsubscribe","summary":"blockUnsubscribe — Cancel a block subscription (UNSUPPORTED on SVS)","tags":["Block Subscriptions"],"description":"**Not available on SVS nodes.** This method is considered unstable in Agave/Solana and is therefore not enabled on our RPC infrastructure. Calls will be rejected. Use an alternative subscription method or polling-based pattern for this use case. Unsubscribe from block notifications.\n**Parameters**\n\n0. `subscriptionId` (required) — Subscription id returned by blockSubscribe.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["blockUnsubscribe"],"description":"Must be `blockUnsubscribe`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":1,"items":{"anyOf":[{"title":"subscriptionId","type":"integer","format":"int64","description":"Subscription id."}]}}}}}}},"responses":{"200":{"description":"Successful `blockUnsubscribe` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"boolean","description":"True if the unsubscribe succeeded."}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# logsSubscribe

## logsSubscribe — Subscribe to transaction logs

> Subscribe to transaction logging to receive notifications when transactions occur that match specified filter criteria. This method establishes a persistent WebSocket connection that will send real-time log notifications whenever transactions matching your filters are processed by the network. You can filter by all transactions, transactions with votes, or transactions mentioning specific accounts.\
> \*\*Parameters\*\*\
> \
> 0\. \`filter\` (required) — Either the string \`all\`, the string \`allWithVotes\`, or {mentions: \[\<pubkey>]}.\
> 1\. \`config\` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.<br>

```json
{"openapi":"3.0.3","info":{"title":"WebSocket RPC: logsSubscribe","version":"1.0.0"},"tags":[{"name":"Logs Subscriptions","description":"WebSocket RPC logs subscriptions method."}],"servers":[{"url":"wss://public.rpc.solanavibestation.com","description":"Public WebSocket endpoint (rate-limited)"},{"url":"wss://lite.rpc.solanavibestation.com","description":"Lite tier WebSocket"},{"url":"wss://basic.rpc.solanavibestation.com","description":"Basic tier WebSocket"},{"url":"wss://ultra.rpc.solanavibestation.com","description":"Ultra tier WebSocket"},{"url":"wss://elite.rpc.solanavibestation.com","description":"Elite tier WebSocket"},{"url":"wss://epic.rpc.solanavibestation.com","description":"Epic tier WebSocket"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"logsSubscribe","summary":"logsSubscribe — Subscribe to transaction logs","tags":["Logs Subscriptions"],"description":"Subscribe to transaction logging to receive notifications when transactions occur that match specified filter criteria. This method establishes a persistent WebSocket connection that will send real-time log notifications whenever transactions matching your filters are processed by the network. You can filter by all transactions, transactions with votes, or transactions mentioning specific accounts.\n**Parameters**\n\n0. `filter` (required) — Either the string `all`, the string `allWithVotes`, or {mentions: [<pubkey>]}.\n1. `config` (optional) — Optional configuration object. Every field is optional; omit the entire object to use defaults.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["logsSubscribe"],"description":"Must be `logsSubscribe`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":2,"items":{"anyOf":[{"title":"filter","type":"object","description":"Logs filter — string `all` / `allWithVotes`, or an object with `mentions: [pubkey]`.","additionalProperties":true},{"title":"config (optional)","type":"object","description":"Optional configuration object. Every field is optional; omit the entire object to use defaults.","properties":{"commitment":{"$ref":"#/components/schemas/Commitment"},"minContextSlot":{"type":"integer","format":"int64","description":"Minimum slot at which the request can be evaluated. The RPC node will reject the request with a `MinContextSlotNotReached` error if its current root is below this value. Use this for read-after-write consistency in multi-step workflows."}}}]}}}}}}},"responses":{"200":{"description":"Successful `logsSubscribe` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"integer","format":"int64","description":"Subscription id. Save this value to call the matching unsubscribe method later."}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


# logsUnsubscribe

## logsUnsubscribe — Cancel a logs subscription

> Unsubscribe from transaction log notifications. This method cancels an existing logs subscription identified by the subscription ID that was returned from a previous logsSubscribe call. Once unsubscribed, you will no longer receive logsNotification messages for the specified subscription.\
> \*\*Parameters\*\*\
> \
> 0\. \`subscriptionId\` (required) — Subscription id returned by logsSubscribe.<br>

```json
{"openapi":"3.0.3","info":{"title":"WebSocket RPC: logsUnsubscribe","version":"1.0.0"},"tags":[{"name":"Logs Subscriptions","description":"WebSocket RPC logs subscriptions method."}],"servers":[{"url":"wss://public.rpc.solanavibestation.com","description":"Public WebSocket endpoint (rate-limited)"},{"url":"wss://lite.rpc.solanavibestation.com","description":"Lite tier WebSocket"},{"url":"wss://basic.rpc.solanavibestation.com","description":"Basic tier WebSocket"},{"url":"wss://ultra.rpc.solanavibestation.com","description":"Ultra tier WebSocket"},{"url":"wss://elite.rpc.solanavibestation.com","description":"Elite tier WebSocket"},{"url":"wss://epic.rpc.solanavibestation.com","description":"Epic tier WebSocket"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/":{"post":{"operationId":"logsUnsubscribe","summary":"logsUnsubscribe — Cancel a logs subscription","tags":["Logs Subscriptions"],"description":"Unsubscribe from transaction log notifications. This method cancels an existing logs subscription identified by the subscription ID that was returned from a previous logsSubscribe call. Once unsubscribed, you will no longer receive logsNotification messages for the specified subscription.\n**Parameters**\n\n0. `subscriptionId` (required) — Subscription id returned by logsSubscribe.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["logsUnsubscribe"],"description":"Must be `logsUnsubscribe`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":1,"items":{"anyOf":[{"title":"subscriptionId","type":"integer","format":"int64","description":"Subscription id."}]}}}}}}},"responses":{"200":{"description":"Successful `logsUnsubscribe` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"boolean","description":"True if the unsubscribe succeeded."}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```




---

[Next Page](/llms-full.txt/1)

