penumbra-1 · maintained by Rotko Networks

Penumbra Validator Kit

Everything needed to bring a new validator onto the Penumbra mainnet: hardware, the pruned snapshot so you sync in an hour instead of a week, the exact commands, and the rules that get you jailed.

pd 2.0.9 current release (coordinated restart) CometBFT 0.37.18 required (reports itself as 0.37.16) APP_VERSION 11 Block time ~5 s Epoch 34,560 blocks (~2 days)
0

Requirements

Penumbra's own guidance is 2 to 4 vCPU, 8 GB RAM and ~200 GB of disk growing 20 GB a week. With the pruned snapshot and a pruned pd, the disk figure drops to about 100 GB growing roughly 2 GB a week. Disk latency matters more than CPU: the state store is RocksDB and a virtualized cloud SSD will make you fall behind.

CPU
4 vCPU 2 minimum
Memory
16 GB 8 GB minimum; the prune peaks at 4.7 GB
Disk
200 GB NVMe ~100 GB used after a pruned restore
OS
Debian stable x86_64 or arm64
Network
Public IPv4 26656/tcp inbound
File limit
LimitNOFILE=65536 default 1024 is fatal
PortServiceExposure
26656CometBFT P2PPublic. The only inbound port you need.
26657CometBFT RPCPrivate
26658pd ABCIPrivate, localhost only
8080pd gRPCPrivate unless you run an RPC service
9000, 26660MetricsPrivate
1

Stake and the rules

These are the live chain parameters for penumbra-1, read from state at height 12,562,477 on 2026-09-06. Amounts are in UM; the chain counts in upenumbra, one millionth of a UM.

ParameterValueWhat it means for you
Minimum validator stake100 UMYour validator needs at least this much delegated to it, self-delegation included, before it can be active.
Active set100Only the top 100 validators by voting power sign blocks and earn. Rank is recomputed every epoch.
Epoch34,560 blocksAbout 2 days. Delegations, rank changes and your activation take effect at the next epoch boundary.
Signed-blocks window10,000 blocksUptime is judged over a sliding window of about 14 hours.
Missed-blocks maximum9,500Miss more than this within the window and you are jailed. In practice, an outage longer than about 13 hours.
Unbonding delay120,960 blocksAbout 7 days for delegations to leave. Also the window in which past misbehaviour can still be punished.
Downtime penalty0.01%Applied once when you are jailed for missing blocks. Small, but you stop earning until you re-enable the validator with a new definition upload.
Misbehaviour penalty10%Double-signing slashes 10% of everything delegated to you and tombstones the validator. Never run the same consensus key on two machines.

Budget for the stake itself, a small amount for transaction fees, and one funding-stream decision: Penumbra has no flat commission. Your validator definition declares one or more streams, each a recipient address and a rate in basis points, and the rest flows to delegators.

2

Install pd and CometBFT

5 minutes

Releases come from penumbrafi/penumbra, built by GitHub Actions from the release tag; the checksum is in SHA256SUMS on the release page.

# pd 2.0.9, prebuilt for x86_64 Linux (arm64: build from the v2.0.9 tag)
curl -fsSL -o pd.tar.gz https://github.com/penumbrafi/penumbra/releases/download/v2.0.9/pd-recovery-2.0.9-x86_64-linux-gnu.tar.gz
tar xzf pd.tar.gz && sudo install -m 0755 pd-recovery-2.0.9-x86_64-linux-gnu/pd /usr/local/bin/pd
sha256sum /usr/local/bin/pd   # 3692343987fcc22987ade5a70ad80ffd9da8677e1ce103dd65052179f4976eb9
pd --version                   # pd 2.0.9
# CometBFT 0.37.18 (the binary prints 0.37.16; that is a known upstream bug)
curl -LO https://github.com/cometbft/cometbft/releases/download/v0.37.18/cometbft_0.37.18_linux_amd64.tar.gz
tar -xzf cometbft_0.37.18_linux_amd64.tar.gz cometbft
sudo install -m 0755 cometbft /usr/local/bin/cometbft

Do not run anything older than 0.37.18. It carries the fix for the critical January 2026 CometBFT advisory.

3

Join the network

1 minute

This generates the node directory under ~/.penumbra/network_data/node0, including your node key and consensus key, and fetches genesis and peers from an existing node.

pd network join \
  --moniker "your-validator-name" \
  --external-address "YOUR.PUBLIC.IP:26656" \
  https://penumbra.rotko.net

Then create the two systemd units. The file limit line is not optional.

# /etc/systemd/system/penumbra.service
[Unit]
Description=Penumbra daemon
After=network-online.target
[Service]
User=penumbra
ExecStart=/usr/local/bin/pd start --home /home/penumbra/.penumbra/network_data/node0/pd
Restart=on-failure
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target

# /etc/systemd/system/cometbft.service
[Unit]
Description=CometBFT
After=penumbra.service
Requires=penumbra.service
[Service]
User=penumbra
ExecStart=/usr/local/bin/cometbft start --home /home/penumbra/.penumbra/network_data/node0/cometbft
Restart=on-failure
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target

Do not start them yet. Restore the snapshot first, or you will replay the chain from the last upgrade height, which takes days.

4

Restore the pruned snapshot

~1 hour, mostly download

The snapshot is a pd state store already pruned to a single version plus CometBFT's block history since the last upgrade. It contains no keys and no node identity. Your own priv_validator_state.json must survive the restore, so it is moved aside and back.

Preferred: torrent. The torrent is seeded continuously by Rotko and by everyone who restored before you, and it carries our HTTPS host as a web seed, so it never has fewer sources than the plain download. Any client works; the commands use aria2c because it is non-interactive.

