01 One-time setup
- Cryptographic engine WebAssembly, built from the same Rust as the CLI client
- Hint download one public matrix, identical for every visitor — it carries nothing about you
- Pin to a finalized block expanded locally, so every answer is labelled with the block it is as of
Fetching the cryptographic engine…
03 This deployment
02 What the server will see
Only ciphertext crosses the wire — this fills in after your first lookup.
The server computed over every account it holds and returned a response only this page can decrypt. It saw ciphertext, byte counts, and timing — and, like any web server, the IP address it spoke to (see 04 below). The address you typed is not in the list above, in any form.
04 What this does not protect
The code you are running
This page and its WebAssembly came from the same server you are querying. PIR stops that
server from learning your address if the client is honest — but whoever serves the
page chooses what the client is. For a stronger guarantee, run the client yourself:
risepir-rpc client --pir-url … puts the same rewind client on your own
machine, and the wasm here is built from that same Rust.
Who is asking
The cryptography hides which account, not who wants to know. The server sees your IP address, the time, and how often you ask. Use Tor (or any anonymising transport) if that matters to you; this client works fine over one.
Freshness
Answers are as of the latest finalized block, roughly 13 minutes behind what a block explorer shows. That is deliberate: finalized blocks do not reorganise, so an answer cannot be quietly invalidated. A balance that changed in the last few minutes will not appear yet.