Sogni / Blogs & Newsletters

Worker economics · Measured

What a GPU actually earns on Sogni

Nobody running a GPU wants a marketing range. So we took seven complete days of per-node analytics from a 137-node ComfyUI worker fleet on the Supernet, added up both revenue lines — the Unlimited subscription pool and pay-as-you-go renders — and worked out what one card earns for every hour it is actually connected. Everything below is net of the 51% worker share. A 5090 averaged $0.56 an hour; an RTX PRO 6000, $1.05.

Measured USD per connected hour by GPU class at continuous uptime: RTX 5080 $0.25 across 19 nodes, RTX 4090 $0.36 across 48, RTX 5090 $0.56 across 37, RTX PRO 6000 $1.05 across 23
Per connected hour, at continuous uptime, on the funded subscription pool.
137 ComfyUI worker nodes 1–7 September 2026 UTC, seven complete days 649,403 jobs completed 13,668 connected node-hours Net of the 51% worker share

The rate a running node earns

These are the headline answers: what one node of each class earned per hour it was connected and taking work, extended to a full month of continuous uptime. Uptime across the measured fleet varied from 27% to 76% by class, so this rate — not the observed monthly total — is the number that transfers to a differently-run node.

RTX 5080
19 nodes measured
$0.25 /hr
per day$5.88
per month$176
node range /hr$0.13–$0.39
RTX 4090
48 nodes measured
$0.36 /hr
per day$8.74
per month$262
node range /hr$0.19–$0.51
RTX 5090
37 nodes measured
$0.56 /hr
per day$13.44
per month$403
node range /hr$0.31–$0.69
RTX PRO 6000
23 nodes measured
$1.05 /hr
per day$25.25
per month$758
node range /hr$0.86–$1.24

Every node in the fleet, by what it earned per connected hour

Lowest to highest earning node inside each class, with the class average marked.

RTX 5080$0.13 – $0.39
$0.25
RTX 4090$0.19 – $0.51
$0.36
RTX 5090$0.31 – $0.69
$0.56
RTX PRO 6000$0.86 – $1.24
$1.05
$0 $0.25 $0.50 $0.75 $1.00 $1.25
lowest to highest earning node in the class class average USD per connected hour, both revenue lines, net.

The RTX PRO 6000 band sits entirely above every other class: its worst node out-earned the best 5090 by 25%. The 4090 band is the widest, spanning 2.6× from bottom to top — and since those 48 nodes ran essentially the same model mix, that spread is not about hardware at all. We come back to why.

The full rate table, on two pool bases

One complication has to be said out loud. Pay-as-you-go work is priced per job, so it is simply what it is. The Unlimited subscription pool is not: it is a fixed monthly pot, funded by that month's subscriptions, divided across all subscription render spark on the network. During an open month that pot is still filling, so there are two honest ways to state a rate, and we give both.

Read all of this as an early snapshot of a young, fast-growing pool

September 2026 is only the third month of the Unlimited fair-use subscription plan and its worker revenue share. Across those three months subscriptions have climbed steeply and subscription revenue has grown sharply month over month — so these are not the numbers of a settled market. They are a reading taken early in the life of something still growing quickly, and every figure on this page should be read that way.

The forecast column is an honest projection made on day 8 of month 3, not a target. It uses the pool's own recent-coverage-starts-weighted method, which at capture had 1,472 observed subscription payments behind it, weighted coverage growth of about $182 a day, and roughly 23 days still to run. If growth continues, the funded column understates the month; if it stalls, the forecast column overstates it. We publish both rather than pick one.