cd ~/.penumbra/network_data/node0
curl -LO https://snapshot.rotko.net/penumbra-1/latest/manifest.json
curl -LO "https://snapshot.rotko.net/penumbra-1/latest/$(jq -r .torrent manifest.json)"
aria2c --seed-time=0 --dir=. "$(jq -r .torrent manifest.json)"
# the torrent's piece hashes verify the download; the sha256 below is a second, independent check
sha256sum -c <(jq -r '"\(.sha256)  \(.file)"' manifest.json)

Or plain HTTPS, resumable with curl -C -:

curl -C - -LO "https://snapshot.rotko.net/penumbra-1/latest/$(jq -r .file manifest.json)"
sha256sum -c <(jq -r '"\(.sha256)  \(.file)"' manifest.json)

Then swap it in, keeping your own signing state:

mv cometbft/data/priv_validator_state.json /tmp/pvs.json
rm -rf pd/rocksdb cometbft/data
lz4 -dc "$(jq -r .file manifest.json)" | tar -xf -
mkdir -p cometbft/data && mv /tmp/pvs.json cometbft/data/

Leave your torrent client seeding afterwards if you can. That is how the next validator gets it quickly.

Verify against the chain, not against us

The manifest carries the snapshot height H and the pd root hash. That root hash is the app_hash in the header of block H+1, which any RPC will give you:

H=$(jq -r .height manifest.json)
curl -s "https://penumbra.rotko.net/block?height=$((H+1))" | jq -r .result.block.header.app_hash
jq -r .root_hash manifest.json
# the two lines must be identical (case-insensitive)
5

Run and verify

minutes to catch up
sudo chown -R penumbra:penumbra ~penumbra/.penumbra
sudo systemctl enable --now penumbra
sudo systemctl enable --now cometbft
journalctl -fu cometbft

The first CometBFT lines should read ABCI Handshake App Info height=H hash=<root hash> followed by Completed ABCI Handshake. Blocks then arrive from peers at a few hundred per minute until you reach the tip.

curl -s localhost:26657/status | jq '.result.sync_info | {latest_block_height, catching_up}'

You are synced when catching_up is false. Nothing you do in the next step matters until then.

6

Become a validator

2 days to activation

The wallet that owns the validator can live on a different machine from the node, and for a production validator it should. The identity key derived from that wallet is permanent; you cannot rotate it later. Choose custody accordingly.

# wallet for the validator identity (soft-kms is fine for testing; use threshold custody in production)
pcli init soft-kms generate
pcli view address 0
# fund this address with at least 100 UM plus a little for fees
pcli view balance
# build the definition from the node's consensus key
pcli validator definition template \
  --tendermint-validator-keyfile ~/.penumbra/network_data/node0/cometbft/config/priv_validator_key.json \
  --file validator.toml

Edit validator.toml: set enabled = true, fill name, website and description, and decide your funding streams. If pcli runs elsewhere, paste the value from the node's priv_validator_key.json into [consensus_key]. Then upload, find your identity, and self-delegate.

pcli validator definition upload --file validator.toml
pcli validator identity
pcli tx delegate 100penumbra --to penumbravalid1...
pcli query validator list --show-inactive

Your validator appears as inactive immediately and becomes active at the next epoch boundary if it ranks inside the top 100 by voting power. Every later change to the definition is the same upload with sequence_number incremented.

The one unrecoverable mistake

Two nodes with the same priv_validator_key.json will eventually double-sign. That is a 10% slash of all delegations and a permanent tombstone. Back the key up offline, never run it twice, and never restore a snapshot without keeping your own priv_validator_state.json.

7

Day two

Pruning your own node later

A node restored from this snapshot starts pruned: the snapshot’s state store is about 24 GB instead of the roughly 320 GB an unpruned node carries. To prune a node you already run, use pd migrate prune from pd v2.0.11; the binary is a drop-in for 2.0.9 and 2.0.10, with no migration and no coordination. Do not run v2.0.10’s pd migrate prune on post-restart state. It finished with the root hash unchanged but produced a node that read one of the validators disabled by the restart migration as still active, and panicked on its first block: the restart migration left three keys whose merkle leaf and value store disagree, and the 2.0.10 pruner replayed the tree over them. v2.0.11 detects those keys, preserves the value a node reads, and fingerprints every column family it did not rebuild in both databases before swapping anything in. Stop both cometbft and pd, run it as the pd user with ulimit -n 1048576, budget 1–4 hours and about 5 GB of RAM, then start pd before cometbft; the unpruned store is kept at rocksdb_old until you delete it. One validator at a time, and archive, RPC, indexer and snapshot-provider nodes stay unpruned.

Upgrades

Consensus upgrades are announced on the repository. Point releases in the same series are drop-in binary swaps with no coordination. The one exception is the coordinated restart release, pd 2.0.9, which every node must run through pd migrate-restart exactly as described in its runbook. A release with a new APP_VERSION halts the chain at a governance-set height and every node runs pd migrate; that migration deletes CometBFT block history by design, which is why the archive is kept separately.

Monitoring

Watch two numbers: your node's latest_block_height against a public RPC, and the missed-blocks counter for your identity in pcli query validator uptime. Alert well before 9,500.

Help

Issues and questions go to github.com/penumbrafi/penumbra. The public RPC is https://penumbra.rotko.net, which stays unpruned as the network's archive and relayer endpoint.

↓

Snapshots

