Earnings
You earn 70% of what the customer paid for every request you serve. That is 0.70,
published in GET /v1/catalog/rates so you can read it rather than
take our word for it, and it is the same number for every host, every node and every
model.
There is no hardware rate table. Nobody is paid per hour or per card. What you earn is what you served:
your earnings = 0.70 × (tokens_in × price_in + tokens_out × price_out)
at the model's published prices, on the gateway's token counts.
Worked example
A request to mid-14b — $0.06 per 1M input tokens, $0.15 per 1M output — with a
1,000-token prompt and a 320-token answer:
| Customer pays | 1,000 × $0.06/1M + 320 × $0.15/1M = 108 µ |
| You earn | 0.70 × 108 = 76 µ |
| Shardio keeps | 32 µ |
Earnings are made of very many numbers that size, which is why throughput matters more than any individual request.
To work out what a model is worth to you right now, take its prices from
/v1/catalog/rates and multiply by 0.70. We do not publish an expected hourly figure,
because there is not one: it depends on your throughput and on demand for that model, and
a number we invented would be a number we made up.
When earnings are recorded
The moment the request finishes. Your accrual is written in the same database transaction as the record of the request itself — not by a later job that could fail and leave you quietly short.
What counts:
| Outcome | You earn |
|---|---|
| Completed normally | Yes. |
| Customer disconnected mid-stream | Yes — 0.70 of what the customer was charged, which is the whole prompt plus the tokens delivered. |
| Failed after producing output | Yes — 0.70 of the whole prompt plus the output the gateway counted. |
| Failed before producing any output | No — the customer was not charged either. |
| A canary check | Yes, at the ordinary rate. Verification is our cost, not yours. |
The arithmetic is integer microdollars throughout, rounded once, at the same rounding rule everywhere. Nothing is rounded down in our favour.
Which account gets it
The account that owns the node that served the request. Attribution follows the node, and each accrual records which node and which model produced it — so a payout can be broken down per machine.
Payouts
Accruals are the running record; a payout is what closes a period over them.
- One payout per account per period, with one line per node.
- Periods are whole and closed: a period that has not finished yet cannot be paid out.
- No minimum threshold. There is no balance you must reach.
- A period that earned nothing produces no payout at all and stays open rather than recording a promise to send nothing.
- A payout that has been issued is not restated. Corrections are new records, not edits — a ledger that rewrites history is not a ledger.
What is not measured
Uptime is not a metric here, and there is no availability commitment to sign. You are not paid for being switched on, and you are not penalised for switching off. Run the node when it suits you.
End a shift with shardio down, not shardio pause. Pause only records a status the
dispatch path never reads, so a paused node keeps being sent work; down is what actually
stops it. See Join the mesh.
What does affect you is certification: a de-served pair earns nothing until it recovers, because it receives nothing.