Skip to main content

Rewards calculator

The rewards calculator answers one question: what would this many GPUs of this type earn on Lium in a month? Rentals and the rented extra are measured: what GPUs of that type actually earned on Lium over the last 30 days, scaled to your count. Idle pay is the validator's rate for the type on every hour not rented.

Using it​

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

  1. Pick a GPU from the list. The list holds every GPU type that enough providers listed on Lium over the last 30 days, ordered by how much idle pay and rented extra the network paid providers of that type over the window (most first).
  2. Enter how many GPUs you would add. Datacenter cards default to an 8-GPU node, consumer cards to one card.

That is the whole form. The result updates as you type.

Reading the result​

The big number is the month's total for your GPUs at the time rented Lium measured for that type over the last 30 days — on 10 September 2026 the measured figures gave "8× H200, rented 86 percent of the time — about" over "$23,064 a month" (the page writes the share with a percent sign). Under it: the same figure per day, and the date the measurement ends.

The total is the sum of three parts, each with its own card:

cardwhat it ishow it is measured
From rentalsyour share of what renters paid95% of the type's average rental price per GPU-hour over the last 30 days (weighted by hours), for the share of hours GPUs of that type were rented
Idle paywhat Lium pays a GPU while nobody rents itthe validator's idle rate for the type per GPU-hour, for the share of hours GPUs of that type sat idle; the card also shows the measured 30-day average for comparison
Rented extraa bonus on top of every rented hourwhat the network paid rented GPUs of that type over the same 30 days, divided by their rented GPU-hours, for the share of hours they were rented

The Idle pay card is the one part that is not a measured average. Its month figure is the validator's idle rate for the type (the rate table the validator pays from) times every hour the type was not rented. The card says so in three lines: the rate ("per GPU-hour while not rented"), what a node must do to be paid it (a GPU count in a priced tier, 1 or 8 GPUs per node today, or GPU splitting on; latest executor image; rentals not paused; not on Spot; flagship nodes with GPU splitting), and the measured 30-day average across all listed idle hours for comparison (hours that paid nothing included). When the count you typed is in no priced tier, the card adds that the validator pays that node the rate only with GPU splitting on (see GPU-count tiers). The average is lower than the rate because listed idle hours that paid nothing count in it: the node was paused for new rentals, sat on the Spot tier, was a flagship node without GPU splitting, or ran an outdated executor image. A type the validator pays no idle incentive for (no bucket cap, for example the H800 or the L4) has no rate; its card keeps the measured average and says so. The provider portal's home page prices idle pay the same way: its earnings table and its inline calculator use the validator's rate for the hours not rented, with the measured 30-day figure as a small line under it, so the two pages give one total for the same GPUs.

Below the cards:

  • The range. The line "Over the same 30 days, … providers earned between $a and $b per GPU per month" is the middle half (25th to 75th percentile) of what individual providers of that type earned per GPU-month in the same 30 days. It is shown only when at least five providers each had a GPU-week (168 GPU-hours) of listing in the window. Price and uptime are what separate the top of the range from the bottom.
  • Right now. The GPUs and nodes of that type listed on Lium at the moment, and what share of those GPUs is rented — a live count, so it need not match the 30-day share.

Advanced: your own price and percent rented​

Open Advanced for two boxes: it lets you set your own price and the percent rented you expect. The Percent rented (%) box starts at the share Lium measured for the type. At another share the calculator pays the validator's idle rate on the unrented hours and keeps the measured per-hour rented extra and rental share on the rented ones. In Your price, type the hourly price you plan to set. The From rentals card changes (and with it the headline total and the per-day figure): the calculator keeps the percent rented (measured, or the one you typed) and the measured rented extra, and recomputes the rental share as 95% × your price × the rented hours. A higher price does not raise the measured utilization — in the market it usually lowers it. The field follows the marketplace's limits for the type, the same ones the GPU Market Overview table below shows: a price above the type's maximum (p_max) is not accepted and snaps back to it when you leave the field, and a price above the type's soft limit sets the Idle pay card to $0, with a note under the field — an idle node priced above the soft limit earns no idle pay — see Price and the unrented incentive. The measured price the field starts with is never adjusted: it is what renters paid.

Where the numbers come from​