Restart peer: a Rotko node already migrated to the restarted chain (pd 2.0.9, genesis at 12,598,602) accepts inbound p2p at 99e470d0ed8fd29f4a596731e3f077c7c3b5fc17@penumbra-peer.rotko.net:26656. Put it in persistent_peers when you restart; also served as plain text at penumbra-1/peers.txt. Restart instructions: RESTART-STEPS.md, release pd v2.0.9.

Restart done: penumbra-1 halted after height 12,598,600 on 2026-09-02 and was restarted by the validator community on 2026-09-07 at 05:33 UTC from a checkpoint genesis at 12,598,602 (pd v2.0.9). Noble’s IBC client was refreshed the same minute, so the USDC bridge stayed open. Live status: snapshot.rotko.net/restart. Validators not yet migrated: restore the 12598602 snapshot below over your own keys (no migrate step) and start pd 2.0.9.

Taken weekly from Rotko's archive node with a ZFS freeze, pruned on a clone, verified by starting a node on the result and syncing it live before publishing. Every snapshot is published as a torrent with the HTTPS file as a web seed, and Rotko seeds it permanently; seeding health is on status.rotko.net. Restore with the commands in step 4.

DateHeightGet itSizepd root hashsha256
2026-09-07 12598602
post-migration, restart genesis included
magnet · .torrent · https · manifest · genesis.json
infohash ec3b59cd91b1d9252c00b50d529e2dd6797aeca4
no migration needed: restore, keep your keys, start pd 2.0.9
21.7 GiB 1db72ab20c0babdb8696f361d5b08d790abd8032ac64d762b138ddc80f0f99f7 68bd4722a81ade5580ddcf2e5d71b1c68e9e02200c788bc086aafa817820ce1a
2026-09-06 12598600
halt height, pre-restart
magnet · .torrent · https
infohash 70cf1f5db855df68091b144138af3fee97e87b6d
86.1 GiB 6fd4f811f8e1fcc2c67d7ea2ccc75cef228acc2b9a738b8514c9e163c5cd859a 32a4042809e2bd9e01ae82174c97e81f647ca242e3e05be4505b955d6e32a8b0

Event index archives

For running your own explorer or pindexer without reindexing from genesis. Three PostgreSQL databases, each shared as its own archive so you only fetch the layer you need. Block coverage is stated per database; "genesis" means block 1.

DatabaseWhat it isBlocksGet itSize
cometbft_events Raw CometBFT event store as pd emits it (blocks, tx_results, events, attributes). Source for both derived indexes; regenerable with penumbra-reindexer. genesis → 12,598,600
dump pending; 12,598,601 is the synthetic migration block (no CometBFT block)
raw dump pending: 10,600,589 → 12,598,600 is being regenerated; until then use the interim tarball (cometbft_live 1 → 10,600,588)
magnet · .torrent · https
infohash f16bb5d1ac16e4408ddfda2e1adf82762d8eac14
sha256 32038f992f4b422aa6e8c58cd417ec1704a9522a0741344cb28b9e8dd3bf5f97
44 GB
logical
pindexer Penumbra's derived index: DEX candles and positions, supply, governance, IBC flows, stake. What dex.rotko.net reads. genesis → 12,598,600 magnet · .torrent · https
infohash a098a5232683bd53a52a158c6b7545b7d1d9e8cd
sha256 a2b5936eab7d99e9691d689c756ae9748fafef59dbbffb90047a2081b59df55b
1.92 GB
pg_dump, zstd
explorer_backend Explorer schema: block details, transaction summaries, validators, IBC clients and channels. What explorer.rotko.net reads. genesis → 12,598,600 magnet · .torrent · https
infohash ab5a141e7b81c6a7f1dc33c8431d7c562c815237
sha256 135a527870d3368d7468c32e3ed98378d921ef7ca7c0f68f189c6abc2af8e46c
4.61 GB
pg_dump, zstd

The per-database archives are pg_dump custom-format files (zstd-compressed) restorable into PostgreSQL 16 or newer: createdb pindexer && pg_restore -d pindexer --no-owner penumbra-1-pindexer-12598600.pgdump (same for explorer_backend), then point pindexer or the explorer backend at a live node's raw event database and let them follow the tip. All three end at 12,598,600, the last CometBFT block before the restart; 12,598,601 is the synthetic empty migration block executed by pd migrate (no CometBFT block, no events; the raw events database carries an empty blocks row for it so gap checks pass) and the chain resumes at 12,598,602. The raw events dump replaces the interim tarball once regeneration of 10,600,589 → 12,598,600 completes; the interim tarball is a PostgreSQL 18 data directory (top-level path postgresql/18/main). Details in penumbra-1/index/manifest.json.

Each snapshot lives at https://snapshot.rotko.net/penumbra-1/<height>/ with its manifest.json and .sha256 beside it, and penumbra-1/latest/ always points at the newest one, so the restore commands above never need editing. snapshots.rotko.net is an alias of the same host.

History archive

The complete penumbra-1 history, so anyone can rebuild a full node, the raw event index, pindexer or an explorer from genesis without depending on any live node. Penumbra's checkpoint upgrades (and the 2026-09 restart) delete the previous CometBFT block store: per boundary you need the block archive of the ending era, the state at the boundary and the next genesis. Read history/README.md for the era model and the exact penumbra-reindexer commands (penumbrafi/reindexer); machine-readable list in history/manifest.json. Height 12,598,601 is the synthetic migration block (no CometBFT block).

