Open source, ~300 lines of C. Your file never touches a network — only the cryptographic commitment is transmitted. Read every line before you compile.
commitment = SHA256( SHA256(file) || nonce ) — the file and nonce never leave your machine. Only the 64-character hex commitment is sent to the server.| Dependency | Ubuntu / Debian | Arch | macOS (Homebrew) |
|---|---|---|---|
| GCC | build-essential | base-devel | Xcode CLT |
| OpenSSL | libssl-dev | openssl | openssl |
| libcurl | libcurl4-openssl-dev | curl | curl |
| libqrencode | libqrencode-dev | qrencode | qrencode |
sudo apt update sudo apt install build-essential libssl-dev libcurl4-openssl-dev libqrencode-dev
sudo pacman -S base-devel openssl curl qrencode
xcode-select --install brew install openssl curl qrencode
Place client.c and Makefile in the same directory, then:
make
To install system-wide:
sudo make install # binary installed to /usr/local/bin/xrpl-timestamp
Hashes your file locally, generates a random nonce, submits only the commitment to the server, and waits for your 1 XRP payment via Xaman.
./xrpl-timestamp stamp contract.pdf
Recomputes the commitment from the file and the nonce in the receipt. Works entirely offline — no network call.
./xrpl-timestamp verify contract.pdf contract.pdf.receipt.json
Useful if the client was interrupted after payment but before the receipt was saved.
./xrpl-timestamp status 42
Saved automatically as <file>.receipt.json when the stamp completes.
To prove existence you need three things: the original file (unmodified), this receipt JSON, and the XRPL transaction — independently verifiable at livenet.xrpl.org.
Loading…
Loading…