| name | hashrate | last share | valid | stale | rejected |
|---|---|---|---|---|---|
| rig-01 | 0.48 TH/s | 12 s | 2,790 | 14 | 1 |
| rig-02 | 0.47 TH/s | 20 s | 2,731 | 15 | 2 |
| desk | 0.47 TH/s | 9 s | 2,693 | 12 | 0 |
| height | status | your share |
|---|---|---|
| 418,220 | pending 37/100 | 0.2130 |
| 418,104 | mature | 0.2087 |
| 417,991 | orphaned | — |
| 417,880 | mature | 0.2144 |
| run time (UTC) | amount | network fee share | txid | status |
|---|---|---|---|---|
| 2026-09-12 00:00 | 5.2041 SPMTC | 0.0004 | 7f3a…c91e | paid |
| 2026-09-11 00:00 | 6.0388 SPMTC | 0.0004 | b21d…0a77 | paid |
| 2026-09-10 00:00 | 5.9902 SPMTC | 0.0005 | e9c4…51f0 | paid |
Wireframe. Figures are illustrative; the pool is not open. No login, no balance, no withdraw, no send, no address-change control — see sections 01 and 02.
01 Labels and why
| Label | Not called | Reason |
|---|---|---|
| Payout address | Account, username, wallet | It is an address the miner controls; the pool holds nothing for it. |
| Hashrate / Valid shares / Workers online | — | Plain mining statistics. |
| Pending mining reward | Balance, available, funds | An allocation awaiting the next run, with the standing explanation in the tile. |
| Last payout | Last withdrawal | The pool sent it; the miner did not request it. |
| Estimated reward per day · estimate | Earnings, income, yield, ROI | A projection from hashrate and luck, labelled as such in the label itself. |
| Recent blocks · your share | — | Ties every reward to a block the pool found. |
| Payout history | Transactions, withdrawals, statement | A list of distributions with txids the miner can verify on-chain. |
The full vocabulary is on the terminology page. "Balance", "Withdraw", and "Send" do not appear anywhere on this screen.
02 What is intentionally absent
- No withdraw button. Payouts are automatic on the published schedule. A button would imply the miner can pull value out on demand from something the pool holds.
- No transfer or send. There is no way to move an allocation to another address or person.
- No address change. Rewards go to the address the shares were mined under. To use a different address, mine with it.
- No login. The screen is a public read by address. Registered emails are not shown.
- No fiat figures. Amounts are in SPMTC. No price feed, no conversions.
- No deposit address. Nothing on this screen accepts anything.
03 Data sources per tile
| Tile | Source | Refresh |
|---|---|---|
| Hashrate | shares: difficulty-weighted valid shares over 5 min / 1 h / 24 h windows | 30 s |
| Valid / stale / rejected | shares.result counts, 24 h | 30 s |
| Workers online | workers.last_seen within 10 min | 30 s |
| Pending mining reward | Σ reward_allocations.net where block status = mature and not yet in a payouts row | On block maturity and after each run |
| Last payout | Most recent payouts row for the address, joined to payout_runs.txid | After each run |
| Estimated reward per day | Address hashrate ÷ network hashrate × expected daily block rewards × 7-day pool luck × (1 − fee) | 5 min |
| Recent blocks | blocks joined to the address's reward_allocations | On block find / status change |
| Payout history | payouts for the address, newest first | After each run |
All tiles are served by the read-only stats API from a node and database replica; nothing on this screen can write. Schema on the architecture page.
04 Empty and error states
- Address never seen. "No shares have been received for this address. Check the worker login is
<address>.<worker>and that the address passes checksum." Link to the mining page. No tiles shown. - Invalid address. "That is not a valid spmtc address." Checked client-side and again by the API.
- Pending mining reward decreased. When an orphan reverses allocations, the tile shows a line: "Decreased by 0.2130 SPMTC — block 417,991 was orphaned by the network. Nothing from an orphaned block is paid." The block row shows "orphaned".
- Payout failed. Status "failed — retrying" with the next run time; never a silent gap.
- Payout run paused. A banner: "Payout runs are paused while the node resolves a chain reorganisation. Allocations are unaffected." Link to the network page notice.
- API unavailable. Cached figures shown with an "as of" time, greyed; never a blank zero that could be misread as a reset.
- Blocked jurisdiction. A plain page stating the service is unavailable from that location, linking the Sanctions Policy.
05 Accessibility notes
- Tiles are
<section>s with headings; tables have<caption>and scoped headers; the address is in a landmark labelled "Payout address". - Live figures update via
aria-live="polite"regions, throttled so screen readers are not flooded by 30-second refreshes. - Status is never colour-only: "pending", "mature", "orphaned", "paid", "failed — retrying" are text.
- Contrast meets WCAG AA on the light theme; the standing explanation is body text, not small print.
- Everything works without JavaScript for a one-off render; JavaScript only adds refresh and the CSV export.
- Keyboard: worker filter and export are real controls; tables scroll horizontally in their own container at narrow widths.