FileWhat it isCoverageGet itSize
penumbra-1-blocks-1-12598600.sqlite.zstpenumbra-reindexer sqlite archive (zstd). The single input needed to regenerate the raw event index from genesis to the halt.blocks 1 → 12,598,600 (all eras, gap-free), geneses of eras 1–5 embeddedmagnet · .torrent · https
infohash eea77b32e2740ed96f39fe1d0bd3c688ce2f1164
sha256 4e637f980f743f3d18779eb37eed0898f0cb17342418c89482c31e34433ae863
45.80 GB
penumbra-1_pruned_12598600.tar.lz4Pre-migration pd rocksdb (pruned) + CometBFT data of era 5. Listed here, stored under 12598600/.pd state at 12,598,600 (last block before the restart migration), root 6fd4f811f8e1fcc2…magnet · .torrent · https
infohash 70cf1f5db855df68091b144138af3fee97e87b6d
sha256 32a4042809e2bd9e01ae82174c97e81f647ca242e3e05be4505b955d6e32a8b0
92.41 GB
penumbra-1_pruned_12598602_migrated.tar.lz4Post-migration pd rocksdb (pruned) + restart genesis. Start of era 6.pd state at 12,598,601/12,598,602 (post migrate-restart), root 1db72ab20c0babdb…magnet · .torrent · https
infohash ec3b59cd91b1d9252c00b50d529e2dd6797aeca4
sha256 68bd4722a81ade5580ddcf2e5d71b1c68e9e02200c788bc086aafa817820ce1a
23.30 GB
genesis.jsonRestart checkpoint genesis (app_hash 1db72ab2…), standalone copy.era 6 genesis, initial_height 12,598,602https
sha256 c099ccb02a2136d5071fb22b1511eeec1588ad09676e0a0532d072f28b433ed4
539 B
cometbft-dbdump-height-3141978.dumpPenumbra Labs CometBFT psql-indexer database dump.raw CometBFT events 1 → 3,141,978magnet · .torrent · https
infohash 5f3c4552c5b8b3b6bca0fb0bcdf4847a5e03b7e2
sha256 b31e16f098102761670c930a1f5497c569601544f3820ea0271c151af95fb65c
2.80 GB
cometbft-dbdump-height-4918788.dumpPenumbra Labs CometBFT psql-indexer database dump.raw CometBFT events 1 → 4,918,788magnet · .torrent · https
infohash 01cd5adf36883ca21abd67e7a38e95578752cfff
sha256 e7b204fc1c95c9a9aa2ab3c745a0423311f365a88ea19df540e3aabcfd7196a5
4.89 GB
cometbft-dbdump-height-5718233.dumpPenumbra Labs CometBFT psql-indexer database dump.raw CometBFT events 1 → 5,718,233magnet · .torrent · https
infohash 941f5aab806cbc7fa320c5b2c53ff2bca924924d
sha256 0491c48a952877aa3911b5e938d889e5d6dd0d478a69680a4967d0e3beff666e
5.34 GB
cometbft-dbdump-height-5911271.dumpPenumbra Labs CometBFT psql-indexer database dump.raw CometBFT events 1 → 5,911,271magnet · .torrent · https
infohash 032123ff64b7b88d3b1660faf834f1b8e9d577a2
sha256 53cbb9813d5950f0a7927633add97e6199fd4fb76f16ebaddc99b8b096b27a67
5.48 GB
cometbft-dbdump-height-6272669.dumpPenumbra Labs CometBFT psql-indexer database dump.raw CometBFT events 1 → 6,272,669magnet · .torrent · https
infohash d52e5bc5715f1de8c594d3143d0eb732f70fe890
sha256 cd16cbc6897083ddf0f87ba4577fc596501e3c3cfdcdb2a3f8386b7f016e204b
5.72 GB
cometbft-dbdump-height-6493154.dumpPenumbra Labs CometBFT psql-indexer database dump.raw CometBFT events 1 → 6,493,154magnet · .torrent · https
infohash f6f76533e1504c0b59f63d4b97aeba9ab70067b1
sha256 7f810eea1645037ac596ffdf5e29022b117ee2ba65e4ed9fd3525cd4e7e573e1
5.80 GB
cometbft-dbdump-height-6605196.dumpPenumbra Labs CometBFT psql-indexer database dump.raw CometBFT events 1 → 6,605,196magnet · .torrent · https
infohash e64c048824474cd6a15aabbb9ba3ebd29a50f4e1
sha256 f1176995e6ff8ca5d1d7c5aafe2cf256e9b10daa29a0f62b86b5cc365ef7ce76
5.84 GB
genesis-0.jsonGenesis of era 1 (full genesis content).era 1 genesis, initial_height 1magnet · .torrent · https
infohash 2afd6726efdb56a221f8875d24854225bd876b46
sha256 8d5dfd484c2347a2641b5c2625af15b46eda1537f0345320109ad961fb66caad
9.6 MB
genesis-1.jsonGenesis of era 2 (checkpoint genesis written by pd migrate).era 2 genesis, initial_height 501,975magnet · .torrent · https
infohash f6846fb19978801af168712cc146801345b77706
sha256 fa9ff26f3800c0986570dc25fb144993143ef158b5fcebe3948bd3c50157da87
644 B
genesis-2.jsonGenesis of era 3 (checkpoint genesis written by pd migrate).era 3 genesis, initial_height 2,611,800magnet · .torrent · https
infohash f3aa5646332ca2a412fbbf6dba4fa10f28791700
sha256 d1b5a17aa466d23798e376699b3694b7c9564adb835811cb6fdd02eb01cbd572
645 B
genesis-3.jsonGenesis of era 4 (checkpoint genesis written by pd migrate).era 4 genesis, initial_height 4,378,762magnet · .torrent · https
infohash 3ca4c21187d4eaadf9dbec0520fd055c4de5caf7
sha256 6bb6b2e14f27b641fb491fcf2f4240b425e23b692285852c106c2d7b3383e7b4
710 B
genesis-4.jsonGenesis of era 5 (checkpoint genesis written by pd migrate).era 5 genesis, initial_height 5,480,873magnet · .torrent · https
infohash e8ee9a571f867b30eb5adcd96bc4f90e32ed3cbd
sha256 463d9e62316063fb3837bf9d8ac22c6829d4d6598dc89ef2411ac719a485745b
716 B
penumbra-node-archive-height-2498523.tar.gzPenumbra Labs node archive (pd rocksdb + cometbft data) — usable as a reindexer working dir from this height.pd + CometBFT state at height 2,498,523 (intermediate, era v0.80)magnet · .torrent · https
infohash c0a5d7e261f83688f191dd77df60e7564f9255c4
sha256 9f49b4743c62209342d894835ab49a9186785d1d26a57d46622f55237a8f9b46
82.81 GB
penumbra-node-archive-height-2563151.tar.gzPenumbra Labs node archive (pd rocksdb + cometbft data) — usable as a reindexer working dir from this height.pd + CometBFT state at height 2,563,151 (intermediate, era v0.80)magnet · .torrent · https
infohash 3ff2fa13cfc704b8047961f9be01753e76e4e039
sha256 3faa9c9f4498f3ee8fe9a5b4450714fa7a4d02112d3b7d1a51ff5b51e9cc1025
85.74 GB
penumbra-node-archive-height-2611800-post-upgrade.tar.gzPenumbra Labs node archive (pd rocksdb + cometbft data) — usable as a reindexer working dir from this height.pd + CometBFT state at height 2,611,800 (post-upgrade boundary (first block of the next era), era v1.3)magnet · .torrent · https
infohash 286e3ffae0147ff3624ef39a98fc6a657a6962ee
sha256 7f328e17c7bc2b17207ddbb2b49028ee4fb0bd05468a59bd5850428de37a902f
54.10 GB
penumbra-node-archive-height-2611800-pre-upgrade-no-genesis.tar.gzPenumbra Labs node archive (pd rocksdb + cometbft data) — usable as a reindexer working dir from this height.pd + CometBFT state at height 2,611,800 (pre-upgrade boundary, era v1.3)magnet · .torrent · https
infohash a3d020bb8c2d4e0732cdf1eebfeafb50a5bd8c5c
sha256 66e08e5d527607891136bddd9df768b8fd0ba8c7d57d0b6dc27976cc5a8fbbbb
86.90 GB
penumbra-node-archive-height-2611800-pre-upgrade.tar.gzPenumbra Labs node archive (pd rocksdb + cometbft data) — usable as a reindexer working dir from this height.pd + CometBFT state at height 2,611,800 (pre-upgrade boundary, era v1.3)magnet · .torrent · https
infohash f97b4e29a55f6969ddd27471f8cb119c7f65be69
sha256 66e08e5d527607891136bddd9df768b8fd0ba8c7d57d0b6dc27976cc5a8fbbbb
86.90 GB
penumbra-node-archive-height-2622918.tar.gzPenumbra Labs node archive (pd rocksdb + cometbft data) — usable as a reindexer working dir from this height.pd + CometBFT state at height 2,622,918 (intermediate, era v1.3)magnet · .torrent · https
infohash c11619da69e58cf0ea503bef2d9dddc6de971dd2
sha256 e0f61ad81745e62a9543eb2b643f1bd5eeed759debe2fd2537848535f54c2929
54.83 GB
penumbra-node-archive-height-4363271.tar.gzPenumbra Labs node archive (pd rocksdb + cometbft data) — usable as a reindexer working dir from this height.pd + CometBFT state at height 4,363,271 (intermediate, era v1.3)magnet · .torrent · https
infohash 2ba552742a7a3bb54d7b3b06de50ce6c682c39ab
sha256 c63bf525db28f06aea1a8201caaa9c54784a39a8bfcc17035dfe9adba0709560
113.48 GB
penumbra-node-archive-height-4378762-post-upgrade.tar.gzPenumbra Labs node archive (pd rocksdb + cometbft data) — usable as a reindexer working dir from this height.pd + CometBFT state at height 4,378,762 (post-upgrade boundary (first block of the next era), era v1.4)magnet · .torrent · https
infohash 50cb073af2ee3f09311058d326d8dd3fb36fcb24
sha256 5766122301b29ef3280a94c67e4a11d761c9b2e208fe5d2fa8c69c76d308da76
89.98 GB
penumbra-node-archive-height-4378762-pre-upgrade.tar.gzPenumbra Labs node archive (pd rocksdb + cometbft data) — usable as a reindexer working dir from this height.pd + CometBFT state at height 4,378,762 (pre-upgrade boundary, era v1.4)magnet · .torrent · https
infohash 164f9a264be09892592368b2135aa9fd580f7d56
sha256 9840c4d0c93a928412fc55faa6edfe69faa19aac662cc133d6a45c64d1e0062c
112.66 GB
penumbra-node-archive-height-4504015.tar.gzPenumbra Labs node archive (pd rocksdb + cometbft data) — usable as a reindexer working dir from this height.pd + CometBFT state at height 4,504,015 (intermediate, era v1.4)magnet · .torrent · https
infohash 01894a36515d61e27caaf43b9380e2306d385955
sha256 b2b65fbc25e8e4341f5858a5b30139cbd5ed04875ae67b8262d9a19a541bdec4
97.30 GB
penumbra-node-archive-height-4836782.tar.gzPenumbra Labs node archive (pd rocksdb + cometbft data) — usable as a reindexer working dir from this height.pd + CometBFT state at height 4,836,782 (intermediate, era v1.4)magnet · .torrent · https
infohash 3993801dc88d9084fd933801ec54b6ea41db620c
sha256 ffce4cfc5d783f0fc06645c4049b7affb8207b70e68012c9b33b46d108cdf996
107.36 GB
penumbra-node-archive-height-501974-pre-upgrade.tar.gzPenumbra Labs node archive (pd rocksdb + cometbft data) — usable as a reindexer working dir from this height.pd + CometBFT state at height 501,974 (pre-upgrade boundary, era v0.79)magnet · .torrent · https
infohash 5138d48d571853e41d7e66a0d0f445d621eba04c
sha256 146462ee5c01fba5d13923ef20cec4a121cc58da37d61f04ce7ee41328d2cbd0
19.62 GB
penumbra-node-archive-height-5416341.tar.gzPenumbra Labs node archive (pd rocksdb + cometbft data) — usable as a reindexer working dir from this height.pd + CometBFT state at height 5,416,341 (intermediate, era v1.4)magnet · .torrent · https
infohash 32fc634cc2fc3cfabefdadfb1ee535b46d4fcd5d
sha256 f06175e1f54cc52ba4f5aac2a2f4609a9dfa93acb8148b6e212d21fbf3d4ad7d
124.59 GB
penumbra-node-archive-height-5480873-post-upgrade.tar.gzPenumbra Labs node archive (pd rocksdb + cometbft data) — usable as a reindexer working dir from this height.pd + CometBFT state at height 5,480,873 (post-upgrade boundary (first block of the next era), era v2.0.x)magnet · .torrent · https
infohash 1128a7525099e34b8c05674c966588675d72a3e5
sha256 ee1a516e277026bf66af41f92c4ede708b984b846700f715bbbb819e7ccdfdde
110.80 GB
penumbra-node-archive-height-5480873-pre-upgrade.tar.gzPenumbra Labs node archive (pd rocksdb + cometbft data) — usable as a reindexer working dir from this height.pd + CometBFT state at height 5,480,873 (pre-upgrade boundary, era v2.0.x)magnet · .torrent · https
infohash 04ec25f1a4cd7dd3d09abfe517a75a8f723b0c53
sha256 e83a2e8925dc1a6a4461ac5ce09ed1c68e451444e1854606de8b0d23d6482510
124.51 GB
penumbra-node-archive-height-5830749.tar.gzPenumbra Labs node archive (pd rocksdb + cometbft data) — usable as a reindexer working dir from this height.pd + CometBFT state at height 5,830,749 (intermediate, era v2.0.x)magnet · .torrent · https
infohash be777b829a7eb45918d0c4e3f55da0e9304dab36
sha256 9654d5c914bb6142fbc10fe8205033fa267438d3bd5aec94619fb16db11ee7a2
124.75 GB
penumbra-node-archive-height-6272124.tar.gzPenumbra Labs node archive (pd rocksdb + cometbft data) — usable as a reindexer working dir from this height.pd + CometBFT state at height 6,272,124 (intermediate, era v2.0.x)magnet · .torrent · https
infohash c112ee5a490837d69d79361205d584b376ee4ff9
sha256 5ec5c289b7f446384a0d79446f48e81500eabac0f402af3d53ac6d3d7c46f19f
141.24 GB
penumbra-node-archive-height-6526526.tar.gzPenumbra Labs node archive (pd rocksdb + cometbft data) — usable as a reindexer working dir from this height.pd + CometBFT state at height 6,526,526 (intermediate, era v2.0.x)copying / torrent pending147.19 GB
penumbra-node-archive-height-6604468.tar.gzPenumbra Labs node archive (pd rocksdb + cometbft data) — usable as a reindexer working dir from this height.pd + CometBFT state at height 6,604,468 (intermediate, era v2.0.x)magnet · .torrent · https
infohash 760e155aac697b08172c5ac3298bd500b1a98d88
sha256 17baee2eacc44cce7769c5e5f4755b393d4b83947bf114672d79e8e88f4e50ba
149.72 GB
penumbra-node-archive-height-7753418.tar.gzPenumbra Labs node archive (pd rocksdb + cometbft data) — usable as a reindexer working dir from this height.pd + CometBFT state at height 7,753,418 (intermediate, era v2.0.x)magnet · .torrent · https
infohash c04cecc08dbe8d477cc7941132029b0cdd85bf3b
sha256 abfef2fe4d0710e5d437e53627525c35bf11f2d8e19ab46b31b593697962e4fa
185.08 GB
penumbra-node-archive-height-8383327.tar.gzPenumbra Labs node archive (pd rocksdb + cometbft data) — usable as a reindexer working dir from this height.pd + CometBFT state at height 8,383,327 (intermediate, era v2.0.x)magnet · .torrent · https
infohash a045676c1a05e9ee7e42c5dcd6d43f3796e251f7
sha256 494d3f7b699eda3857f245132c8a090b21cbd222329a5916bfddc781f8ecc732
199.32 GB
penumbra-node-archive-height-9281173.tar.gzPenumbra Labs node archive (pd rocksdb + cometbft data) — usable as a reindexer working dir from this height.pd + CometBFT state at height 9,281,173 (intermediate, era v2.0.x)magnet · .torrent · https
infohash a2ea92552af42a1d50813fba3b59f9d76194f4d8
sha256 6191fc037d8de77299d97bf1b10b1239a6f7e2954b51dbfc1b6d8b8bf656fe35
224.25 GB
penumbra-node-archive-height-9622060.tar.gzPenumbra Labs node archive (pd rocksdb + cometbft data) — usable as a reindexer working dir from this height.pd + CometBFT state at height 9,622,060 (intermediate, era v2.0.x)magnet · .torrent · https
infohash 9ceb59118c05fb0d1f3f3973d30ed224400e77de
sha256 35980b04edf64e04e2074cb06683c5abc1ee7db8bcae165e92f0b8074bb3b620
233.57 GB
penumbra-node-sanitized-archive-height-1800109.tar.gzPenumbra Labs node archive (pd rocksdb + cometbft data) — usable as a reindexer working dir from this height.pd + CometBFT state at height 1,800,109 (intermediate, era v0.80)magnet · .torrent · https
infohash 018521a125ea6f32397186a6818e02e304116fb0
sha256 76ac44d07fc735a9e1ad54471eb60a9f3ad18caa02894b563985d12c2e5fcbdc
57.50 GB
penumbra_2367744-via-polkachu.tar.lz4Node snapshot obtained via Polkachu.pd + CometBFT state at height 2367744magnet · .torrent · https
infohash e945d3ec60a526c0e54dd9d41c342e5c2cc258cd
sha256 a01654ed648b57d724cb12a1269860efd0aabb7612cacd7d334380c89348c684
92.05 GB
pindexer-dbdump-height-3381337.dumpPenumbra Labs pindexer database dump.pindexer index 1 → 3,381,337magnet · .torrent · https
infohash 0b2a25548fd6334e4d6a998d910bbcdf5aa15d83
sha256 e860d04703c83713c1620f66d80329094f6d1de3bbeae2ceb91d935992d43455
0.29 GB
pindexer-dbdump-height-5367267.dumpPenumbra Labs pindexer database dump.pindexer index 1 → 5,367,267magnet · .torrent · https
infohash 5e83debdc7a17e08cf74d407139d659820fdd2f0
sha256 0b9135ec0ab0390f671736898eb045b536a9109f485205b116f2f0d809e0b514
1.90 GB
pindexer-dbdump-height-5830768.dumpPenumbra Labs pindexer database dump.pindexer index 1 → 5,830,768magnet · .torrent · https
infohash fbad8dcd2c8c97aea725637749637eef3236c2c3
sha256 8917bd248e3ddb9b08f2af1a34243fc905a7cb3c4580eb0ee6115a1c68848d7b
1.98 GB
pindexer-dbdump-height-5911238.dumpPenumbra Labs pindexer database dump.pindexer index 1 → 5,911,238magnet · .torrent · https
infohash 0c5d42a3ef5fa6b076f0a3e19f8f0800e0ad378d
sha256 176b2e5e4c4ef6e8c4d9cce18a5af5866f53d2620f58213d73feb5e10aa4ca3d
2.00 GB
pindexer-dbdump-height-6272639.dumpPenumbra Labs pindexer database dump.pindexer index 1 → 6,272,639magnet · .torrent · https
infohash e10be20a848646a804ed530f5de492ad18fe2971
sha256 6d696d138ae2ded9c3b9ad951a0df830c35e232e0ce7632fe4687883145487da
2.08 GB
pindexer-dbdump-height-6493117.dumpPenumbra Labs pindexer database dump.pindexer index 1 → 6,493,117magnet · .torrent · https
infohash c70174753641c5f0a4eda09e27c5bcb914ed3cdb
sha256 b14e2e90ef896eff63166fb3a4107a5d0bcb6e8703c14457e35a48a6e0891e3f
2.11 GB
pindexer-dbdump-height-6589245.dumpPenumbra Labs pindexer database dump.pindexer index 1 → 6,589,245magnet · .torrent · https
infohash 3cda06c2f0db5a0feb7d6e5fcecd7e867d547586
sha256 f834dff7e1667d896cd963f3dc1acf96ca8854b9ab6d889c650ad2e65cccd4b6
2.12 GB
reindexer-archive-height-5830200.sqlite.gzPenumbra Labs reindexer sqlite archive (.gz). Superseded by the merged 1 → 12,598,600 archive; kept for provenance.blocks 1 → 5,830,200magnet · .torrent · https
infohash d95d278e2aa2f705eb691568b8c125a32c91ba3b
sha256 7cce182e463bc058e63e72b17dabdab5fa47bd45cfb38c2b9df96e7f7a82bc42
28.84 GB
reindexer-archive-height-6493304.sqlitePenumbra Labs reindexer sqlite archive. Superseded by the merged 1 → 12,598,600 archive; kept for provenance.blocks 1 → 6,493,304magnet · .torrent · https
infohash eaf2a99d90857c334722db3bf183c1e94208f55e
sha256 ec79118e3cacffe9ad857a6f618e1c7955eecbcaf1aaf0ed20eaa671fbcc6057
9.23 GB
reindexer-archive-height-8535185-LIVE.sqlitePenumbra Labs reindexer sqlite archive. Superseded by the merged 1 → 12,598,600 archive; kept for provenance.blocks 1 → 8,535,185magnet · .torrent · https
infohash 67bcab78b105716f133dedbef14470c6ba1e1cb9
sha256 37d9108b427538dc348b1260885467f540c935f2b02fee9aae986b7bd1990c39
84.61 GB
reindexer-archive-height-8535185.sqlitePenumbra Labs reindexer sqlite archive. Superseded by the merged 1 → 12,598,600 archive; kept for provenance.blocks 1 → 8,535,185magnet · .torrent · https
infohash 096d63a65daf762db819acf6fee79b87b9496e99
sha256 e9e47994a9f20258d83b343544901d6b10422715bda7968461e3279e2d2cb17b
62.85 GB
reindexer_archive-height-1703224.sqlitePenumbra Labs reindexer sqlite archive. Superseded by the merged 1 → 12,598,600 archive; kept for provenance.blocks 1 → 1,703,224magnet · .torrent · https
infohash ba69ad79b79bb312a66c85355b43d87e242f6770
sha256 57e651b59aa365ea5c94d488bf69011428aee1998d41aa5b07b775cf093ed161
14.69 GB
reindexer_archive-height-3349091.sqlitePenumbra Labs reindexer sqlite archive. Superseded by the merged 1 → 12,598,600 archive; kept for provenance.blocks 1 → 3,349,091magnet · .torrent · https
infohash 20cf27e2b96b8439d9e9c6d968981f7528a68c6c
sha256 7a4cd629c93c56c2c697f4a6e0233524b32e10102ae842aae49b64d993aba23c
28.09 GB
reindexer_archive-height-4363271.sqlitePenumbra Labs reindexer sqlite archive. Superseded by the merged 1 → 12,598,600 archive; kept for provenance.blocks 1 → 4,363,271magnet · .torrent · https
infohash c89a5974a87e6dbb3bff49ddd0b7a2dde432068a
sha256 0d77a84fd5d3eb80fe60f4714ba2968775d3b912235d9811b496ecc80eeeb3f3
36.71 GB
reindexer_archive-height-4378761-pre-upgrade.sqlitePenumbra Labs reindexer sqlite archive. Superseded by the merged 1 → 12,598,600 archive; kept for provenance.blocks 1 → 4,378,761 (last block before the upgrade)magnet · .torrent · https
infohash 764c9d74ecb57ac25ad043aca3e347f5b980dd57
sha256 3ee3bd83f1c7cb503c9a487cca05035819fc64c53ade0fe6c3fe4be6981e7feb
36.84 GB
reindexer_archive-height-501974.sqlitePenumbra Labs reindexer sqlite archive. Superseded by the merged 1 → 12,598,600 archive; kept for provenance.blocks 1 → 501,974magnet · .torrent · https
infohash f88b55c61e749516e87be3d155dc66369cd324d9
sha256 33dbf1e11484c30dc76b602f169aecaa5b65bad1b2d10be0745146e33c3a237e
4.32 GB
reindexer_archive-height-5480873-pre-upgrade.sqlitePenumbra Labs reindexer sqlite archive. Superseded by the merged 1 → 12,598,600 archive; kept for provenance.blocks 1 → 5,480,873 (last block before the upgrade)magnet · .torrent · https
infohash a5fa8668c6642e21c578fcb84cc4ded324d88806
sha256 d6ccffaebe9f59bc8a539cde182cd9f678364085d5ebf44341003208e225bdda
45.83 GB
reindexer_archive-height-8535185.sqlitePenumbra Labs reindexer sqlite archive. Superseded by the merged 1 → 12,598,600 archive; kept for provenance.blocks 1 → 8,535,185magnet · .torrent · https
infohash 178c9f09fe385c8939c2696e1ddf3cd881de0e60
sha256 8a3da6092ecf1fbc563e4dfe0bdc79ac22881299d8325e40229179aca6327eb0
36864 B
penumbra-1-blocks-12598602-12689013.sqlite.zstpenumbra-reindexer sqlite archive of the post-restart era (zstd), taken weekly from Rotko's unpruned archive node. Replay from the 12598602 post-migration state.era 6: blocks 12,598,602 → 12,689,013 (post-restart, rolling; updated 2026-10-04)magnet · .torrent · https
infohash a8025c0c3a89c60fe30924f9dc74b57b673da66c
sha256 d57743477e530883d68eded9c3a0b93ded17a580261ce8e1be6da2ea0f8cf8ac
98.6 MB
pindexer-12689013.pgdumpWeekly pg_dump of pindexer (custom format, zstd), restorable with pg_restore --no-owner.pindexer: blocks 1 → 12,689,013 (weekly, latest two kept)https
sha256 67401ce21e69e418951ab069e5a3a7bec21ca8d12b7076ad1753018c4db08f26
1.94 GB
explorer_backend-12689013.pgdumpWeekly pg_dump of explorer_backend (custom format, zstd), restorable with pg_restore --no-owner.explorer_backend: blocks 1 → 12,689,013 (weekly, latest two kept)https
sha256 e05c042ddede04973aac81b2b4f5a477ed23741db454afa98c8f3e687e9bb8c2
4.66 GB
penumbra-1-cometbft-events-12598600.pgdumpRaw CometBFT psql-indexer schema (blocks, tx_results, events, attributes) as emitted by pd; regenerated with penumbra-reindexer; source for pindexer and the explorer backend.cometbft_events: blocks 1 → 12,598,600pending: regenerating 10600589..12598600, currently contiguous 1..10600588—
penumbra-1-pindexer-12598600.pgdumppindexer 2.1.x derived index (DEX candles/positions, supply, insights, governance, IBC, stake, LQT); every index_watermarks row at 12598600.pindexer: blocks 1 → 12,598,600magnet · .torrent · https
infohash a098a5232683bd53a52a158c6b7545b7d1d9e8cd
sha256 a2b5936eab7d99e9691d689c756ae9748fafef59dbbffb90047a2081b59df55b
1.92 GB
penumbra-1-explorer_backend-12598600.pgdumppenumbra-explorer-backend schema (explorer_block_details, explorer_transactions, validators, dex_*, ibc_*, governance_*); watermark explorer at 12598600.explorer_backend: blocks 1 → 12,598,600magnet · .torrent · https
infohash ab5a141e7b81c6a7f1dc33c8431d7c562c815237
sha256 135a527870d3368d7468c32e3ed98378d921ef7ca7c0f68f189c6abc2af8e46c
4.61 GB