Sogni worker dashboard, Daily Worker Statistics: daily completed jobs across the fleet rising from roughly 15,000 a day on 10 August to about 140,000 a day by 6 September, almost all of it Unlimited subscription work
What that growth looks like. The measured fleet's own daily job volume over the 30 days to 8 September — 1,575,559 jobs completed at a 98.9% completion rate. The pale band is Unlimited subscription work, the darker one beneath it pay-as-you-go. Daily volume roughly nine-tupled across the window. The seven days this article measures are the tall bars at the right-hand end, which is exactly why we treat them as an early reading rather than a steady state.
Continuous-uptime basis — per connected hour, extended to a 720-hour month What one node earns running full-time, while the rest of the market holds steady. Left block on the funded pool, right block on the pool's own end-of-month forecast.
Funded pool — $37,257 Forecast pool — $63,568
GPU classNodes $/hr$/day$/monthMonth low–high $/hr$/day$/month
RTX 5080190.255.8817694–2800.378.96269
RTX 4090480.368.74262139–3640.5513.30399
RTX 5090370.5613.44403226–4970.9021.64649
RTX PRO 6000231.0525.25758619–8921.5938.131,144
RTX 309010.255.941780.419.78293
As the fleet actually ran — observed uptime, carried to a whole month The same nodes, not normalised for uptime. Hourly here is wall-clock, including the hours a node was offline. This is the gap between a rate and a result.
GPU classNodesUptimeBusy while up $/hr wall$/day$/mo avg$/mo median$/mo low–high
RTX 50801927.4%57.2%0.0691.6550542–92
RTX 40904873.5%67.0%0.2636.3118920820–322
RTX 50903775.9%77.5%0.42910.3030932368–464
RTX PRO 60002340.4%84.1%0.42210.1330427187–780
RTX 3090145.5%72.1%0.1132.7081
All 137 nodes137211$28,967 total

Read those two tables together and the most useful lesson on the page falls out. The RTX PRO 6000 is the best-earning silicon on the network by a wide margin, and it was busy 84% of every hour it was online — the highest of any class. It still finished the month in a dead heat with the 5090, because it was only online 40% of the time. The 5080s tell the same story more harshly: online 27%, and a $176/month rate became a $50/month result.

Nothing about that is a demand problem. It is a provisioning problem, and it is the one variable an operator controls completely.

One RTX 3090, and what it tells you

The fleet contains exactly one RTX 3090, so it gets a table row rather than a headline tile: a single node is an observation, not a class average, and it carries no range. It is worth reading anyway, because it is the only 24 GB card in the measurement — and 24 GB is what a lot of people already own.

It earned $0.25 per connected hour, within 1% of the 19-node RTX 5080 average and comfortably inside that class's spread. A 2020 card matched a current-generation one. The reason is in the workload row: the 3090 was drawing MiniMax H3 video at 45 spark per job, about eight times the 5080's 5.7, so it only had to finish 11 jobs an hour against the 5080's 88. VRAM decided what work it was offered. Generation did not.

Where the money comes from

Nine of every ten jobs the fleet completed were Unlimited subscription renders — 594,688 of 649,403 — and the subscription pool was the larger revenue line for every GPU class. Pay-as-you-go still matters, and it behaves very differently: it is paid per job at a fixed price rather than out of a shared pot, so it scales with volume instead of being diluted by it. At current volumes it is roughly a fifth of the total.

The two ways a job pays you A worker takes both kinds. Per-job settlement is on from the moment you connect; subscription work requires opting in.
 Pay-as-you-go rendersUnlimited subscription renders
Who sends themArtists paying per render with Spark or SOGNISubscribers on Sogni Unlimited and Unlimited Pro
How you are paidSettles to your worker in real time, per completed jobRender spark accrues to that month's revenue-share pool
Pool sizen/a — priced per job51% of net subscription revenue for the UTC month, after processor fees, tax and refunds
Your share51% of the job's render valueProportional to your share of all subscription render spark that month
Opt-in?On by defaultOptional — accept the terms on the dashboard
When you can claimAny timeAfter the month closes and reconciles
Paid inSOGNI, or Premium Spark, or stakedUSDC to your Sogni wallet, $1 minimum, $0.50 claim fee

