Private information retrieval

The server answers. It never learns the question.

Type any Ethereum address. Your browser encrypts the lookup, the server computes over every account it holds, and only your browser can read the answer. The address you type never leaves this page — in any form.

01 One-time setup

  1. Cryptographic engine WebAssembly, built from the same Rust as the CLI client
  2. Hint download one public matrix, identical for every visitor — it carries nothing about you
  3. Pin to a finalized block expanded locally, so every answer is labelled with the block it is as of
0%

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.

Addresses transmitted none — not hashed, not truncated, not encrypted-for-them

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.