> For the complete documentation index, see [llms.txt](https://docs.triton.one/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.triton.one/account-and-billing/plans-and-billing.md).

# Plans and billing

Shared or dedicated infrastructure, pay-as-you-go or invoiced billing, and how requests and bandwidth are measured.

Current rates are on the [pricing page](https://triton.one/pricing). This page explains how billing works.

## Shared or dedicated

<table data-search="false"><thead><tr><th></th><th>Shared infrastructure</th><th>Dedicated node</th></tr></thead><tbody><tr><td><strong>Locations</strong></td><td>8 cities on 3 continents, routed to the nearest</td><td>One location of your choice</td></tr><tr><td><strong>Services</strong></td><td>Every service on every network</td><td>One network per node. Solana: the monthly price of a standard node includes Dragon's Mouth gRPC streaming. JSON-RPC and WebSocket run on shared infrastructure and are billed as shared usage. Fumarole is billed separately, per usage. Sui: see the Sui dedicated nodes page. Monad: dedicated nodes are not offered. Custom setups on request</td></tr><tr><td><strong>Latency</strong></td><td>Low: routed to the nearest region</td><td>Low: in the data centre you choose</td></tr><tr><td><strong>Capacity</strong></td><td>Shared with other customers</td><td>Fixed gRPC streaming capacity for your traffic only. WebSocket runs on shared servers by default. If your node goes down, traffic fails over to shared backup nodes by default</td></tr><tr><td><strong>Rate limits</strong></td><td>Flexible, adjustable on request. Rate limits do not affect pricing</td><td>Can be customized for your workload. Contact support to review them</td></tr><tr><td><strong>Billing</strong></td><td>Per request and per GB, pay-as-you-go or invoiced</td><td>Fixed monthly price per node, invoiced. On Solana it covers Dragon's Mouth gRPC streaming. On Sui it covers gRPC streaming, and unary gRPC, archival gRPC, Walrus and Seal are billed per usage. On Solana, WebSocket, Fumarole and JSON-RPC are billed separately, per usage</td></tr><tr><td><strong>Sign up</strong></td><td><a href="https://customers.triton.one/onboarding">Self-serve</a></td><td><a href="https://triton.one/contact">Contact sales</a></td></tr></tbody></table>

* Shared fits most workloads, including trading bots and market makers.
* [Riptide](/solana/real-time-streaming/riptide.md) gRPC on shared infrastructure performs comparably to a dedicated node.
* Choose dedicated for high-volume gRPC streaming, when metered streaming would cost more than a node's fixed monthly price on the [pricing page](https://triton.one/pricing).
* Choose dedicated for a workload that needs isolated gRPC streaming capacity.

## Pay-as-you-go or invoiced

<table data-search="false"><thead><tr><th></th><th>Pay-as-you-go</th><th>Invoiced</th></tr></thead><tbody><tr><td><strong>Payment</strong></td><td>USDC, through <strong>Buy credits</strong> in the customer dashboard</td><td>Card, ACH, USDC, or wire</td></tr><tr><td><strong>How you're charged</strong></td><td>Usage is deducted from your prepaid balance</td><td>Invoiced on the 1st of each month for the coming month</td></tr><tr><td><strong>Minimum</strong></td><td>A minimum prepaid deposit, valid for 12 months</td><td>A minimum monthly invoice</td></tr><tr><td><strong>Going over</strong></td><td>Not possible. Service stops when your balance reaches zero. The last debit can be larger than what was left; your balance stops at zero and the difference isn't taken from your next deposit</td><td>Billed at the same rates on the next invoice, without interruption</td></tr><tr><td><strong>Coverage</strong></td><td>Every service and network</td><td>Every service and network</td></tr><tr><td><strong>Cancellation</strong></td><td>Set by the pay-as-you-go terms you accept at signup. Unused balance is not refunded</td><td>One calendar month's notice</td></tr><tr><td><strong>Sign up</strong></td><td><a href="https://customers.triton.one/onboarding">Self-serve</a></td><td><a href="https://triton.one/contact">Contact sales</a></td></tr></tbody></table>

* The minimum deposit is on the [pricing page](https://triton.one/pricing).
* Sales sets your minimum monthly invoice when you switch to invoicing.
* Deposits are non-refundable, under the terms you accept at signup.
* Devnet and testnet are free on every subscription and don't use your balance.

Teams with steady production traffic usually switch to invoicing:

* **Overages at the same rates.** Usage above your estimate is added to your next monthly invoice, with no service interruption.
* **Predictable bills.** The same line items each month, sized on the previous month's usage.

To switch, open the chat in your [customer dashboard](https://customers.triton.one) or [contact sales](https://triton.one/contact).

## Top-ups, alerts, and usage

* **Top up:** customer dashboard → **Billing** → **Buy credits**.
* **Low-balance alert:** in **Billing**, turn on **Low balance notifications**, set a threshold in USD, and click **Save**. Every user on the account gets the email.
* **Zero balance:** service stops and you get a balance-depleted email. Topping up reactivates it.
* **Usage:** **Billing** shows your requests and GB, with a breakdown by service.

## How usage is billed

Two meters:

* **Requests:** each call, billed per million.
* **Bandwidth:** data sent to you, billed per GB (1 GB = 1,024³ bytes). Data you send isn't counted.

{% tabs %}
{% tab title="Solana" %}

| Service                                                                           | Billed on                                                                                 |
| --------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| Standard RPC, unary gRPC calls, Cloudbreak accounts, Superbank historical queries | Requests + bandwidth                                                                      |
| Metaplex DAS API                                                                  | Requests + bandwidth                                                                      |
| Streams: Yellowstone gRPC, Deshred, Fumarole, Riptide and WebSocket               | Bandwidth                                                                                 |
| Titan Swap API                                                                    | Bandwidth                                                                                 |
| Shred Streaming                                                                   | Per IP and data centre: by the minute at the 15-minute rate, or monthly on invoiced plans |
| Preconfirmations (Jito BAM, Harmonic)                                             | Per covered slot or per message, whichever is greater                                     |
| {% endtab %}                                                                      |                                                                                           |

{% tab title="Sui" %}

| Service                                          | Billed on            |
| ------------------------------------------------ | -------------------- |
| GraphQL, unary gRPC, archival gRPC, Seal, Walrus | Requests + bandwidth |
| gRPC streaming                                   | Bandwidth            |
| {% endtab %}                                     |                      |

{% tab title="Monad" %}

| Service       | Billed on            |
| ------------- | -------------------- |
| JSON-RPC      | Requests + bandwidth |
| WebSocket     | Bandwidth            |
| {% endtab %}  |                      |
| {% endtabs %} |                      |

Streams are recorded when they close. A long-lived stream appears in your usage all at once, and a stream still open at the end of a month is billed in the next month.

## How bandwidth is measured

| Traffic                                                                 | What's counted                        | Does compression lower the bill?                        |
| ----------------------------------------------------------------------- | ------------------------------------- | ------------------------------------------------------- |
| gRPC streams, such as Yellowstone gRPC and Riptide                      | Compressed bytes sent                 | Yes. zstd or gzip lowers it, at a CPU and latency cost  |
| JSON-RPC and other HTTP calls, including Superbank, Cloudbreak, and DAS | Uncompressed response size            | No. gzip speeds up transfer but doesn't change the bill |
| WebSocket (listed as Whirligig on usage pages and invoices)             | Bytes sent (frames aren't compressed) | No                                                      |

* Filtering what you request or subscribe to is the most effective way to cut bandwidth.
* On Solana, `base64+zstd` account encoding and `dataSlice` shrink the response itself, so they do lower the bill.
* If your bandwidth is higher than you expect, contact support and we'll go through it with you.

## Errors and disconnects

| What happened                                                                                                                               | Billing                                                             |
| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| Requests rejected with HTTP 403, 429, 500, or 503                                                                                           | **Not billed**                                                      |
| A JSON-RPC or other HTTP response that Triton's load balancer cuts off before it completes. It ends with HTTP 500.                          | **Not billed**                                                      |
| Other error responses, such as 400, 404, 502, and 504                                                                                       | **Counted as requests**                                             |
| A request your client cancels or times out before the response completes                                                                    | **Counted as requests**                                             |
| A gRPC or WebSocket stream that Triton's load balancer closes after sending data, for example when a server goes down or traffic fails over | **Billed** for the data already delivered, if it's over 1,000 bytes |

## What's next

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><i class="fa-gauge">:gauge:</i> <strong>Rate and connection limits</strong></td><td>Per-IP rate and connection limits, and 429 handling.</td><td><a href="/using-your-endpoint/rate-and-connection-limits.md">Rate and connection limits</a></td></tr><tr><td><i class="fa-laptop">:laptop:</i> <strong>Customer dashboard tour</strong></td><td>Find your endpoint and token, check usage, and top up your balance.</td><td><a href="/account-and-billing/platform-overview.md">Customer dashboard tour</a></td></tr></tbody></table>

***

<i class="fa-life-ring">:life-ring:</i> Contact support by clicking the chat icon in your [customer dashboard](https://customers.triton.one)\ <i class="fa-briefcase">:briefcase:</i> Sales questions? [Contact us](https://triton.one/contact)\ <i class="fa-sparkles">:sparkles:</i> AI agent? Read [llms.txt](https://docs.triton.one/llms.txt)\ <i class="fa-rss">:rss:</i> Follow updates: [Blog](https://blog.triton.one) · [X](https://x.com/triton_one) · [YouTube](https://www.youtube.com/@triton_one_ltd) · [Telegram](https://t.me/tritonone) · [GitHub](https://github.com/rpcpool)
