Ledger and analytics
Every dollar in Meris is traceable to a row in Postgres, and every number on the Network page is computed from those rows.
Money in
AI labs buy prepaid credit. Each top-up is a row in credits. A lab's balance is the sum of its credits minus what it has spent.
Crediting contributors
Every minute, the server credits each GPU that is connected, serving and not stepped aside, for the time since the last pass:
- Inserts
jobsrows for the work: GPU, duration, price, contributor share and Meris fee. - Adds the 70% share to the contributor's
earned_usdand to the worker's totals. - Adds the work to the current hour in
network_hours.
All three use the same amounts, so balances, per-GPU totals and network totals agree.
Money out
A withdrawal locks the contributor's row, computes earned − paid − pending, checks the $5 minimum and inserts a payouts row as pending, for at most $50. Meris sends the stablecoin on the account's rail and records the transaction hash, which marks it paid. A payout that cannot be sent is marked rejected and its amount returns to the available balance.
Analytics
The Network page in the app and the public GET /api/network endpoint are built from:
| Figure | Source |
|---|---|
| GPUs online, VRAM lent, jobs running | The live registry of connected workers |
| Paid to contributors, jobs | Sums of network_hours |
| Cumulative charts | network_hours, accumulated hour by hour |
| GPUs online over time | network_samples, one sample every five minutes |
| Live feed | The 20 latest completed jobs. Workers appear as a six-character hash, never by name or owner. |
| GPU types, regions and the globe | Paired workers; regions come from each worker's reported time zone |
