
Nuvex maintainersMilestone 4Protocol
The read model copies accounts. It does not decide them
Milestone 4 adds an indexer, a PostgreSQL store, and a read API the console and CLI can query. An empty list is a real answer. A row in that list is still not a finalized result.
Read the post
Nuvex maintainersMilestone 3Security
The multi-key weakness the README admits
An operator who funds several node keys can choose which of those outputs to submit. The eligibility predicate does not close that, each extra key only costs the configured minimum stake, and a minimum of zero resists nothing. Here is what still holds, and what would have to change.
Read the post
Nuvex maintainersMilestone 3Economics
What max_fee does, and what it does not do
Every request carries a max_fee. In Milestone 3 that number is written to the request account and nothing is ever taken from the requester. ADR 0005 splits the fee into four roles and deliberately leaves every basis point unset.
Read the post
Nuvex maintainersMilestone 2Callbacks
The callback that receives no accounts
When a request sets a callback, oracle core performs one CPI into that program with the 64-byte output and zero accounts. ADR 0006 chose the empty account list on purpose, because a fulfiller that can pass accounts chooses what the callee touches.
Read the post
Nuvex maintainersMilestone 3Network
Why a node is eligible, and why that is not a lottery
ADR 0003 replaced the idea of an assignment with a predicate: active status, stake at or above the minimum, a heartbeat inside the window, and a key registered before the request. Whoever meets it first wins the race, and nothing in this repository submits that transaction yet.
Read the post
Nuvex maintainersMilestone 3Verification
How a VRF proof is verified on-chain
Milestone 3 verifies randomness with solana-ecvrf 0.0.1: RFC 9381 ECVRF-EDWARDS25519-SHA512-TAI, an 80-byte proof and a 64-byte output, checked inside the verification program. No audit report of that crate was found, and ADR 0004 records the absence.
Read the post
Nuvex maintainersMilestone 0Milestones
Milestone 0: workspace initialization
The first milestone produced a workspace rather than a protocol: program crates, shared libraries, a health-only node, SDK skeletons and documentation. VRF algorithm selection and the request transition graph were recorded as open decisions instead of being guessed.
Read the post