Split of the average node-month, as the fleet ran

pay-as-you-go Unlimited subscription pool

RTX 5080pay-as-you-go $14 · Unlimited $36
RTX 4090pay-as-you-go $50 · Unlimited $139
RTX 5090pay-as-you-go $44 · Unlimited $265
RTX PRO 6000pay-as-you-go $84 · Unlimited $220

The portable rate: dollars per unit of work

Strip out GPU class and uptime and a worker is really paid for one thing: the render spark it produces. Pay-as-you-go pays a flat $0.00255 per spark, net — exactly 51% of the $0.005 an artist pays. The Unlimited pool has no fixed price; it divides the month's subscription revenue across all subscription spark, which at the funded level worked out to $0.00193 per spark.

So on the funded pool, subscription work paid about 76% of the pay-as-you-go rate per unit of work. If the pool reaches its forecast, that becomes $0.00330 — and the subscription lane pays 29% more per unit than pay-as-you-go does. That crossover is the single most consequential number here for anyone modelling worker income, and it is why we publish both bases rather than picking the flattering one.

What actually drives the number

GPU class is a proxy. What really sets a node's earnings is the model tier it is eligible for, because heavier models carry far more render spark per job — and heavier models need VRAM only the newer cards have.

The workload each class was actually assigned Model shares are by render spark across every node in the class. Spark per job and jobs per hour are the median node.
GPU classDistinct modelsTop models by render sparkSpark/jobJobs/hrBusy$/conn-hr
RTX 50807Dark Beast Krea 2 68% · Krea 2 Turbo 28%5.788.557%0.25
RTX 409037Krea 2 identity edit 33% · Dark Beast Krea 2 variants 37%8.076.267%0.36
RTX 509017MiniMax H3 FastVideo Turbo 22% · H3 image-to-video 20%78.814.478%0.56
RTX PRO 600017MiniMax H3 reference-to-video 31% · H3 FastVideo Turbo 28%84.620.284%1.05
RTX 30905MiniMax H3 FastVideo Turbo only — no 32 GB variants45.111.372%0.25

Look at the spark-per-job column and the whole ladder explains itself. The 5080s and 4090s carried Krea 2 image work at 5.7–8.0 spark per job and 76–89 jobs an hour. The 5090s and PRO 6000s ran video — the same MiniMax H3 family — at roughly ten times the spark per job. A card doing fourteen video jobs an hour out-earns a card doing eighty-eight stills, comfortably.

Even the gap between the two video classes is a routing difference rather than a silicon one. The PRO 6000 drew the heaviest H3 variants, reference-to-video at 237 spark a job; the 5090 drew more of the turbo and int8 variants at 50–183. That accounts for most of the 1.9× between them.

The VRAM ladder, and where the doors are

Since eligibility is what pays, here is the current one, read from the live worker config on 7 September 2026. Two rungs matter more than the rest.

16 GBFast Worker floor
Krea 2 Turbo and identity edit, Dark Beast Krea 2, Z-Image and Z-Image Turbo, Chroma, Qwen Image 2512 and Qwen Image Edit 2511, FLUX.1 Schnell, ACE-Step 1.5, LTX-2.3 and LTX-2.5 video, Wan 2.2 and Wan 2.2 Lightning, RTX VSR. 43 workflows — the whole image catalogue and a good deal of video.
20 GB
Adds ACE-Step 1.5 XL music, in both SFT and Turbo.
23 GBthe cheap door into H3
Adds the three MiniMax H3 FastVideo int8 Turbo workflows — image-to-video, text-to-video and first/last-frame. This is the lowest-VRAM route into H3 video work, and H3 video is where the render spark is.
24 GB
Adds MiniMax Music 3.
32 GBthe full H3 family
Adds the twelve remaining MiniMax H3 workflows — image-to-video, text-to-video, first/last-frame and reference-to-video, each in standard, balanced and turbo. These are the heaviest jobs on the network and they carry the most spark per job. An RTX 5090 is the entry point; the PRO 6000 nodes above were drawing the top of this set.

