UNCLE MATT’S RANDOMIFIERS
Try the Randomifier calculation.
Randomifier adds seven cryptocurrency prices together: BTC, ETH, SOL, RENDER, ZEC, HYPE and AAVE. Use the price slider to see how a change affects the result, or explore the recorded prices below.
This sample was recorded on October 14, 2026. Every decimal place is kept in the calculation.
Exact integer and input hashes
The program returns the total as an integer at scale 10¹⁸. Divide by 10¹⁸ to read the price total shown above.
The seven prices
Randomifier checks the source, value and age of every price. The Solana program accepts prices up to ten minutes old.
| Market | Price, USD | Published, UTC | Age when read | Price check |
|---|
Raw prices and source accounts
Pyth also reports a confidence interval for each price. That value is included in the result’s hash.
How the total changed
Read every saved total
| Read at, UTC | Price total, USD | Price checks |
|---|
TRY THE CALCULATION
Change a price. See the new total.
Choose a market and move the slider. The other six prices stay the same.
Change one price to see how it changes the total. The calculator uses the saved prices above.
Use the result in your app.
Your app receives the exact total, called X, and a hash of the inputs. The prices are public: anyone using the same accepted prices can calculate the same result.
Get the Node.js example and Rust helper →
Integer precision and application outcomes
Keep X as an integer. In this saved sample, each price has eight decimal places, so X at scale 10¹⁸ has ten trailing zeroes. Direct rawX % 2 and rawX % 100 both return zero. Choose and test the conversion your application needs, including when prices are read and how retries work.
What the program checks
Every call checks the seven account addresses, their owners, Pyth feed IDs, verification status, positive prices and timestamps. Each price must pass before the program returns a total.
The prices come from Pyth. Their market movements change the total, as the calculator above shows.
Check the Solana program.
Check that the program matches its published code and upgrade authority.
Ready to check.
What this check reads
The check reads Solana’s public mainnet RPC and compares the deployment with the published build identity. Each call to the program also needs current prices.
Download the contract checkerBring it into your app.
Use the complete Node.js example or the Rust helper.
Download the technical reports
October 15 build report · October 14 devnet transaction report
Download the data and examples.
Recorded prices (JSON) · Devnet deployment report · Calculation checker · Node.js reader · Rust helper
To check the saved totals yourself, download the recorded prices and calculation checker into the same folder. Run with Node.js 18.20.8 or newer:
node reproduce.mjsOctober 14 source revision and file hashes
Implementation: uncmatteth/uncle-matts-randomifier
Revision: 7252de6d58bfd0cf55e41c3cacba93248170619e
Source: scripts/formula-x.ts, scripts/observe-formula-feeds.ts and docs/randomifier/
Observations SHA-256: 9dc7a3694e2ef1c750230b1f395a0c73a9156c7f660f0bd20795aea1ac861637
Sanitized deployment proof SHA-256: 6b86a1674ff31bcd63badeffbdbb744193d21b99740c2f8d6635681e8bc0c423
Replay and sensitivity report SHA-256: fbfab548e3e9303c8648b59d9f4953c35b023781d7ec1513e01e33acd2a12900
Commands for maintainers with source access
From the implementation repository at the source revision above:
npm ci
npm run read:formula-x -- --cluster mainnet-beta --era current
npm run observe:formula-feeds -- --samples 10 --interval-ms 60000 --output /tmp/randomifier-observations.jsonThese commands read public price accounts. A new recording will have its own prices and timestamps.