Two million RAND for early adopters
A shielded transfer is charged a fee in RAND bound inside the circuit, which Theorem 5.3 shows is a structural requirement rather than a pricing decision: a transparent fee paid from your own account would collapse the anonymity set of the transfer to you. A new address therefore cannot transact on the devnet until it holds RAND, and that is what this faucet will dispense.
Two million devnet RAND are set aside for it, granted by contribution: 100 RAND for an early adopter, influencer, translator or community organiser, 150 for a technical writer or designer, 250 for a developer or node operator, 500 for a computer scientist or protocol economist, 750 for a security researcher and 1,000 for a cryptography specialist. Tell us who you are, why privacy matters to you and what you can build, and give us the shielded address the grant should go to. We send a confirmation link; clicking it fixes your grant, records your answers and puts you on the list. The extra step is the point — it means nobody lands on this list, or gets mail from us, because someone else typed their email.
The web faucet is not open yet. The only faucet today is the one built into the node: a validator signs a mint of up to 100 RAND into a note for a shielded address, and it works on the local two-validator chain out of the box.
Join the list
Who you are, what you do, and the shielded address the grant should go to. Confirm the email from your inbox and your grant is fixed. The address is optional today: sign up again with the same email once you have one, and confirming that link attaches it.
Your answers, email, handle and address are stored on our own origin server and used only to decide and send the grant, to send this confirmation, and to notify you when the faucet opens. The email is passed to Resend, our mail provider, for delivery, and to no one else. A shielded address is public by design: it receives notes and reveals nothing about what it holds. The form is checked by Cloudflare Turnstile, which sees the request but is not sent your email; we use it rather than reCAPTCHA so that no visitor data goes to Google. Ask and we will delete your record.
Grant by contribution
highest role counts- Cryptography specialist 1,000 RAND
- Security researcher or auditor 750 RAND
- Computer scientist 500 RAND
- Protocol economist or mechanism designer 500 RAND
- Developer 250 RAND
- Node operator 250 RAND
- Technical writer 150 RAND
- Designer 150 RAND
- Influencer 100 RAND
- Translator 100 RAND
- Community organiser 100 RAND
- Early adopter 100 RAND
Tick every role that applies; the grant follows the highest one, and it is fixed the moment you confirm your email. We read every answer, and a grant that does not match the work described can be withheld.
Two million RAND, by contribution
reviewedTwo pools of 1,000,000 devnet RAND are set aside: one for the people who help with the initial design and implementation — cryptographers, security researchers, computer scientists, economists, developers, node operators, technical writers and designers — and one for the early adopters, influencers, translators and community organisers who bring people to it. Your answers are what we read to decide who gets what, so tell us what you actually do.
What happens at mainnet
rolls overFaucet grants will be rolled over to mainnet once mainnet-beta is live. Until then devnet RAND has no value, is not convertible and cannot be traded. Joining this list is not a presale: nothing is sold and nothing is paid.
Generate a shielded address
A Rand wallet is one 256-bit spend key. Everything else — the viewing key, the nullifier key, the ML-KEM-768 key that notes are sealed to, and the address itself — is derived from it. The wallet binary in the full node repository generates the key and prints the address; no running node is needed for either step.
The address is rand1 followed by about 1,660 characters of base58: the note-owner field plus the 1,184-byte encapsulation key. It is public by design. The key file is not, and it is the only copy: there is no recovery phrase in this release, and losing it loses every note it could open.
# 1. Rust (rustup picks up the pinned 1.98.1 toolchain)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 2. Clone the full node and build the wallet. The wallet crate has no RocksDB or
# libp2p dependency, so building it alone skips the node's C++ build deps
git clone https://github.com/randprotocol/fullnode.git
cd fullnode
cargo build --release -p rand-client # target/release/rand
# 3. Generate the spend key. Written to wallet.key.json, mode 0600; refuses to overwrite
target/release/rand keygen
# wrote wallet.key.json
# address: rand1x7Qk…
# 4. Print the address again any time, and paste the whole thing into the form above
target/release/rand address
target/release/rand address | pbcopy # macOS: straight to the clipboard
target/release/rand address | xclip -sel clip # Linux
Share the address, never the key
The form wants the rand1… string and nothing else. The key file is one JSON line holding the spend key; anyone who has it can spend every note the address ever receives. Back it up somewhere private and keep it at mode 0600, which is how the wallet writes it.
Try it locally first
With a full build, scripts/local-testnet.sh starts a two-validator chain on your machine, and rand faucet mints 100 RAND into a note only your key can open. The run-a-node page has the rest.
Nothing here is gated on the faucet
The devnet a grant would be spent on runs locally today, and the cryptography it exercises is in print. Neither waits on a queue.