---
sidebar_position: 4
title: Rewards calculator
description: Walkthrough of every input on the live rewards calculator, plus the formula it uses.
---

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

# Rewards calculator

The [Lium rewards calculator](https://provider.lium.io/rewards-calculator) is your fastest way to estimate earnings. It runs against live Subnet 51 data, accounting for your GPU model, rental utilization, and node configuration. This page walks you through every input and shows the math underneath.

## Try the calculator

Start here: **https://provider.lium.io/rewards-calculator**

Enter your GPU model and count, set your rental rate (or use the platform average), then toggle your node features. The calculator returns hourly, daily, and monthly projections.

## Understanding each input

### GPU model & count

Select your GPU model from the dropdown (H100, H200, A100, L40S, etc.) and how many you plan to rent. The calculator queries the live SN51 subnet for reward rates specific to that model and quantity.

If no estimate is available (e.g. you set GPU splitting or request a multi-GPU configuration the validator has not yet scored), the calculator displays "Estimate unavailable" — this is normal during network ramp-up. Cached fallback estimates use the most recent validator snapshot.

### Base price (hourly rental rate)

This is what you set in the provider portal: the USD per hour per GPU you want to charge renters. Your actual earnings depend on this price and the platform's rental fee split.

**Example:** If you set $0.25/hr and your rental pool has a moderate-to-high utilization, the expected rental income combines:
- Income from rented hours: pool earnings at your price
- Emission from unrented hours: subnet emission allocated to unrented GPUs

### Rental rate (utilization)

The fraction of your GPUs expected to be rented in a given time period. If you don't know, the calculator defaults to the platform average utilization. The slider ranges from idle to full utilization and directly affects the balance between rental income and emission rewards.

### Node configuration toggles

#### Sysbox runtime

Enable if you run sysbox (container-level virtualization). **Sysbox is required for any score on Subnet 51 today** — the post-cutoff `sysbox_multiplier` is binary (`0` or `1`), so leaving it off zeroes both the unrented- and rented-pool rewards. The toggle exists in the calculator only to model the legacy partial penalty (a 0.8× multiplier) for rented nodes created before the cutoff (2026-04-03 12:00 UTC); for any node running today, leave it on. See [Subnet emission → Sysbox runtime](./emission.mdx#sysbox-is-required).

#### TDX attestation passed

Enable if your hardware supports Intel Trust Domain Extensions and you have completed attestation. TDX-enabled nodes may score higher under future SN51 incentive phases.

#### GPU splitting

Enable if you plan to split GPUs (rent partial GPU time-slices). When enabled, the calculator requires a minimum GPU count to show estimates — multi-GPU splitting configurations require a live validator query and are not cached.

## The formula

The calculator uses two main components:

### Rental income per hour

```
Rental income = basePrice × (1 − PLATFORM_FEE) × gpuCount
```

where `PLATFORM_FEE` is Lium's share of each rental dollar. Providers receive  of every rental payment.

### Expected earnings

The calculator blends rental income with subnet emission based on your utilization rate:

```
Expected per hour = rentedPerHour × rentalRate + unrentedPerHour × (1 − rentalRate)
```

- **rentedPerHour**: rental income + emission earned from rented GPUs
- **unrentedPerHour**: emission earned from unrented GPUs
- **rentalRate**: your estimated utilization (0.0–1.0)

Monthly estimates multiply hourly by 24 × 30 (730 hours, a calendar approximation).

<details>
<summary>**How the calculator gets its numbers** (advanced)</summary>

When you click **Calculate**, the calculator calls the SN51 validator via the `/machines/estimate` API endpoint. The validator returns:

- **usd_per_epoch**: reward value (emission or rental) per SN51 epoch
- **effective_rate**: your provider's unrented-pool rate after the cap-dilution factor is applied (`hourly_rate × unrented_cap_multiplier`); `sysbox_multiplier` is a binary gate that zeros the rate if sysbox isn't running, not a tunable factor
- **mining_score**: your competitive score in the rented pool
- **gpu_portion**: the live per-GPU-model portion the validator publishes on the <a href={links.grafana_gpu_model_rate}>Grafana GPU model rate dashboard</a>
- **rental_share / burn_share**: the current dynamic split of the  ceiling between the unrented pool and the burn pool
- **sysbox_multiplier**: binary `0` or `1` post-cutoff (see [emission docs](./emission.mdx#sysbox-is-required))

If the validator is unreachable, the calculator falls back to a cached set of single-GPU estimates (stored in Redis). Multi-GPU and gpu-splitting estimates always require a live validator connection.

</details>

## Monthly = hourly × 24 × 30

The calculator uses a 30-day calendar month (730 hours) for monthly projections. Your actual monthly payout varies based on:
- Actual utilization (may drift from your estimate)
- Validator scoring factors that actually move the score today: sysbox (binary), `unrented_cap_multiplier` (per-bucket cap dilution), and misbehavior windows
- Network emission changes (if the dynamic split between the unrented pool and the burn pool shifts)

Use the calculator as a planning tool, not a guarantee. Check the [FAQ](./faq.mdx) for reasons your actual earnings might differ.

## Caveats & limits

- **Validator unavailable?** The calculator caches fallback estimates; you'll see "Estimate unavailable" for multi-GPU or splitting configs until a validator reconnects.
- **Emission volatility:** The subnet's split between the unrented pool and the burn pool shifts as rental demand changes (the rented pool itself is fixed at ). Your emission earnings are not fixed.
- **Live per-model rate moves:** The rented pool's per-model `gpu_portion` is an EMA of rental revenue and can shift between epochs. Watch the <a href={links.grafana_gpu_model_rate}>Grafana dashboard</a>.
- **Cap dilution:** If many providers post unrented GPUs in your bucket, `unrented_cap_multiplier` shrinks below 1 and your unrented-pool reward drops proportionally.
- **Misbehavior windows:** Failed verifications and SSH/connectivity incidents zero out your score for the affected day.
- **Price competition:** If many providers undercut your base price, your rental rate (utilization) may fall below your estimate.

For the most up-to-date numbers and live SN51 stats, visit [TaoMarketCap Subnet 51](https://taomarketcap.com/subnets/51/miners) or [TaoStats Subnets](https://taostats.io/subnets).
