Verify it yourself
Every round publishes the whole calculation, and its fingerprint is written into the payout transactions on Solana. You can repeat the calculation and compare the two without trusting this site.
Check a round in two commands
The verifier is one file with no dependencies. It needs Node.js 18 or newer and nothing else. It is short enough to read before you run it, and it is worth reading.
curl -O https://envidacompute.xyz/verify-round.mjsnode verify-round.mjs 1Replace 1 with any round number from the payout ledger. The script prints each check as it runs and ends with PASS or FAIL. It exits with a non-zero code on failure, so it can be scripted.
It reads transactions from Solana's public RPC by default, which is slow for a round with many transactions. Pass your own node with --rpc. To check only the calculation, with no chain access, add --offline. To check a file you saved earlier, add --file with its path.
node verify-round.mjs 1 --rpc https://your-node.example
node verify-round.mjs 1 --file ./1.json --offlineWhat it checks
The file
It downloads the round file from /rounds/{round}.json exactly as it was stored and computes its SHA-256 hash. That hash is the round's fingerprint.
The calculation
From the rules and the holder list inside the file, it works out every wallet's multiplier, weight, share of the pot, payout and remaining credit again, and reports any figure that differs from the file.
The chain of rounds
It checks that the file names the hash of the round before it. Changing any past round would change every hash after it, and those are already on Solana.
The transactions
It reads every payout transaction from Solana and checks that it succeeded, that its memo carries this round's hash, and that each wallet received exactly the NVDAx the file says, once.
The only things the script takes from this site on trust are the list of transaction signatures and the list of payouts that were returned to a wallet's credit because its NVDAx account was closed or frozen before the transaction was built. The signatures are then checked against the chain, and a returned payout shows up as that wallet's credit in the next round's file.
A wallet with no NVDAx account is not paid on chain in that round. The file lists it with its amount as a credit and the reason, and the script expects no transfer for it.
The engine wallet's books
The engine has not run a round yet, so there are no books to show. From the first round, this section lists the NVDAx the engine wallet holds beside everything it owes: the pot waiting for the next round, transfers waiting from the Reserve, the amounts credited to wallets, the rounding remainder and payouts still confirming, with the difference between the two.
The engine makes that comparison before every round. If the wallet ever held less than it owed, it would stop and pay nothing.
The wallets to watch
Engine
Receives creator fees, swaps them and sends every payout. Every payout transaction is signed by this wallet.
Reserve
Holds the Nvidia Reserve. NVDAx leaves it only at a milestone or during an Earnings Week, and each transfer is named in a round file.
Compute
Receives rental payments, pays refunds and sends the margin to the Reserve as NVDAx.
The hash chain
Round files are numbered in order. Each one contains the SHA-256 hash of the file before it, and its own hash is written into the memo of its payout transactions as envida:round={number}:sha256={hash}. Once a round has been paid, its hash is on Solana for good, so neither that round nor any earlier one can be changed without the mismatch being visible to anyone who looks.
No round has been recorded yet. The first one appears here with its hash and a link to its file the moment it is computed.