The fleet's single RTX 3090 is a clean demonstration of that 23 GB rung. Across the week it served exactly three MiniMax H3 workflows — the FastVideo int8 turbo image-to-video, text-to-video and first/last-frame variants — plus MiniMax Music 3 and RTX VSR, and none of the twelve 32 GB H3 workflows. That is the ladder above, reproduced by one card with 24 GB.

Resolution adds its own gating on top of the video workflows — larger outputs need more headroom than the pack minimum — so treat the ladder as eligibility to be offered the work, not a guarantee of every job in the tier. The catalogue also moves; check the live config rather than trusting this table in six months.

Inside a class, it is simply how busy you were

The 48 RTX 4090s are the cleanest experiment on the network, because their model mix was effectively uniform — every node ran the Krea 2 identity-edit family in much the same proportions. And yet the per-connected-hour rate still spanned 2.6×, from $0.19 to $0.51.

We checked what that tracked. Against busy share — the fraction of connected time actually spent rendering — the correlation was r = 0.716. Against spark per job, only r = 0.589. The three lowest-earning nodes were busy 45–57% of their connected time; the three highest, 70–76%. Same card, same catalogue, same week: the difference was how much work the scheduler sent them.

Sogni worker dashboard, Efficiency view: daily connected time split into productive rendering and available idle time, with a productive-rate line running between roughly 35% and 75% over 30 days
Idle time is the thing to attack. The same fleet's connected time split into productive rendering (green) and available idle (grey). Over the 30 days it was 54.1% productive — 20,466 productive hours out of 37,823 connected — with model preparation and cooldowns together under 2%. Every grey hour is a node that was online, healthy and simply not sent work. That grey band is the same quantity as the “busy” column in the tables above, and it is what the 2.6× spread inside the 4090s is made of.

So it is worth knowing exactly what the scheduler rewards. When jobs are waiting, idle workers are sorted and offered work in this order:

  1. Speed vs baseline, highest first. Every completed job updates a rolling measurement of how fast you rendered compared with the expected time for that model on reference hardware. This single number is the primary sort key. Your hardware model is not used directly — what you actually deliver is.
  2. Longest idle first among workers of equal speed, then longest connected as the final tiebreaker.

On top of that ordering, jobs go first to workers that already have the model hot-loaded in VRAM, and only then does the matcher ask others to switch models. Which gives a short, honest list of things that move your number, in rough order of impact:

