por CLIUnified Proof-of-Reserves command-line tool. Implementation lives in internal/porcli, internal/porrun, internal/porfetch, internal/porprobe.
| Command | Purpose |
|---|---|
por anchor |
fetch → verify → bundles → anchor calldata |
por verify |
re-verify cached artifacts |
por fetch gateio\|okx\|mexc\|… |
archive-only download |
por exchanges [id] |
Official PoR pages + GitHub repos (config/exchanges/registry.yaml) |
por probe rpc\|tron\|… |
Binance regression / RPC diagnostics |
go build -o por ./cmd/por
./por anchor -exchange binance
./por anchor -exchange binance --skip-zip
./por verify -snapshot PR01JUN26
./por fetch gateio
./por probe rpc -network BSC -chainlist
./por exchanges
./por exchanges okx
Shell wrapper: ./scripts/por.sh anchor -exchange okx
Legacy ./scripts/por-run.sh and ./scripts/por-fetch.sh forward to the same binary.
See verifier-architecture.md for verifier matrix and verdict semantics.
cast send for the operator)Load API keys before por verify when using paid or quota-backed providers. Full chain-by-chain notes: ledger-rpc-runbook.md.
| Variable | Purpose |
|---|---|
INFURA_KEY / ALCHEMY_KEY |
ETH archive RPC in config/rpc-providers.json |
BLOCKCHAIR_API_KEY |
BCH/BTC/ZEC historical UTXO via Blockchair state= |
HELIUS_API_KEY |
Solana historical slot |
NEAR_RPC / NEAR_RPC_FALLBACK |
NEAR archival + failover |
CHROMIA_NODE |
Chromia postchain query base URL |
Example:
source ~/.zshenv
go run ./cmd/por verify -exchange binance -snapshot PR01JUN26 \
-artifacts ./artifacts/binance/PR01JUN26
After anchoring (schema v3+), read snapshot records directly from the proxy contract — no log scan required. Full query guide: anchor-query-api.md (view functions, cast / ethers.js examples, pre-v3 event queries, bundle verification loop).