Everything in the calculator — the headline, the three cards, the range and the live line — is read from one public endpoint of the provider portal, GET /public/provider-economics, which recomputes at most once an hour from three sources over the same 30-day window:

  • rental records — every completed rental on Lium: the price per GPU-hour, weighted by the hours rented, per GPU type and per provider (the price only — the time rented comes from the ledger);
  • the payout ledger — what the network actually paid each provider in each 15-minute scoring cycle, split into idle pay and rented extra, with the GPU type and count it was scored on and whether those GPUs were rented or idle — this is where the time rented and the GPU-hours come from. Cycles in which a listed GPU earned nothing (the provider's own Default Job was running, the idle-pay cap was full, the price sat above the soft limit) still count their hours, so the measured average on the Idle pay card is over listed GPU-hours, not over paid ones; the endpoint also carries the validator's idle rate per type (idle_rate_usd_per_gpu_hour_max: lium-core's rate table with the validator's own pins on top, B300 at 6.40 and the RTX PRO 6000 Server Edition at the Workstation Edition's rate, see emission), which is what the card's month figure uses;
  • the live node list — nodes, GPUs and rented GPUs per type at the moment of the computation.

A GPU type appears only when at least three providers listed it for a combined 1,000 GPU-hours in the window; the range appears only from five providers. Nothing on the page is typed by hand, and no provider is identifiable from it.

What it does not tell you​

  • It is the past 30 days, not a guarantee. Rental prices and demand move with the market; the idle rate table changes when Lium tunes it.
  • Your node's own settings are not in it. Idle pay is counted at the full rate for every hour not rented. A node paused for new rentals, on an outdated executor image, a flagship node without GPU splitting, or a GPU count with no priced tier without GPU splitting earns nothing for those hours. The calculator does not estimate idle pay on the Spot tier: a Spot node is paid only while a Lium Default Job runs on it, and a node that is Spot because of a demotion is paid the same Spot idle pay (see Idle pay on Spot). A node that fails verification, is priced above the type's soft limit, or runs without the required runtime earns less than shown (see Subnet emission and the FAQ).
  • Types with few providers are not listed. A type with fewer than three providers, or under 1,000 GPU-hours in the window, has no measured number to show.

Rental fees are paid daily to your coldkey; idle pay and rented extra accrue as stake on your hotkey each tempo (~72 minutes). See Payouts.

GPU market overview and open capacity​

Further down the same page, two live tables from the marketplace (they read the marketplace's own /machines data, not the endpoint above): Open Earning Capacity lists every GPU type with an idle-pay cap, how many spots are still open in it right now, and, for each node size (1x, 8x), the est. idle pay if you add 1 GPU now: what the validator would pay one more idle node of that size per GPU-hour today (8x: one more 8-GPU node), read from the validator's own idle-pay estimate for that node. The estimate assumes the node meets every other idle-pay rule: price under the soft limit, NVIDIA driver, sysbox and the rest (see the unrented pool requirements). Up to the cap that is the full rate. Past the cap, the cap's worth of pay is shared equally among every idle GPU of that type and size, so each earns the rate × cap ÷ idle GPUs (the cell shows how many idle GPUs share how many paid slots; see GPU-count tiers and capacity caps). When the whole idle-pay pool reaches its emission cap, every idle rate is scaled down to fit, and the cell says so (see The three pools). A size with no paid idle slots, and the types with no paid idle slots at all (listed in grayed lines under the table, one per reason), say so in words. GPU Market Overview lists every GPU type the marketplace supports, listed today or not, with its GPUs listed now, GPUs rented now, rental rate over the last 30 days (the share of time its GPUs were rented), median price, reference price, price limits and whether the validator pays it an idle incentive (none for this model for a type the validator publishes a zero idle rate for). The two counts are a live snapshot and the rate is a 30-day average, so a type that is almost fully rented today can show a low rate. A type with too little 30-day history shows the current share instead, marked (now). A type that shows no limit yet in the Soft Limit column has no soft limit (see Price and the unrented incentive). Read them before you buy hardware or set a price.

The calculator's average price and the table's median are 30-day figures. For what nodes ask and rent for today, per node, open the public Marketplace prices Grafana dashboard: every listed node of a GPU model with its asking price and, when a customer pod runs on it, its rented-at price per GPU-hour; the rented-at percentiles right now; rentals over the time range you pick (7 days by default); and hours idle before rent against price. Per GPU model it also shows the median asking price of unrented nodes against the median paid price, now and daily over 30 days, how long nodes priced below, at or above the model's median asking price sat unrented, and the share of listed nodes rented per hour. See Price Management.