How to read these numbers

  1. This is month three of a brand-new model. The Unlimited fair-use subscription plan and the worker revenue share that pays out of it are new, and September 2026 is only their third month. Subscriptions have grown steeply across all three, with subscription revenue rising sharply month over month. A pool growing that fast makes any single month a poor guide to the next one — in either direction. Treat these rates as a reading taken early, not as a settled rate for the network.
  2. The Unlimited pool is a fixed pot, so per-node rates are not additive. Subscription revenue for the month is divided across all subscription render spark on the network. If every worker went to 24×7, total spark would rise while the pot stayed the same, and the per-spark rate would fall. The 24×7 columns answer “what does this node earn running full-time while the rest of the market holds steady” — they are not a projection for the network as a whole. Pay-as-you-go does scale, because it is priced per job.
  3. Seven days, not a month. Every rate comes from 1–7 September 2026 UTC, from complete daily rollups, extrapolated at the observed rate. September had not finished when we measured. A short window is also more easily distorted by one bad week than a long one.
  4. The pool was open, and it keeps moving until the month closes. At capture the month's status was open and the revenue basis estimated, with nothing claimed. Two things move it. Revenue keeps arriving, which grows the pot. And the pot is divided by subscription work measured in units of GPU time, so your share also depends on how much work every other worker on the network does for the rest of the month — a node that does exactly the same work in week four as in week one can still land on a different number. Nothing here is a settled amount owed.
  5. The forecast assumes the fleet holds its share. It was made on day 8 of the month, by the pool's own recent-coverage-starts-weighted method, and it models the pool growing — it does not model new workers joining and diluting each existing worker's share. More capacity arriving is good for the network and reduces the per-node forecast at the same time. It is a projection made early in a fast-moving month, and it is not a commitment.
  6. Earnings settle about 45 days after the month closes. The pool is funded by subscription payments taken across several payment providers, and each provider has its own settlement period. Those have to complete and be aggregated before a month's payout is final, which puts roughly 45 days between the end of a UTC month and money you can claim. The figures on this page are accrual, not cash in hand.
  7. These are net figures. Everything above applies the 51% worker share. If you are comparing against a dashboard’s gross SOGNI row, that number is render value before the split — roughly double what a worker receives.
  8. Uptime here is a hosting variable, not a demand signal. The 5080 cohort at 27% and the PRO 6000s at 40% reflect when those deployments happened to be running. The PRO 6000s were 84% busy whenever they were online — the busiest silicon in the fleet.
  9. One fleet, one week, one hosting setup. These are 137 real nodes, not a model, which is the strength and the limit of the exercise. A differently-run node on the same card will land somewhere else in the range, and the ranges we publish are wide for exactly that reason. The RTX 3090 row is a single node and has no range at all — treat it as one observation, not a class.
  10. No number here is a promise. Earnings depend on demand, your hardware, your speed score, which workflows you are eligible for, your uptime and the SOGNI price. Electricity, cooling and hardware are yours. Treat all of this as a dated measurement, not a rate card.

How we measured it

Per-node daily rollups for each of the seven UTC days, combined with the month's subscription pool ledger and its per-node breakdown, all read from the same public analytics endpoints that power the worker dashboard — any operator can reproduce this for their own wallet. Pay-as-you-go dollars follow the dashboard's own decomposition, computed per day and then summed, then multiplied by the 51% worker share. Unlimited dollars are each node's own row in the pool ledger.

Scope is ComfyUI workers only: 137 nodes. A handful of Stable Diffusion and LLM workers ran on the same account and are excluded, because they are a different product line and would blur the comparison. Per-node rows reconcile exactly against the ledger's account payout, and daily spark totals land within 0.25% of the pool's own counter.

Put a card on the network

Any supported NVIDIA GPU with 16 GB or more can join, and the two rungs that change your earnings most are 23 GB and 32 GB. Beyond the licence NFT, running a worker is free.

  1. Buy a Fast Worker NFT at nft.sogni.ai. Every GPU on the Fast Supernet is identified by a Sogni Prospect Worker NFT on Base — it is what carries that worker's reputation, its analytics and its entry in the revenue-share pool. Sign in with your Sogni account, open the NFT Collections Explorer tab, set the Status filter to Available, and mint. It is paid in ETH on Base at the price shown on the site, so fund your Sogni wallet with that plus a little gas first. Keep the token ID — the installer asks for it.
  2. Get your API key. Under My NFTs, open your worker NFT and choose View API Key; the same key is on the API Key tab of dashboard.sogni.ai. The key belongs to your account rather than the NFT, so every worker you run uses that one key with a different token ID.
  3. Install the worker, then opt in to subscription work. The installer asks for the worker type, your API key and your token ID, then pulls models and connects. Per-job settlement is live from the first job, but Unlimited work is opt-in: accept the terms at dashboard.sogni.ai/subscription-earnings. Until you do, the subscription-pool line — the larger of the two revenue lines on this page — is not available to your worker.

The full setup, hardware, disk and tuning guide is in the Fast Worker documentation on docs.sogni.ai.

Running a fleet, or a data center with Blackwell capacity to spare? Email [email protected] and we will help you onboard directly.

More from Sogni